History

Revert driver core: move platform_data into platform_device

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.

Greg Kroah-Hartman committed 17 years ago

Commit e67c8561 parent bee86323 files · +2 −11Browse files

Showing the changes to include/linux (2 of 3 files). Show all

Unified · Split

2 files
  1. include/linux/device.h +2 −7
  2. include/linux/platform_device.h +0 −1
include/linux/device.h+2−7
@@ -384,13 +384,8 @@ struct device { · 383 unmodified lines
384 struct device_driver *driver; /* which driver has allocated this384 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_data388 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_NUMA391#ifdef CONFIG_NUMA
include/linux/platform_device.h+0−1
@@ -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};