[U-Boot] [PATCH 0/9] Fixup set_bit/clear_bit definition and usage

Bin Meng
2018-04-27T23:38:30Z

Hi Bryan,

On Fri, Apr 27, 2018 at 11:08 PM, Bryan O'Donoghue
<pure.logic@nexus-software.ie> wrote:
> Following on from a discussion with Marek and Lukasz re: a namespace
> collision with set_bit and clear_bit in f_mass_storage, I noticed some
> inconsistencies in the definition and usage of PLATFORM__SET_BIT and
> PLATFORM__CLEAR_BIT as well as a similar use of __set_bit in the composite
> USB gadget driver.
>
> __set_bit is lock-prefixed on x86 whereas set_bit is not and the analog
> driver in upstream Linux does set_bit() not __set_bit().
>

I am confused. So this changes enables x86's own __set_bit which is
lock-prefixed. But you are saying the upstream Linux is using set_bit
which is not lock-prefixed. Then this is inconsistent again.

> This series addresses all of those inconsistencies.
>
> There are some usages of __set_bit() but those are in SoC specific GPIO
> code-paths and therefore don't really need to change IMO.
>
> Bryan O'Donoghue (9):
> x86: Define PLATFORM__SET_BIT for generic_set_bit()
> riscv: Define PLATFORM__SET_BIT for generic_set_bit()
> riscv: : Define PLATFORM__CLEAR_BIT for generic_clear_bit()
> nios2: Define PLATFORM__SET_BIT for generic_set_bit()
> nios2: : Define PLATFORM__CLEAR_BIT for generic_clear_bit()
> nds32: Define PLATFORM__SET_BIT for generic_set_bit()
> nds2: : Define PLATFORM__CLEAR_BIT for generic_clear_bit()
> usb: f_mass_storage: Fix set_bit and clear_bit usage
> usb: composite convert __set_bit to generic_set_bit
>
> arch/nds32/include/asm/bitops.h | 4 ++++
> arch/nios2/include/asm/bitops/non-atomic.h | 4 ++++
> arch/riscv/include/asm/bitops.h | 4 ++++
> arch/x86/include/asm/bitops.h | 2 ++
> drivers/usb/gadget/composite.c | 2 +-
> drivers/usb/gadget/f_mass_storage.c | 25 +++-------------------
> 6 files changed, 18 insertions(+), 23 deletions(-)
>
> --

Regards,
Bin