This reverts commit 006f4571a15fae3a0575f2a0f9e9b63b3d1012f8: 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. As we don't really want to do it, it was a bad idea.
Showing the changes to include/linux (2 of 3 files). Show all
Unified · Split
| @@ -384,13 +384,8 @@ struct device { · 383 unmodified lines | |||
| 384 | struct device_driver *driver; /* which driver has allocated this | 384 | struct device_driver *driver; /* which driver has allocated this |
| 385 | device */ | 385 | device */ |
| 386 | void *driver_data; /* data private to the driver */ | 386 | void *driver_data; /* data private to the driver */ |
| 387 | 387 | void *platform_data; /* Platform specific data, device | |
| 388 | void *platform_data; /* We will remove platform_data | 388 | core doesn't touch it */ |
| 389 | field if all platform devices | ||
| 390 | pass its platform specific data | ||
| 391 | from platform_device->platform_data, | ||
| 392 | other kind of devices should not | ||
| 393 | use platform_data. */ | ||
| 394 | struct dev_pm_info power; | 389 | struct dev_pm_info power; |
| 395 | 390 | ||
| 396 | #ifdef CONFIG_NUMA | 391 | #ifdef CONFIG_NUMA |
| @@ -20,7 +20,6 @@ struct platform_device { · 19 unmodified lines | |||
| 20 | struct device dev; | 20 | struct device dev; |
| 21 | u32 num_resources; | 21 | u32 num_resources; |
| 22 | struct resource * resource; | 22 | struct resource * resource; |
| 23 | void *platform_data; | ||
| 24 | 23 | ||
| 25 | struct platform_device_id *id_entry; | 24 | struct platform_device_id *id_entry; |
| 26 | }; | 25 | }; |