0001
0002
0003
0004
0005
0006 #ifndef __SOC_BUS_H
0007 #define __SOC_BUS_H
0008
0009 #include <linux/device.h>
0010
0011 struct soc_device_attribute {
0012 const char *machine;
0013 const char *family;
0014 const char *revision;
0015 const char *serial_number;
0016 const char *soc_id;
0017 const void *data;
0018 const struct attribute_group *custom_attr_group;
0019 };
0020
0021
0022
0023
0024
0025 struct soc_device *soc_device_register(
0026 struct soc_device_attribute *soc_plat_dev_attr);
0027
0028
0029
0030
0031
0032 void soc_device_unregister(struct soc_device *soc_dev);
0033
0034
0035
0036
0037
0038 struct device *soc_device_to_device(struct soc_device *soc);
0039
0040 #ifdef CONFIG_SOC_BUS
0041 const struct soc_device_attribute *soc_device_match(
0042 const struct soc_device_attribute *matches);
0043 #else
0044 static inline const struct soc_device_attribute *soc_device_match(
0045 const struct soc_device_attribute *matches) { return NULL; }
0046 #endif
0047
0048 #endif