diff options
-rw-r--r-- | arch/nds32/include/asm/bitops.h | 4 | ||||
-rw-r--r-- | arch/nios2/include/asm/bitops/non-atomic.h | 4 | ||||
-rw-r--r-- | arch/riscv/include/asm/bitops.h | 4 | ||||
-rw-r--r-- | arch/x86/include/asm/bitops.h | 2 | ||||
-rw-r--r-- | configs/edminiv2_defconfig | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/composite.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/f_mass_storage.c | 25 |
7 files changed, 20 insertions, 23 deletions
diff --git a/arch/nds32/include/asm/bitops.h b/arch/nds32/include/asm/bitops.h index 7ee37c37bc..f1cdcf3e65 100644 --- a/arch/nds32/include/asm/bitops.h +++ b/arch/nds32/include/asm/bitops.h @@ -44,6 +44,8 @@ static inline void __set_bit(int nr, void *addr) *a |= mask; } +#define PLATFORM__SET_BIT + extern void clear_bit(int nr, void *addr); static inline void __clear_bit(int nr, void *addr) @@ -59,6 +61,8 @@ static inline void __clear_bit(int nr, void *addr) local_irq_restore(flags); } +#define PLATFORM__CLEAR_BIT + extern void change_bit(int nr, void *addr); static inline void __change_bit(int nr, void *addr) diff --git a/arch/nios2/include/asm/bitops/non-atomic.h b/arch/nios2/include/asm/bitops/non-atomic.h index 697cc2b7e0..f746819b43 100644 --- a/arch/nios2/include/asm/bitops/non-atomic.h +++ b/arch/nios2/include/asm/bitops/non-atomic.h @@ -20,6 +20,8 @@ static inline void __set_bit(int nr, volatile unsigned long *addr) *p |= mask; } +#define PLATFORM__SET_BIT + static inline void __clear_bit(int nr, volatile unsigned long *addr) { unsigned long mask = BIT_MASK(nr); @@ -28,6 +30,8 @@ static inline void __clear_bit(int nr, volatile unsigned long *addr) *p &= ~mask; } +#define PLATFORM__CLEAR_BIT + /** * __change_bit - Toggle a bit in memory * @nr: the bit to change diff --git a/arch/riscv/include/asm/bitops.h b/arch/riscv/include/asm/bitops.h index 55d420fdfb..536629bbec 100644 --- a/arch/riscv/include/asm/bitops.h +++ b/arch/riscv/include/asm/bitops.h @@ -42,6 +42,8 @@ static inline void __set_bit(int nr, void *addr) *a |= mask; } +#define PLATFORM__SET_BIT + static inline void __clear_bit(int nr, void *addr) { int *a = (int *)addr; @@ -52,6 +54,8 @@ static inline void __clear_bit(int nr, void *addr) *a &= ~mask; } +#define PLATFORM__CLEAR_BIT + static inline void __change_bit(int nr, void *addr) { int mask; diff --git a/arch/x86/include/asm/bitops.h b/arch/x86/include/asm/bitops.h index f97dc66439..196fcf9d3f 100644 --- a/arch/x86/include/asm/bitops.h +++ b/arch/x86/include/asm/bitops.h @@ -61,6 +61,8 @@ static __inline__ void __set_bit(int nr, volatile void * addr) :"Ir" (nr)); } +#define PLATFORM__SET_BIT + /** * clear_bit - Clears a bit in memory * @nr: Bit to clear diff --git a/configs/edminiv2_defconfig b/configs/edminiv2_defconfig index 1ad1fb7790..5abf81dedd 100644 --- a/configs/edminiv2_defconfig +++ b/configs/edminiv2_defconfig @@ -26,6 +26,8 @@ CONFIG_ENV_IS_IN_FLASH=y CONFIG_MVSATA_IDE=y # CONFIG_MMC is not set CONFIG_MTD_NOR_FLASH=y +CONFIG_NETDEVICES=y +CONFIG_MVGBE=y CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c index e307c738fd..5106cc56cb 100644 --- a/drivers/usb/gadget/composite.c +++ b/drivers/usb/gadget/composite.c @@ -378,7 +378,7 @@ static int set_config(struct usb_composite_dev *cdev, ep = (struct usb_endpoint_descriptor *)*descriptors; addr = ((ep->bEndpointAddress & 0x80) >> 3) | (ep->bEndpointAddress & 0x0f); - __set_bit(addr, f->endpoints); + generic_set_bit(addr, f->endpoints); } result = f->set_alt(f, tmp, 0); diff --git a/drivers/usb/gadget/f_mass_storage.c b/drivers/usb/gadget/f_mass_storage.c index 90c9561563..c7348fcf4b 100644 --- a/drivers/usb/gadget/f_mass_storage.c +++ b/drivers/usb/gadget/f_mass_storage.c @@ -251,6 +251,7 @@ #include <usb_mass_storage.h> #include <asm/unaligned.h> +#include <linux/bitops.h> #include <linux/usb/gadget.h> #include <linux/usb/gadget.h> #include <linux/usb/composite.h> @@ -282,26 +283,6 @@ static const char fsg_string_interface[] = "Mass Storage"; struct kref {int x; }; struct completion {int x; }; -inline void set_bit(int nr, volatile void *addr) -{ - int mask; - unsigned int *a = (unsigned int *) addr; - - a += nr >> 5; - mask = 1 << (nr & 0x1f); - *a |= mask; -} - -inline void clear_bit(int nr, volatile void *addr) -{ - int mask; - unsigned int *a = (unsigned int *) addr; - - a += nr >> 5; - mask = 1 << (nr & 0x1f); - *a &= ~mask; -} - struct fsg_dev; struct fsg_common; @@ -2085,7 +2066,7 @@ static int received_cbw(struct fsg_dev *fsg, struct fsg_buffhd *bh) * we can simply accept and discard any data received * until the next reset. */ wedge_bulk_in_endpoint(fsg); - set_bit(IGNORE_BULK_OUT, &fsg->atomic_bitflags); + generic_set_bit(IGNORE_BULK_OUT, &fsg->atomic_bitflags); return -EINVAL; } @@ -2249,7 +2230,7 @@ reset: fsg->bulk_out_enabled = 1; common->bulk_out_maxpacket = le16_to_cpu(get_unaligned(&d->wMaxPacketSize)); - clear_bit(IGNORE_BULK_OUT, &fsg->atomic_bitflags); + generic_clear_bit(IGNORE_BULK_OUT, &fsg->atomic_bitflags); /* Allocate the requests */ for (i = 0; i < FSG_NUM_BUFFERS; ++i) { |