summaryrefslogtreecommitdiff
path: root/include/linux/device.h
diff options
context:
space:
mode:
authorJean Delvare <jdelvare@suse.de>2014-04-14 12:54:47 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-05-27 12:37:18 -0700
commit1bb6c08abfb653ce6e65d8ab4ddef403227afedf (patch)
treedba61f690d899880c97229b778f9fae838b9678a /include/linux/device.h
parent5cbb00cc4aae56378bf5376a62b4df3b89c28f92 (diff)
downloadlwn-1bb6c08abfb653ce6e65d8ab4ddef403227afedf.tar.gz
lwn-1bb6c08abfb653ce6e65d8ab4ddef403227afedf.zip
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 {
* variants, which GPIO pins act in what additional roles, and so
* on. This shrinks the "Board Support Packages" (BSPs) and
* minimizes board-specific #ifdefs in drivers.
+ * @driver_data: Private pointer for driver specific info.
* @power: For device power management.
* See Documentation/power/devices.txt for details.
* @pm_domain: Provide callbacks that are executed during system suspend,
@@ -734,6 +735,8 @@ struct device {
device */
void *platform_data; /* Platform specific data, device
core doesn't touch it */
+ void *driver_data; /* Driver data, set and get with
+ dev_set/get_drvdata */
struct dev_pm_info power;
struct dev_pm_domain *pm_domain;