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

Unified · Split

3 files
  1. drivers/base/platform.c +0 −3
  2. include/linux/device.h +2 −7
  3. include/linux/platform_device.h +0 −1
drivers/base/platform.c+0−3
@@ -217,7 +217,6 @@ int platform_device_add_data(struct platform_device *pdev, const void *data, · 216 unmodified lines
217217 if (d) {
218218 memcpy(d, data, size);
219219 pdev->dev.platform_data = d;
220− pdev->platform_data = d;
221220 }
222221 return d ? 0 : -ENOMEM;
223222 }
@@ -247,8 +246,6 @@ int platform_device_add(struct platform_device *pdev) · 23 unmodified lines
247246 else
248247 dev_set_name(&pdev->dev, pdev->name);
249248
250− pdev->platform_data = pdev->dev.platform_data;
251−
252249 for (i = 0; i < pdev->num_resources; i++) {
253250 struct resource *p, *r = &pdev->resource[i];
254251
include/linux/device.h+2−7
@@ -384,13 +384,8 @@ struct device { · 383 unmodified lines
384384 struct device_driver *driver; /* which driver has allocated this
385385 device */
386386 void *driver_data; /* data private to the driver */
387−
388− void *platform_data; /* We will remove platform_data
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. */
387+ void *platform_data; /* Platform specific data, device
388+ core doesn't touch it */
394389 struct dev_pm_info power;
395390
396391 #ifdef CONFIG_NUMA
include/linux/platform_device.h+0−1
@@ -20,7 +20,6 @@ struct platform_device { · 19 unmodified lines
2020 struct device dev;
2121 u32 num_resources;
2222 struct resource * resource;
23− void *platform_data;
2423
2524 struct platform_device_id *id_entry;
2625 };

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t