[GIT PULL] ARM: OMAP: Audio support via omap-twl4030 and pwm support

Tony Lindgren tony at atomide.com
Tue Feb 5 13:44:18 EST 2013


* Russell King - ARM Linux <linux at arm.linux.org.uk> [130205 04:34]:
> On Mon, Feb 04, 2013 at 11:52:51AM -0800, Tony Lindgren wrote:
> > @@ -245,7 +245,7 @@ static int sdp3430_twl_gpio_setup(struct device *dev,
> >  	return 0;
> >  }
> >  
> > -static struct twl4030_gpio_platform_data sdp3430_gpio_data = {
> > +static struct twl4030_gpio_platform_data __initdata sdp3430_gpio_data = {
> >  	.pulldowns	= BIT(2) | BIT(6) | BIT(8) | BIT(13)
> >  				| BIT(16) | BIT(17),
> >  	.setup		= sdp3430_twl_gpio_setup,
> 
> Seeing platform data marked with __initdata makes me extremely nervous.
> Are you _absolutely_ _sure_ that this data either:
> 
> (a) gets copied before use, or
> (b) is not used after kernel init
> 
> ?

No, and that's why I said "I suspect some of these cannot be
__init/__initdata" and asked Peter to verify it :)
 
> Normally, platform data is passed via a pointer in struct device to
> drivers, and drivers either store a pointer to it, or if the driver is
> unbound/rebound, they can access it well after init time.

Yes it's not worth adding any copying of it in the twl-common.c.

Regards,

Tony



More information about the linux-arm-kernel mailing list