From: Magnus Damm <damm@xxxxxxxxxx> Allow architecture specific data in struct platform_device V2. The structure pdev_archdata is added to struct platform_device, similar to struct dev_archdata in struct device. Useful for architecture code that needs to keep extra data associated with each platform device. This data shall not be accessed by platform drivers, only architecture code. Needed for platform device runtime PM. Signed-off-by: Magnus Damm <damm@xxxxxxxxxx> --- Applies to next-20090529. Changes since V1: - post to lkml, keep linux-pm cc:ed - add struct pdev_archdata to asm-generic - add struct pdev_archdata to non-generic architectures - drop Kconfig bits arch/arm/include/asm/device.h | 3 +++ arch/ia64/include/asm/device.h | 3 +++ arch/microblaze/include/asm/device.h | 3 +++ arch/powerpc/include/asm/device.h | 3 +++ arch/sparc/include/asm/device.h | 3 +++ arch/x86/include/asm/device.h | 3 +++ include/asm-generic/device.h | 3 +++ include/linux/platform_device.h | 3 +++ 8 files changed, 24 insertions(+) --- 0001/arch/arm/include/asm/device.h +++ work/arch/arm/include/asm/device.h 2009-06-01 12:19:51.000000000 +0900 @@ -12,4 +12,7 @@ struct dev_archdata { #endif }; +struct pdev_archdata { +}; + #endif --- 0001/arch/ia64/include/asm/device.h +++ work/arch/ia64/include/asm/device.h 2009-06-01 12:18:11.000000000 +0900 @@ -15,4 +15,7 @@ struct dev_archdata { #endif }; +struct pdev_archdata { +}; + #endif /* _ASM_IA64_DEVICE_H */ --- 0001/arch/microblaze/include/asm/device.h +++ work/arch/microblaze/include/asm/device.h 2009-06-01 12:19:32.000000000 +0900 @@ -16,6 +16,9 @@ struct dev_archdata { struct device_node *of_node; }; +struct pdev_archdata { +}; + #endif /* _ASM_MICROBLAZE_DEVICE_H */ --- 0001/arch/powerpc/include/asm/device.h +++ work/arch/powerpc/include/asm/device.h 2009-06-01 12:16:28.000000000 +0900 @@ -30,4 +30,7 @@ dev_archdata_get_node(const struct dev_a return ad->of_node; } +struct pdev_archdata { +}; + #endif /* _ASM_POWERPC_DEVICE_H */ --- 0001/arch/sparc/include/asm/device.h +++ work/arch/sparc/include/asm/device.h 2009-06-01 12:18:57.000000000 +0900 @@ -32,4 +32,7 @@ dev_archdata_get_node(const struct dev_a return ad->prom_node; } +struct pdev_archdata { +}; + #endif /* _ASM_SPARC_DEVICE_H */ --- 0001/arch/x86/include/asm/device.h +++ work/arch/x86/include/asm/device.h 2009-06-01 12:17:28.000000000 +0900 @@ -13,4 +13,7 @@ struct dma_map_ops *dma_ops; #endif }; +struct pdev_archdata { +}; + #endif /* _ASM_X86_DEVICE_H */ --- 0001/include/asm-generic/device.h +++ work/include/asm-generic/device.h 2009-06-01 12:16:20.000000000 +0900 @@ -9,4 +9,7 @@ struct dev_archdata { }; +struct pdev_archdata { +}; + #endif /* _ASM_GENERIC_DEVICE_H */ --- 0001/include/linux/platform_device.h +++ work/include/linux/platform_device.h 2009-06-01 12:14:43.000000000 +0900 @@ -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) _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm