summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMagnus Damm <damm@igel.co.jp>2009-07-08 15:21:31 +0400
committerRafael J. Wysocki <rjw@sisk.pl>2009-07-22 02:28:38 +0400
commitd7aacaddcac3971e33cf52d7e610c06696cb347f (patch)
tree2f34e6b48f5cc1224bdefd721bba108c43aad34b /include
parentaea1f7964ae6cba5eb419a958956deb9016b3341 (diff)
downloadlinux-d7aacaddcac3971e33cf52d7e610c06696cb347f.tar.xz
Driver Core: Add platform device arch data V3
Allow architecture specific data in struct platform_device V3. With this patch struct pdev_archdata is added to struct platform_device, similar to struct dev_archdata in found in struct device. Useful for architecture code that needs to keep extra data associated with each platform device. Struct pdev_archdata is different from dev.platform_data, the convention is that dev.platform_data points to driver-specific data. It may or may not be required by the driver. The format of this depends on driver but is the same across architectures. The structure pdev_archdata is a place for architecture specific data. This data is handled by architecture specific code (for example runtime PM), and since it is architecture specific it should _never_ be touched by device driver code. Exactly like struct dev_archdata but for platform devices. [rjw: This change is for power management mostly and that's why it goes through the suspend tree.] Signed-off-by: Magnus Damm <damm@igel.co.jp> Acked-by: Kevin Hilman <khilman@deeprootsystems.com> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'include')
-rw-r--r--include/asm-generic/device.h3
-rw-r--r--include/linux/platform_device.h3
2 files changed, 6 insertions, 0 deletions
diff --git a/include/asm-generic/device.h b/include/asm-generic/device.h
index c17c9600f220..d7c76bba640d 100644
--- a/include/asm-generic/device.h
+++ b/include/asm-generic/device.h
@@ -9,4 +9,7 @@
struct dev_archdata {
};
+struct pdev_archdata {
+};
+
#endif /* _ASM_GENERIC_DEVICE_H */
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
index 8dc5123b6305..672a69849735 100644
--- a/include/linux/platform_device.h
+++ b/include/linux/platform_device.h
@@ -22,6 +22,9 @@ struct platform_device {
struct resource * resource;
struct platform_device_id *id_entry;
+
+ /* arch specific additions */
+ struct pdev_archdata archdata;
};
#define platform_get_device_id(pdev) ((pdev)->id_entry)