diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/mod_devicetable.h | 9 | ||||
-rw-r--r-- | include/linux/platform_device.h | 6 |
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 | |||
460 | struct 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 | ||
16 | struct platform_device { | 17 | struct 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 | ||
26 | extern int platform_device_register(struct platform_device *); | 31 | extern 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 | ||
61 | extern int platform_driver_register(struct platform_driver *); | 67 | extern int platform_driver_register(struct platform_driver *); |