Re: [PATCH 15/24] ASoC: codecs: cs42l43: Use guard() and PM runtime scope helpers
Bui Duc Phuc <[email protected]> Fri, 26 Jun 2026 19:57:15 +0700
| Newsgroups | dev.linux.lists.chrome-platform,dev.linux.lists.asahi,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound |
|---|---|
| Message-ID | <CAABR9nG9jDfK_wqS4Akfz5GL6HvZ-RkpPuYx4Q=vMn5jH_0foA@mail.gmail.com> |
> > ---
> > - if (!jack)
> > - goto done;
> > + if (!jack) {
> > + regmap_update_bits(cs42l43->regmap, CS42L43_HS_BIAS_SENSE_AND_CLAMP_AUTOCONTROL,
> > + CS42L43_JACKDET_MODE_MASK |
> > + CS42L43_S0_AUTO_ADCMUTE_DISABLE_MASK |
> > + CS42L43_HSBIAS_SENSE_TRIP_MASK, autocontrol);
> > + regmap_update_bits(cs42l43->regmap, CS42L43_PDNCNTL,
> > + CS42L43_RING_SENSE_EN_MASK, pdncntl);
> > + dev_dbg(priv->dev, "Successfully configured accessory detect\n");
> > +
> > + return 0;
>
> I really don't like this duplicating of code blocks, it takes us
> to a situation we always need to remember to update both blocks
> in sync which feels like it makes reviewing future patches very
> error prone.
>
Hi Charles,
I understand your concern about duplicating the code.
My reasoning is that duplicating this block once lets us eliminate 12
`goto` labels,
which I think makes the overall flow easier to follow. To me, that's a
reasonable trade-off.
If you have a cleaner approach that avoids both the duplicated block
and the 12 `goto` labels,
I'd be happy to adopt it.
Best regards,
Phuc