2009-06-10 12:20:31

by Magnus Damm

[permalink] [raw]
Subject: [PATCH] Driver Core: Add platform device arch data V3

From: Magnus Damm <[email protected]>

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.

Signed-off-by: Magnus Damm <[email protected]>
---

Applies to next-20090610.

Changes since V2:
- updated commit message, thanks to Rafael for feedback

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)


2009-06-18 16:29:18

by Kevin Hilman

[permalink] [raw]
Subject: Re: [PATCH] Driver Core: Add platform device arch data V3

Magnus Damm <[email protected]> writes:

> From: Magnus Damm <[email protected]>
>
> 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.
>
> Signed-off-by: Magnus Damm <[email protected]>

Since there is no 'Feature-desired-by:' tag, I'll addd

Acked-by: Kevin Hilman <[email protected]>

For PM on ARM in general, and OMAP in particular we definitely need a
generic way to handle arch-specific data per platform_device.

Kevin

>
> Applies to next-20090610.
>
> Changes since V2:
> - updated commit message, thanks to Rafael for feedback
>
> 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)

2009-06-24 11:57:47

by Magnus Damm

[permalink] [raw]
Subject: Re: [PATCH] Driver Core: Add platform device arch data V3

On Fri, Jun 19, 2009 at 1:21 AM, Kevin
Hilman<[email protected]> wrote:
> Magnus Damm <[email protected]> writes:
>
>> From: Magnus Damm <[email protected]>
>>
>> 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.
>>
>> Signed-off-by: Magnus Damm <[email protected]>
>
> Since there is no 'Feature-desired-by:' tag, I'll addd
>
> Acked-by: Kevin Hilman <[email protected]>
>
> For PM on ARM in general, and OMAP in particular we definitely need a
> generic way to handle arch-specific data per platform_device.

Thanks, Kevin! So ARM in general or at least OMAP wants this, and so
does SuperH.

Rafael, you kindly gave feedback on earlier versions, are you ok with
this version?

Cheers,

/ magnus

2009-06-24 18:50:26

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] Driver Core: Add platform device arch data V3

On Wednesday 24 June 2009, Magnus Damm wrote:
> On Fri, Jun 19, 2009 at 1:21 AM, Kevin
> Hilman<[email protected]> wrote:
> > Magnus Damm <[email protected]> writes:
> >
> >> From: Magnus Damm <[email protected]>
> >>
> >> 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.
> >>
> >> Signed-off-by: Magnus Damm <[email protected]>
> >
> > Since there is no 'Feature-desired-by:' tag, I'll addd
> >
> > Acked-by: Kevin Hilman <[email protected]>
> >
> > For PM on ARM in general, and OMAP in particular we definitely need a
> > generic way to handle arch-specific data per platform_device.
>
> Thanks, Kevin! So ARM in general or at least OMAP wants this, and so
> does SuperH.
>
> Rafael, you kindly gave feedback on earlier versions, are you ok with
> this version?

Yes, I am. I'm planning to include it into my linux-next branch for 2.6.32, if
no one objects.

Best,
Rafael

2009-06-25 02:31:25

by Magnus Damm

[permalink] [raw]
Subject: Re: [PATCH] Driver Core: Add platform device arch data V3

On Thu, Jun 25, 2009 at 3:50 AM, Rafael J. Wysocki<[email protected]> wrote:
> On Wednesday 24 June 2009, Magnus Damm wrote:
>> On Fri, Jun 19, 2009 at 1:21 AM, Kevin
>> Hilman<[email protected]> wrote:
>> > Magnus Damm <[email protected]> writes:
>> >
>> >> From: Magnus Damm <[email protected]>
>> >>
>> >> 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.
>> >>
>> >> Signed-off-by: Magnus Damm <[email protected]>
>> >
>> > Since there is no 'Feature-desired-by:' tag, I'll addd
>> >
>> > Acked-by: Kevin Hilman <[email protected]>
>> >
>> > For PM on ARM in general, and OMAP in particular we definitely need a
>> > generic way to handle arch-specific data per platform_device.
>>
>> Thanks, Kevin! So ARM in general or at least OMAP wants this, and so
>> does SuperH.
>>
>> Rafael, you kindly gave feedback on earlier versions, are you ok with
>> this version?
>
> Yes, I am. ?I'm planning to include it into my linux-next branch for 2.6.32, if
> no one objects.

Do you have any specific reason for not including this one in 2.6.31?
I guess you were thinking of keeping it together with your Runtime PM
patches targeted for 2.6.32?

IMO, this patch is decoupled from Runtime PM. It will of course be
used for Runtime PM on SuperH, but it can for instance also be used
together with the clock framework. On top of that, the patch is only
adding code so it's very unlikely to cause any breakage.

If possible, I'd like this to be merged as early as possible since a
lot of processor specific changes will depend on it. With this
included in 2.6.31 I can easily build arch specific code for 2.6.32.
Anything I can do to make that happen?

My top priority is Runtime PM for SuperH on top of your code, and I
intend to post a prototype for SuperH before the PM Summit. It would
be great to minimize the dependencies though, and including this in
2.6.31 would certainly help.

Thanks!

/ magnus

2009-06-25 14:34:21

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] Driver Core: Add platform device arch data V3

