Re: [PATCH v2 2/2] one-bit-adc-dac: Add initial version of one bit ADC-DAC
From: Jonathan Cameron
Date: Fri Jan 21 2022 - 09:56:27 EST
On Tue, 18 Jan 2022 19:06:20 +0200
Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote:
> On Mon, Jan 17, 2022 at 8:41 AM Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
> > On Tue, 11 Jan 2022 13:59:19 +0200
> > Cristian Pop <cristian.pop@xxxxxxxxxx> wrote:
>
> > > + st->labels = devm_kzalloc(device, sizeof(*st->labels) * child_num, GFP_KERNEL);
> > > + if (!st->labels)
> > > + return -ENOMEM;
> > > +
> > > + i = child_num;
> > > + fwnode_for_each_child_node(fwnode, child) {
> > > + if (fwnode_property_read_u32(child, "reg", &crt_ch))
> > > + continue;
> > > +
> > > + if (crt_ch >= num_channels)
> > > + continue;
> > > +
> > > + if (fwnode_property_read_string(child, "label", &label))
> > > + continue;
> > > +
> > > + chan = &channels[crt_ch];
> > ? Not used.
> >
> > > + st->labels[--i] = label;
>
> > I've no idea how this works... Should be looking for the chan->channel
> > value as that's what your read uses to index.
>
> It's an implicit memcpy().
Not that. What I don't follow is how it ends up in the right element of
st->labels[] seeing as i has nothing to do with reg which should
be the channel number. Far as I can see it's setting the labels
in a random order.
Jonathan
>
> > > + }
> > > +
> > > + return 0;
> > > +}
>
>
>