lkml.org 
[lkml]   [2009]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH] Driver Core: Add platform device arch data V2
    From: Magnus Damm <damm@igel.co.jp>

    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@igel.co.jp>
    ---

    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)

    \
     
     \ /
      Last update: 2009-06-01 13:05    [W:0.025 / U:57.788 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site