On Tue, Aug 14, 2012 at 10:51:02AM +0200, Linus Walleij wrote: > On Thu, Aug 9, 2012 at 5:47 PM, Lee Jones <[email protected]> wrote: > > > In the initial submission of the MSP driver msp1 and msp3's associated > > pinctrl mechanism was passed back to platform code using a plat_init() > > call-back routine, but it has no place in platform code. The MSP driver > > should set this up for the appropriate ports. Instead we use a use_pinctrl > > identifier which is passed from platform_data/Device Tree which indicates > > which ports should use pinctrl. > > > > CC: [email protected] > > Signed-off-by: Lee Jones <[email protected]> > > This is very good because it rids platform code and makes the driver > self-contained without strange platform data hooks. > > Now details... > > > +/* MSP1/3 Tx/Rx usage protection */ > > +static DEFINE_SPINLOCK(msp_rxtx_lock); > > + > > +/* Pin modes */ > > +struct pinctrl *pinctrl_p; > > +struct pinctrl_state *pinctrl_def; > > +struct pinctrl_state *pinctrl_sleep; > > + > > +/* Reference Count */ > > +int pinctrl_rxtx_ref; > > > But wait. These are just local statics. Surelty you can put these into > struct ux500_msp instead? Here it looks like these will be used for > all ports, so MSP2 will enable the pins requested by MSP1 etc > completely broken. So put it into the struct ux500_msp state > container from ux500_msp_i2s.h where it belongs.
This was intentional, as in the previous implementation only MSP1 and MSP3 (which share pins) were enabled for pinctrl. I will move them into struct ux500_msp instead though, no problem -- Lee Jones Linaro ST-Ericsson Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

