lkml.org 
[lkml]   [2020]   [Jul]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v2 07/14] iio: sx9310: Use long instead of int for channel bitmaps
    On Wed, Jul 29, 2020 at 1:00 AM Andy Shevchenko
    <andy.shevchenko@gmail.com> wrote:
    >
    > On Wed, Jul 29, 2020 at 4:03 AM Stephen Boyd <swboyd@chromium.org> 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?
    All of these are eventually used by regmap_update_bits() which expects
    unsigned int. I believe the extra complexity is not worth it given the
    number of channels.
    >
    > ...
    >
    > > > + 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

    \
     
     \ /
      Last update: 2020-07-31 17:45    [W:2.122 / U:0.412 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site