On Fri, 27 Feb 2009 21:28:03 +0200 Felipe Balbi <me@xxxxxxxxxxxxxxx> wrote: > From: Felipe Balbi <felipe.balbi@xxxxxxxxx> > > Make that twl4030-pwrbutton.c driver probe with current > child creation api for twl4030. > > Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxx> > Cc: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Felipe Balbi <felipe.balbi@xxxxxxxxx> > --- > This part is better off going via mfd. > > drivers/mfd/twl4030-core.c | 13 +++++++++++++ > 1 files changed, 13 insertions(+), 0 deletions(-) > > diff --git a/drivers/mfd/twl4030-core.c b/drivers/mfd/twl4030-core.c > index 68826f1..c86bc3b 100644 > --- a/drivers/mfd/twl4030-core.c > +++ b/drivers/mfd/twl4030-core.c > @@ -101,6 +101,12 @@ > #define twl_has_usb() false > #endif > > +#if defined(CONFIG_INPUT_TWL4030_PWRBUTTON) \ > + || defined(CONFIG_INPUT_TWL4030_PWBUTTON_MODULE) OK, this is "wrong". The core shouldn't need to know about specific clients. > +#define twl_has_pwrbutton() true > +#else > +#define twl_has_pwrbutton() false > +#endif > > /* Triton Core internal information (BEGIN) */ > > @@ -526,6 +532,13 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features) > usb_transceiver = child; > } > > + if (twl_has_pwrbutton()) { > + child = add_child(1, "twl4030_pwrbutton", > + NULL, 0, true, pdata->irq_base + 8 + 0, 0); > + if (IS_ERR(child)) > + return PTR_ERR(child); > + } > + > if (twl_has_regulator()) { > /* > child = add_regulator(TWL4030_REG_VPLL1, pdata->vpll1); The client module should register itself with the core, rather than the core registering the client. What has gone wrong here? -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html