diff options
author | Ming Lei <tom.leiming@gmail.com> | 2009-03-08 11:13:32 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-03-24 19:38:26 -0400 |
commit | 006f4571a15fae3a0575f2a0f9e9b63b3d1012f8 (patch) | |
tree | 22c2e30f830b0440032c1347b13bf96734a76022 /include/linux/device.h | |
parent | e0edd3c65aa5b53e20280565a7ce11675eb7ed6b (diff) |
driver core: move platform_data into platform_device
This patch moves platform_data from struct device into
struct platform_device, based on the two ideas:
1. Now all platform_driver is registered by platform_driver_register,
which makes probe()/release()/... of platform_driver passed parameter
of platform_device *, so platform driver can get platform_data from
platform_device;
2. Other kind of devices do not need to use platform_data, we can
decrease size of device if moving it to platform_device.
Taking into consideration of thousands of files to be fixed and they
can't be finished in one night(maybe it will take a long time), so we
keep platform_data in device to allow two kind of cases coexist until
all platform devices pass its platfrom data from
platform_device->platform_data.
All patches to do this kind of conversion are welcome.
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux/device.h')
-rw-r--r-- | include/linux/device.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/include/linux/device.h b/include/linux/device.h index 5a64775e68e4..4bea53fe8f4c 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -385,8 +385,13 @@ struct device { | |||
385 | struct device_driver *driver; /* which driver has allocated this | 385 | struct device_driver *driver; /* which driver has allocated this |
386 | device */ | 386 | device */ |
387 | void *driver_data; /* data private to the driver */ | 387 | void *driver_data; /* data private to the driver */ |
388 | void *platform_data; /* Platform specific data, device | 388 | |
389 | core doesn't touch it */ | 389 | void *platform_data; /* We will remove platform_data |
390 | field if all platform devices | ||
391 | pass its platform specific data | ||
392 | from platform_device->platform_data, | ||
393 | other kind of devices should not | ||
394 | use platform_data. */ | ||
390 | struct dev_pm_info power; | 395 | struct dev_pm_info power; |
391 | 396 | ||
392 | #ifdef CONFIG_NUMA | 397 | #ifdef CONFIG_NUMA |