Re: [PATCH v3 7/8] ASoC: wm8998: Initial WM8998 codec driver

Mark Brown
2015-05-05T10:54:07Z

[-- Attachment #1: Type: text/plain, Size: 1392 bytes --]

On Tue, May 05, 2015 at 10:24:12AM +0100, Richard Fitzgerald wrote:
> On Mon, May 04, 2015 at 12:39:43PM +0100, Mark Brown wrote:
> > On Fri, May 01, 2015 at 04:15:18PM +0100, Richard Fitzgerald wrote:

> > > + val = snd_soc_read(codec, ARIZONA_ASYNC_SAMPLE_RATE_1 + val);
> > > + if (val >= 0x11)
> > > + dev_warn(codec->dev, "Unsupported ASRC rate2\n");

> > ...some random other register.

> ARIZONA_ASRC_RATE2 register can only have the values 8 or 9 and we don't
> provide a way to set it to illegal values.

That's trusting of future maintainers of this code, and it doesn't look
great when bounds checking and validation code has some fairly obviously
missing bounds checking and validation.

> > > +static const char * const wm8998_inmux_texts[] = {
> > > + "A",
> > > + "B",

> > Those are some fun input names...

> ... that's what the mux positions are called and it seems nice to have consistent
> naming for all similar muxes across channels and across future codecs. Like for
> example to switch both muxes of a stereo input you set them both to the same
> position name (both "A" or both "B") is clearer, and quicker to spot in a dump
> of ALSA control settings, than having the two muxes set to different enumeration
> strings that actually mean the same mux position.

Equally when setting the muxes settings called A and B that's not really
telling people what they do.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]