aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mod_devicetable.h9
-rw-r--r--include/linux/platform_device.h6
2 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index fde86671f48f..1bf5900ffe43 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -454,4 +454,13 @@ struct dmi_system_id {
454 454
455#define DMI_MATCH(a, b) { a, b } 455#define DMI_MATCH(a, b) { a, b }
456 456
457#define PLATFORM_NAME_SIZE 20
458#define PLATFORM_MODULE_PREFIX "platform:"
459
460struct platform_device_id {
461 char name[PLATFORM_NAME_SIZE];
462 kernel_ulong_t driver_data
463 __attribute__((aligned(sizeof(kernel_ulong_t))));
464};
465
457#endif /* LINUX_MOD_DEVICETABLE_H */ 466#endif /* LINUX_MOD_DEVICETABLE_H */
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index 9a342699c607..76aef7be32ab 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -12,6 +12,7 @@
12#define _PLATFORM_DEVICE_H_ 12#define _PLATFORM_DEVICE_H_
13 13
14#include <linux/device.h> 14#include <linux/device.h>
15#include <linux/mod_devicetable.h>
15 16
16struct platform_device { 17struct platform_device {
17 const char * name; 18 const char * name;
@@ -19,8 +20,12 @@ struct platform_device {
19 struct device dev; 20 struct device dev;
20 u32 num_resources; 21 u32 num_resources;
21 struct resource * resource; 22 struct resource * resource;
23
24 struct platform_device_id *id_entry;
22}; 25};
23 26
27#define platform_get_device_id(pdev) ((pdev)->id_entry)
28
24#define to_platform_device(x) container_of((x), struct platform_device, dev) 29#define to_platform_device(x) container_of((x), struct platform_device, dev)
25 30
26extern int platform_device_register(struct platform_device *); 31extern int platform_device_register(struct platform_device *);
@@ -56,6 +61,7 @@ struct platform_driver {
56 int (*resume_early)(struct platform_device *); 61 int (*resume_early)(struct platform_device *);
57 int (*resume)(struct platform_device *); 62 int (*resume)(struct platform_device *);
58 struct device_driver driver; 63 struct device_driver driver;
64 struct platform_device_id *id_table;
59}; 65};
60 66
61extern int platform_driver_register(struct platform_driver *); 67extern int platform_driver_register(struct platform_driver *);