Re: [PATCH v2 07/14] iio: sx9310: Use long instead of int for channel bitmaps

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

 



On Wed, Jul 29, 2020 at 4:03 AM Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote:
> Quoting Daniel Campello (2020-07-28 16:05:13)
> > Uses for_each_set_bit() macro to loop over channel bitmaps.

...

> > +       unsigned long chan_prox_stat;
>
> This can be DECLARE_BITMAP(chan_prox_stat, SX9310_NUM_CHANNELS)

> > +       unsigned long chan_read;
> > +       unsigned long chan_event;
>
> Same for these?

...

> > +       prox_changed = (data->chan_prox_stat ^ val) & data->chan_event;
>
> I was expecting:
>
>
>         bitmap_xor(&prox_changed, &data->chan_prox_stat, &val, SX9310_NUM_CHANNELS);
>         bitmap_and(&prox_changed, &data->chan_event, SX9310_NUM_CHANNELS);

I agree with this. On a small number of channels (up to 32) it will be
reduced to simple operations, but will leave a possibility to have
more with easy redefine.

(though _and() above misses one argument AFAICT)

...

> > +       unsigned long channels = 0;
>
> Use DECLARE_BITMAP(channels, SX9310_NUM_CHANNELS)?


-- 
With Best Regards,
Andy Shevchenko



[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