[PATCH 1/5] mfd: twl-core: Fix passing of platform data in the device tree case

Lee Jones lee.jones at linaro.org
Mon Nov 18 12:46:38 EST 2013


> > > +static struct of_dev_auxdata twl_auxdata_lookup[] = {
> > > +	OF_DEV_AUXDATA("ti,twl4030-gpio", 0, "twl4030-gpio", NULL),
> > > +	{ /* sentinel */ },
> > > +};
> > > +
> > >  /* NOTE: This driver only handles a single twl4030/tps659x0 chip */
> > >  static int
> > >  twl_probe(struct i2c_client *client, const struct i2c_device_id *id)
> > > @@ -1271,10 +1276,14 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id)
> > >  		twl_i2c_write_u8(TWL4030_MODULE_INTBR, temp, REG_GPPUPDCTR1);
> > >  	}
> > >  
> > > -	if (node)
> > > -		status = of_platform_populate(node, NULL, NULL, &client->dev);
> > > -	else
> > > +	if (node) {
> > > +		if (pdata)
> > > +			twl_auxdata_lookup[0].platform_data = pdata->gpio;
> > > +		status = of_platform_populate(node, NULL, twl_auxdata_lookup,
> > > +					      &client->dev);
> > > +	} else {
> > >  		status = add_children(pdata, irq_base, id->driver_data);
> > 
> > Why doesn't the TWL driver use the MFD framework for this stuff?
> 
> that's reminiscent from years ago and, surely, needs to be fixed. Should
> we gate $subject for that, though ? This has been in tree for quite a
> few years already and Tony's patch is still a step forward, since most
> omap3 platforms would break on DT-only without it.

I didn't say that I would reject the patch. I was just surprised to
see so much hand-rolling, as the MFD core code does much of it
automatically. This is the first time I've taken a look at this and it
seems to be quite the relic.

> There are quite a few folks who could volunteer to fixing that after
> Tony's patch is in (me included, although there could be better choices
> hehe).

Well it's not doing any harm. I'll make a note to fix it myself if a)
no one has done so already and b) I manage to find some spare
time. The latter issue is less likely to be resolved. :)

Are you Acking this patch by the way?

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog



More information about the linux-arm-kernel mailing list