Messages in this thread | | | Date | Tue, 12 Jun 2012 22:06:54 +0900 | From | Takuya Yoshikawa <> | Subject | Re: [PATCH 1/4] drivers/net/ethernet/sfc: Add efx_ prefix to set_bit_le() |
| |
On Mon, 11 Jun 2012 14:09:15 +0000 Arnd Bergmann <arnd@arndb.de> wrote:
> On Monday 11 June 2012, Takuya Yoshikawa wrote: > > > > /* Set bit in a little-endian bitfield */ > > -static inline void set_bit_le(unsigned nr, unsigned char *addr) > > +static inline void efx_set_bit_le(unsigned nr, unsigned char *addr) > > { > > addr[nr / 8] |= (1 << (nr % 8)); > > } > > > > /* Clear bit in a little-endian bitfield */ > > -static inline void clear_bit_le(unsigned nr, unsigned char *addr) > > +static inline void efx_clear_bit_le(unsigned nr, unsigned char *addr) > > { > > addr[nr / 8] &= ~(1 << (nr % 8)); > > } > > Hmm, any reason why we're not just using the existing non-atomic > __set_bit_le() here? I think the helpers in sfc and tulip can > just get removed if you use those.
__set_bit_le() assumes long word alignment and does endian conversion when needed.
To be honest, I am a bit scared of changing drivers which I cannot test on real hardware.
Takuya
| |