Re: [PATCH 0/3] iio: cleanup masklength usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 26, 2024 at 2:13 AM Nuno Sá <noname.nuno@xxxxxxxxx> wrote:
>
> On Thu, 2024-04-25 at 10:03 -0500, David Lechner wrote:
> > While working on other patches I noticed that a few drivers are setting
> > the masklength field of struct iio_dev even though it is marked as
> > [INTERN]. It looks like maybe this was not always the case, but we can
> > safely clean it up now without breaking anything.
> >
> > ---
> > David Lechner (3):
> >       iio: adc: ad7266: don't set masklength
> >       iio: adc: mxs-lradc-adc: don't set masklength
> >       iio: buffer: initialize masklength accumulator to 0
> >
> >  drivers/iio/adc/ad7266.c          | 1 -
> >  drivers/iio/adc/mxs-lradc-adc.c   | 1 -
> >  drivers/iio/industrialio-buffer.c | 2 +-
> >  3 files changed, 1 insertion(+), 3 deletions(-)
> > ---
> > base-commit: b80ad8e3cd2712b78b98804d1f59199680d8ed91
> > change-id: 20240425-b4-iio-masklength-cleanup-86b632b19901
> >
>
> Hi David,
>
> Nice cleanup. The patches look good to me but there's one thing missing :). As you
> correctly noted, the field should be internal to the IIO core and drivers should not
> touch it. Hence, you need to make sure not driver is using it so we can move it into
> struct iio_dev_opaque [1]. That's the place all the intern fields should, eventually,
> end up.
>
> Now, quite some drivers in the trigger handler will read the masklength for looping
> with for_each_set_bit(). Hence, the straight thing would be an helper to get it.
> Maybe there's a clever way...
>
> I know this is more work than what you had in mind but I think it should be fairly
> simple (hopefully) and since you started it :), maybe we can get the whole thing done
> and remove another [INTERN] member from the iio_dev struct.
>
> [1]: https://elixir.bootlin.com/linux/latest/source/include/linux/iio/iio-opaque.h#L42
>
> - Nuno Sá

Sounds like fun. :-p

I will look into it.





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux