Hi Peter, > -----Original Message----- > From: Peter Korsgaard [mailto:jacmet@xxxxxxxxx] On Behalf Of Peter Korsgaard > Sent: 2016年1月14日 19:43 > To: Yang, Wenyou <Wenyou.Yang@xxxxxxxxx> > Cc: Liam Girdwood <lgirdwood@xxxxxxxxx>; Mark Brown <broonie@xxxxxxxxxx>; > Rob Herring <robh+dt@xxxxxxxxxx>; Pawel Moll <pawel.moll@xxxxxxx>; Mark > Rutland <mark.rutland@xxxxxxx>; Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx>; > Kumar Gala <galak@xxxxxxxxxxxxxx>; Krzysztof Kozlowski > <k.kozlowski@xxxxxxxxxxx>; devicetree@xxxxxxxxxxxxxxx; Ferre, Nicolas > <Nicolas.FERRE@xxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx; Javier Martinez > Canillas <javier@xxxxxxxxxxxx>; Lee Jones <lee.jones@xxxxxxxxxx>; linux-arm- > kernel@xxxxxxxxxxxxxxxxxxx > Subject: Re: [PATCH v2 1/2] regulator: act8945a: add regulator driver for > ACT8945A > > >>>>> "Yang," == Yang, Wenyou <Wenyou.Yang@xxxxxxxxx> 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 ?韬{.n?????%??檩??w?{.n????z谵{???塄}?财??j:+v??????2??璀??摺?囤??z夸z罐?+?????w棹f