..
> >   
> > > > +       if (ret < 0)
> > > > +               return ret;
> > > > +
> > > > +       for (i = 0; i < num_ch; i++) {
> > > > +               channels[i] = (struct  
> > iio_chan_spec)ONE_BIT_ADC_DAC_CHANNEL(i +  
> > > > +                                                       offset,
> > > > +                                                       direction);
> > > > +               channels[i].extend_name = gpio_names[i];  
> > > I think we want to avoid using extend_name in new drivers because it
> > > makes for a very clumsy ABI. We should add a label property like we
> > > have for the device for channels to have a symbolic name of the channel.  
> The current dts looks like this:
> one-bit-adc-dac@0 {
>                               in-gpios = <&gpio 17 0>, <&gpio 27 0>;
>                               in-gpio-names = "i_17", "i_27";
>                               out-gpios = <&gpio 23 0>, <&gpio 24 0>;
>                               out-gpio-names = "o_23", "o_24";
>                       };
> Resulting in channels:
> in_voltage0_i_17_raw
> in_voltage1_i_27_raw
> out_voltage2_o_23_raw
> out_voltage3_o_24_raw
> If we want to lose extend_name, please provide an example for using labels.
> How the dts should look like, how do I use it in the driver?

Doesn't exist yet :)  Proposal was to add support for a label attribute
to the iio core.

If we were going to do a generic binding it would have to be part of the
existing channel bindings. e.g.
Documentation/devicetree/bindings/iio/adc/adc.txt

But here it might be fine to use the gpio-names to fill one in.
Alternative would be to use a binding where the gpio was specified
as part of the per channel child nodes rather than as a single entry.



Reply via email to