Re: [PATCH v7 6/6] ASoC: cs42l43: Add support for the cs42l43

From: Andy Shevchenko
Date: Thu Jan 18 2024 - 15:47:19 EST


On Thu, Jan 18, 2024 at 8:11 PM Mark Brown <broonie@xxxxxxxxxx> wrote:
> On Thu, Jan 18, 2024 at 07:41:54PM +0200, andy.shevchenko@xxxxxxxxx wrote:
> > Fri, Aug 04, 2023 at 11:46:02AM +0100, Charles Keepax kirjoitti:
>
> > > + unsigned int hs2 = 0x2 << CS42L43_HSDET_MODE_SHIFT;
>
> > BIT(1) ?
>
> Given that this is writing a value into a register field called "MODE"
> it seems very likely that it's an enumeration value rather than a
> bitmask (and similarly for all the other places where you're making
> similar comments). Please think a bit more about the code being
> commented on when making these minor stylistic comments.

I read a bit further and have given a comment about this as you put it
above that they are plain values.
Please, read my comments in full.

..

> > > +static const char * const cs42l43_jack_text[] = {
> > > + "None", "CTIA", "OMTP", "Headphone", "Line-Out",
> > > + "Line-In", "Microphone", "Optical",
>
> > Better to have this by power of 2 blocks (seems it's related to the possible
> > values ranges in the HW).
> > If it's just a coincidence that there are 8 of them, perhaps other (logical)
> > grouping is better?
>
> This is probably well within the realm of driver author taste...

No objection, just a question.

..

> > > + // Don't use devm as we need to get against the MFD device
>
> > This is weird...
>
> This is normal, the splitting into subdevices is often a purely Linux
> internal thing and not represented in the firmware description so
> external resources are linked to the top level.

I meant the weirdness of mixing devm_ with non-devm_ in a way that
->remove() can be broken to the extent of oopses or crashes.

--
With Best Regards,
Andy Shevchenko