Re: [PATCH 1/4] drivers/net/ethernet/sfc: Add efx_ prefix to set_bit_le()
From: Takuya Yoshikawa <hidden>
Date: 2012-06-12 13:07:04
Also in:
kvm, linux-arch, lkml
From: Takuya Yoshikawa <hidden>
Date: 2012-06-12 13:07:04
Also in:
kvm, linux-arch, lkml
On Mon, 11 Jun 2012 14:09:15 +0000 Arnd Bergmann [off-list ref] wrote:
On Monday 11 June 2012, Takuya Yoshikawa wrote:quoted
/* 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