Re: [RFC/RFT 01/10] i2c: add 'is_suspended' flag for i2c adapters

From: Wolfram Sang
Date: Wed Dec 19 2018 - 11:33:37 EST


On Wed, Dec 19, 2018 at 10:39:05AM +0100, Geert Uytterhoeven wrote:
> Hi Wolfram,
>
> On Wed, Dec 19, 2018 at 12:34 AM Wolfram Sang <wsa@xxxxxxxxxxxxx> wrote:
> > > > + unsigned int is_suspended:1; /* owned by the I2C core */
> > >
> > > When more stuff is added to this bit field (which always happens at
> > > some point) updates to all members of the bit field will have to use
> > > the same root-adapter-locking, or we will suffer from RMW-races. So
> > > this feels like an invitation for future disaster. Maybe a comment
> > > about that to remind our future selves? Or perhaps the bit field
> > > should be avoided altogether?
> >
> > Changed to bool. Thanks!
>
> Does that help, given bool is smaller than the CPUs word size?
> Is it Alpha that cannot do atomic operations on bytes?

Yup, I overestimated bools :( I guess good old

unsigned long locked_flags;
#define <PREFIX>_IS_SUSPENDED 0

set_bit(), clear_bit(), and test_bit() is it then.

Attachment: signature.asc
Description: PGP signature