On Sat, 21 Apr 2018 08:54:45 -0300 Rodrigo Siqueira <rodrigosiqueiramelo@xxxxxxxxx> wrote: > This patchset aims to update ADE7854 by adding the required IIO API > components. The first patch adds the iio_chan_spec for handling seven > different registers (all of them with a similar behavior). The second > patch appends the read_raw function defined by the IIO API. Finally, the > third patch adds the write_raw function and remove the attributes used > for handling the seven registers. This patchset has the contribution of > John Syne, which was responsible for mapping the correct ABI name per > element in the ADE7854; additionally, John provided codes that helped to > shape these patches. > > Rodrigo Siqueira (3): > stagging:iio:meter: Add iio_chan_spec > stagging:iio:meter: Add ade7854_read_raw function > stagging:iio:meter: Add ade7854_write_raw function > > drivers/staging/iio/meter/ade7854.c | 129 ++++++++++++++++++++-------- > 1 file changed, 94 insertions(+), 35 deletions(-) > Hi Rodrigo, Please don't do it like this. The original discussion with John involved the addition of an extra chunk of core logic so we would have the ability to specify the channel without using extended_name. Extended name is not intended to differentiate between channels (it isn't in general enough to do so - though it works in this little corner case of sysfs attributes like you have here). So the plan is to add another field to the iio_chan_spec structure to allow for the complexity we need. See the long discussions over how we represent the myriad of channels in here. If you need some pointers, feel free to ask but it may take me a little while to put together a full description of what needs doing. I'll put a few more direct comments in the individual patches. Thanks, Jonathan -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html