On Thursday 25 June 2009, Magnus Damm wrote:
> On Thu, Jun 25, 2009 at 3:50 AM, Rafael J. Wysocki<[email protected]> wrote:
> > On Wednesday 24 June 2009, Magnus Damm wrote:
> >> On Fri, Jun 19, 2009 at 1:21 AM, Kevin
> >> Hilman<[email protected]> wrote:
> >> > Magnus Damm <[email protected]> writes:
> >> >
> >> >> From: Magnus Damm <[email protected]>
> >> >>
> >> >> 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.
> >> >>
> >> >> Signed-off-by: Magnus Damm <[email protected]>
> >> >
> >> > Since there is no 'Feature-desired-by:' tag, I'll addd
> >> >
> >> > Acked-by: Kevin Hilman <[email protected]>
> >> >
> >> > For PM on ARM in general, and OMAP in particular we definitely need a
> >> > generic way to handle arch-specific data per platform_device.
> >>
> >> Thanks, Kevin! So ARM in general or at least OMAP wants this, and so
> >> does SuperH.
> >>
> >> Rafael, you kindly gave feedback on earlier versions, are you ok with
> >> this version?
> >
> > Yes, I am. I'm planning to include it into my linux-next branch for 2.6.32, if
> > no one objects.
>
> Do you have any specific reason for not including this one in 2.6.31?

Basically, it was too late for the merge window.

I think changes of this kind should really go in at the beginning of a merge
window, after spending a few weeks in linux-next so that no one is surprised.

It also needs an ACK from Greg.

> I guess you were thinking of keeping it together with your Runtime PM
> patches targeted for 2.6.32?
>
> IMO, this patch is decoupled from Runtime PM. It will of course be
> used for Runtime PM on SuperH, but it can for instance also be used
> together with the clock framework. On top of that, the patch is only
> adding code so it's very unlikely to cause any breakage.
>
> If possible, I'd like this to be merged as early as possible since a
> lot of processor specific changes will depend on it. With this
> included in 2.6.31 I can easily build arch specific code for 2.6.32.
> Anything I can do to make that happen?
>
> My top priority is Runtime PM for SuperH on top of your code, and I
> intend to post a prototype for SuperH before the PM Summit. It would
> be great to minimize the dependencies though, and including this in
> 2.6.31 would certainly help.

I'm going to add this patch to my linux-next branch shortly and if your 2.6.32
development is based on that branch (I'd recommend that anyway), there
shouldn't be any problems during the 2.6.32 merge window.

Thanks,
Rafael

2009-06-25 14:35:14

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] Driver Core: Add platform device arch data V3

On Thursday 18 June 2009, Kevin Hilman wrote:
> Magnus Damm <[email protected]> writes:
>
> > From: Magnus Damm <[email protected]>
> >
> > 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.
> >
> > Signed-off-by: Magnus Damm <[email protected]>
>
> Since there is no 'Feature-desired-by:' tag, I'll addd
>
> Acked-by: Kevin Hilman <[email protected]>
>
> For PM on ARM in general, and OMAP in particular we definitely need a
> generic way to handle arch-specific data per platform_device.

Greg, is this patch fine with you?

Best,
Rafael


> > Applies to next-20090610.
> >
> > Changes since V2:
> > - updated commit message, thanks to Rafael for feedback
> >
> > 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)

2009-06-25 15:57:19

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] Driver Core: Add platform device arch data V3

On Thu, Jun 25, 2009 at 04:35:43PM +0200, Rafael J. Wysocki wrote:
> On Thursday 18 June 2009, Kevin Hilman wrote:
> > Magnus Damm <[email protected]> writes:
> >
> > > From: Magnus Damm <[email protected]>
> > >
> > > 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.
> > >
> > > Signed-off-by: Magnus Damm <[email protected]>
> >
> > Since there is no 'Feature-desired-by:' tag, I'll addd
> >
> > Acked-by: Kevin Hilman <[email protected]>
> >
> > For PM on ARM in general, and OMAP in particular we definitely need a
> > generic way to handle arch-specific data per platform_device.
>
> Greg, is this patch fine with you?

Yes:
Acked-by: Greg Kroah-Hartman <[email protected]>

thanks,

greg k-h

2009-06-25 17:18:38

by Paul Mundt

[permalink] [raw]
Subject: Re: [linux-pm] [PATCH] Driver Core: Add platform device arch data V3

On Thu, Jun 25, 2009 at 04:34:11PM +0200, Rafael J. Wysocki wrote:
> On Thursday 25 June 2009, Magnus Damm wrote:
> > If possible, I'd like this to be merged as early as possible since a
> > lot of processor specific changes will depend on it. With this
> > included in 2.6.31 I can easily build arch specific code for 2.6.32.
> > Anything I can do to make that happen?
> >
> > My top priority is Runtime PM for SuperH on top of your code, and I
> > intend to post a prototype for SuperH before the PM Summit. It would
> > be great to minimize the dependencies though, and including this in
> > 2.6.31 would certainly help.
>
> I'm going to add this patch to my linux-next branch shortly and if your 2.6.32
> development is based on that branch (I'd recommend that anyway), there
> shouldn't be any problems during the 2.6.32 merge window.
>
Yes, I was already planning on creating a topic branch based off of this
so that we can start getting things ready in the sh tree, so this is not
a problem.. as long as you don't rebase ;-)

2009-07-04 23:44:31

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] Driver Core: Add platform device arch data V3

On Wednesday 10 June 2009, Magnus Damm wrote:
> From: Magnus Damm <[email protected]>
>
> 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.
>
> Signed-off-by: Magnus Damm <[email protected]>
> ---
>
> Applies to next-20090610.
>
> Changes since V2:
> - updated commit message, thanks to Rafael for feedback
>
> 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

The patch is now in the linux-next branch of the suspend-2.6 tree. I'll move
it into the for-linus branch, which is not rebased, if it's not reported to
cause any problems in the next few days.

Best,
Rafael