On Sat, 26 Oct 2013 12:56:11 +0100 Michal Nazarewicz <m...@google.com> wrote:
> From: Michal Nazarewicz <min...@mina86.com> > > Changing flags field of the w1_slave to unsigned long may on > some architectures increase the size of the structure, but > otherwise makes the code more kosher as casting is avoided > and *_bit family of calls do not attempt to operate on an > entity of bigger size than realy is available. > > The current behaviour does not introduce any bugs (since any > bytes past flags field are preserved) hm, what does this mean.... > --- a/drivers/w1/w1.c > +++ b/drivers/w1/w1.c > @@ -709,7 +709,7 @@ static int w1_attach_slave_device(struct w1_master *dev, > struct w1_reg_num *rn) > > sl->owner = THIS_MODULE; > sl->master = dev; > - set_bit(W1_SLAVE_ACTIVE, (long *)&sl->flags); > + set_bit(W1_SLAVE_ACTIVE, &sl->flags); ... I'd have though that running this code on little-endian 64-bit would result in a scribble over ... > --- a/drivers/w1/w1.h > +++ b/drivers/w1/w1.h > @@ -67,8 +67,8 @@ struct w1_slave > struct w1_reg_num reg_num; > atomic_t refcnt; > u8 rom[9]; > - u32 flags; > int ttl; ... w1_slave.ttl? > + unsigned long flags; > > struct w1_master *master; > struct w1_family *family; > > ... > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/