aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/device.h
diff options
context:
space:
mode:
authorJean Delvare <jdelvare@suse.de>2014-04-14 06:54:47 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-05-27 15:37:18 -0400
commit1bb6c08abfb653ce6e65d8ab4ddef403227afedf (patch)
treedba61f690d899880c97229b778f9fae838b9678a /include/linux/device.h
parent5cbb00cc4aae56378bf5376a62b4df3b89c28f92 (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/device.h')
-rw-r--r--include/linux/device.h3
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