Re: [PATCH v5 04/15] soundwire: Add MIPI DisCo property helpers

From: Vinod Koul
Date: Mon Dec 11 2017 - 12:14:54 EST


On Mon, Dec 11, 2017 at 06:06:30PM +0100, Takashi Iwai wrote:
> On Mon, 11 Dec 2017 18:00:22 +0100,
> Vinod Koul wrote:
> >
> > On Mon, Dec 11, 2017 at 05:10:17PM +0100, Takashi Iwai wrote:
> > > On Wed, 06 Dec 2017 16:47:00 +0100,
> > > Vinod Koul wrote:
> > > >
> > > > + /* TODO: Read audio mode */
> > > > +
> > > > + i++;
> > > > + }
> > >
> > > Don't we use count argument for a sanity check?
> >
> > Not really as that iterator runs on each bit:
> >
> > for_each_set_bit(bit, &addr, 32) {
> >
> > so it will not go on endlessly and can max out when all the bits being set
> > and stop.
>
> Yes, that shouldn't happen. OTOH, only looking at the callee side,
> one may wonder that the possible error would be dpn[] overflows the
> given array size (=count). Though, looking at both caller and callee,
> one realizes that it shouldn't happen, too.

Right :)

> (But then again wonders why passing count argument at all :)

So we allocate memory for dpn ports by using hweight32(), and then
fill up this memory by reading properties. Count here is used to access
dpn[i] and fill data for each port from firmware and hence incremented
every time..

--
~Vinod