Re: [PATCH v2 2/2] iio: adc: rtq6056: Add support for the whole RTQ6056 family

From: Jonathan Cameron
Date: Wed Jan 03 2024 - 04:50:12 EST


On Wed, 3 Jan 2024 09:04:52 +0800
ChiYuan Huang <cy_huang@xxxxxxxxxxx> wrote:

> On Tue, Jan 02, 2024 at 07:36:42PM +0000, Jonathan Cameron wrote:
> > On Tue, 2 Jan 2024 16:30:42 +0800
> > ChiYuan Huang <cy_huang@xxxxxxxxxxx> wrote:
> >
> > > Hi, Johathan:
> > >
> > > Most comments are good and will be fixed in next revision.
> > >
> > > Still one comment I cannot make sure.
> > >
> > > Please see the comment that's below yours.
> > >
> > Hi ChiYuan,
> >
> > It's good practice to crop away all the parts where the discussion is finished.
> > Makes it easier for people to find the bit you want discussion to continue on!
> >
> > I've done so in this reply.
> >
> > ...
> > > > > +
> > > > > enum {
> > > > > RTQ6056_CH_VSHUNT = 0,
> > > > > RTQ6056_CH_VBUS,
> > > > > @@ -50,16 +60,29 @@ enum {
> > > > > enum {
> > > > > F_OPMODE = 0,
> > > > > F_VSHUNTCT,
> > > > > + F_SADC = F_VSHUNTCT,
> > > >
> > > > If the devices have different register fields, better to have different enums
> > > > for them as well as that should result in less confusing code.
> > > >
> > > Actually, this is all the same register, just the control naming difference.
> > > If not to define the new eum, I can remain to use the same field to handle rtq6059 part.
> >
> > If the bits in the register control the same thing across both parts then
> > add a comment alongside the enum to make that clear.
> >
> > Given the naming that seems very unlikely. PGA and AVG would eman
> > very different things to me for starters (oversampling vs a programmble
> > gain amplifier on the front end)
> >
> I'm also thinking how to write this difference like as comments or a seperate enum.
> But if to define a new enum, many function about the regfield controls must be seperated
> for 6056 and 6059.
> > > >
> > > > > F_VBUSCT,
> > > > > + F_BADC = F_VBUSCT,
> > > > > F_AVG,
> > > > > + F_PGA = F_AVG,
> > > > > F_RESET,
> > > > > F_MAX_FIELDS
> > > > > };
>
> What if to keep the original coding, just to rename the different part like as below
> F_SADC -> F_RTQ6059_SDAC
> F_BADC -> F_RTQ6059_BADC
> F_PGA -> F_RTQ6059_PGA

That works well. It makes it clear they are different across the parts.
So agreed this is the best option.
>
> At least, the nameing already shows the difference between 6056 and 6059.
> Only these three parts are different, others are the same like as F_OPMODE, F_RESET.
>
>