diff options
| author | Jean Delvare <jdelvare@suse.de> | 2014-04-14 06:54:47 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-05-27 15:37:18 -0400 |
| commit | 1bb6c08abfb653ce6e65d8ab4ddef403227afedf (patch) | |
| tree | dba61f690d899880c97229b778f9fae838b9678a /include/linux | |
| parent | 5cbb00cc4aae56378bf5376a62b4df3b89c28f92 (diff) | |
driver core: Move driver_data back to struct device
Having to allocate memory as part of dev_set_drvdata() is a problem
because that memory may never get freed if the device itself is not
created. So move driver_data back to struct device.
This is a partial revert of commit b4028437.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/device.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/device.h b/include/linux/device.h index d1d1c055b48e..5c94ac3e7972 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
| @@ -673,6 +673,7 @@ struct acpi_dev_node { | |||
| 673 | * variants, which GPIO pins act in what additional roles, and so | 673 | * variants, which GPIO pins act in what additional roles, and so |
| 674 | * on. This shrinks the "Board Support Packages" (BSPs) and | 674 | * on. This shrinks the "Board Support Packages" (BSPs) and |
| 675 | * minimizes board-specific #ifdefs in drivers. | 675 | * minimizes board-specific #ifdefs in drivers. |
| 676 | * @driver_data: Private pointer for driver specific info. | ||
| 676 | * @power: For device power management. | 677 | * @power: For device power management. |
| 677 | * See Documentation/power/devices.txt for details. | 678 | * See Documentation/power/devices.txt for details. |
| 678 | * @pm_domain: Provide callbacks that are executed during system suspend, | 679 | * @pm_domain: Provide callbacks that are executed during system suspend, |
| @@ -734,6 +735,8 @@ struct device { | |||
| 734 | device */ | 735 | device */ |
| 735 | void *platform_data; /* Platform specific data, device | 736 | void *platform_data; /* Platform specific data, device |
| 736 | core doesn't touch it */ | 737 | core doesn't touch it */ |
| 738 | void *driver_data; /* Driver data, set and get with | ||
| 739 | dev_set/get_drvdata */ | ||
| 737 | struct dev_pm_info power; | 740 | struct dev_pm_info power; |
| 738 | struct dev_pm_domain *pm_domain; | 741 | struct dev_pm_domain *pm_domain; |
| 739 | 742 | ||
