[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <B256D81BAE5131468A838E5D7A243641D63F6228@penmbx01>
Date: Wed, 20 Jan 2016 07:37:36 +0000
From: "Yang, Wenyou" <Wenyou.Yang@...el.com>
To: Peter Korsgaard <peter@...sgaard.com>
CC: Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>,
"Rob Herring" <robh+dt@...nel.org>,
Pawel Moll <pawel.moll@....com>,
Mark Rutland <mark.rutland@....com>,
Ian Campbell <ijc+devicetree@...lion.org.uk>,
"Kumar Gala" <galak@...eaurora.org>,
Krzysztof Kozlowski <k.kozlowski@...sung.com>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"Ferre, Nicolas" <Nicolas.FERRE@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Javier Martinez Canillas <javier@...hile0.org>,
Lee Jones <lee.jones@...aro.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: RE: [PATCH v2 1/2] regulator: act8945a: add regulator driver for
ACT8945A
Hi Peter,
> -----Original Message-----
> From: Peter Korsgaard [mailto:jacmet@...il.com] On Behalf Of Peter Korsgaard
> Sent: 2016年1月14日 19:43
> To: Yang, Wenyou <Wenyou.Yang@...el.com>
> Cc: Liam Girdwood <lgirdwood@...il.com>; Mark Brown <broonie@...nel.org>;
> Rob Herring <robh+dt@...nel.org>; Pawel Moll <pawel.moll@....com>; Mark
> Rutland <mark.rutland@....com>; Ian Campbell <ijc+devicetree@...lion.org.uk>;
> Kumar Gala <galak@...eaurora.org>; Krzysztof Kozlowski
> <k.kozlowski@...sung.com>; devicetree@...r.kernel.org; Ferre, Nicolas
> <Nicolas.FERRE@...el.com>; linux-kernel@...r.kernel.org; Javier Martinez
> Canillas <javier@...hile0.org>; Lee Jones <lee.jones@...aro.org>; linux-arm-
> kernel@...ts.infradead.org
> Subject: Re: [PATCH v2 1/2] regulator: act8945a: add regulator driver for
> ACT8945A
>
> >>>>> "Yang," == Yang, Wenyou <Wenyou.Yang@...el.com> writes:
>
> Hi,
>
> >>
> >>> Isn't the regulator part of the act8945a identical to act8865? Can't we just
> use >>> the existing act8865-regulator.c driver? (E.G. support 8865 variant in the
> mfd >>> driver, but only register the regulator sub device?) >> >> > Yes, the
> regulator part of the act8945a is identical to act8865.
> >>
> >> > But the act8865-regulator driver is a struct i2c_driver, and the mfd > sub-
> >> device driver is a platform_driver driver, it is not easy to use > it.
> >>
> >> But the mfd driver could support the act8865 variant as well (by only
> registering >> the regulator mfd cell).
>
> > I still don't understand.
>
> > The MFD sub device is registered as a platform device, the existing > act8865
> driver is registered as an i2c_driver. How do they match? :)
>
> > Could you point out which exiting driver for me to reference. Thank you!
>
> What I'm saying is that it isn't nice that we end up with both act8865-regulator.c
> and act8954-regulator.c doing 95% the same. This can either be fixed by:
>
> - Adding act8865 support to your mfd driver (but only registering the
> regulator subdev for act8865) and changing the existing
> act8865-regulator driver to work as a mfd subdev (platform device)
>
> - Extending the act8865-regulator driver to register as a platform
> driver in ADDITION to a i2c driver so it can be used with mfd. The
> driver already uses regmap so it should only be a matter of adding the
> pdev probe/remove functions.
After think twice, I think this will complicates the act8865-regulator driver.
Moreover, after following up the Mark's advice, a lot redundant code is removed from act8945a-regulater driver. It is very simple now.
So I think it is better to keep a separate act8945a-regulator driver.
Thank you for detailed description.
Best Regards,
Wenyou Yang
Powered by blists - more mailing lists