Re: [PATCH v2 2/5] MFD: RK808: Add new mfd driver for RK808

From: Lee Jones
Date: Wed Aug 27 2014 - 07:27:26 EST


On Tue, 26 Aug 2014, Dmitry Torokhov wrote:
> On Tue, Aug 26, 2014 at 10:22:05AM +0100, Lee Jones wrote:
> > On Mon, 25 Aug 2014, Chris Zhong wrote:
> > > On 08/20/2014 05:21 PM, Lee Jones wrote:
> > > >On Wed, 20 Aug 2014, Chris Zhong wrote:
> > > >
> > > >>The RK808 chip is a power management IC for multimedia and handheld
> > > >>devices. It contains the following components:
> > > >>
> > > >>- Regulators
> > > >>- RTC
> > > >>
> > > >>The rk808 core driver is registered as a platform driver and provides
> > > >>communication through I2C with the host device for the different
> > > >>components.
> > > >>
> > > >>Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx>
> > > >>---
> >
> > [...]
> >
> > > >>+ rk808->pdata = pdata;
> > > >Remove pdata from 'struct rk808'. You can obtain it from dev.
> > >
> > > Can I keep this pdata in rk808, because it is used in the regulator driver.
> > > The one obtain from dev maybe empty.
> >
> > If the one in dev is empty, you should populate that instead.
>
> No, drivers should not populate platform data in devices - they do not
> own it (unlike drvdata). Platform data should be read-only so that if
> one would unbind and then try to re-bind the driver we'd end up in
> exactly same state as before.

Right.

I guess this point is moot now, as my other point about pdata not
actually being required has been accecpted. But, when I say "you
can obtain it from dev" I meant via dev_get_platdata(dev), rather than
dev_get_platdata(dev->parent). So if this 'pdata' has to go somewhere,
rather than sticking it in the MFD's (parent) platform_data, the
.platform_data attribute in 'struct mfd_cell' should be used.

> For DT systems we should be allocating platform data separately and make
> sure we clean up after ourselves.

--
Lee Jones
Linaro STMicroelectronics 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/