usb: composite: Move bitmap related operations to ./include/linux/bitmap.h

The BITMAP related operations can now be moved to ./include/linux/bitmap.h
file to mimic the Linux kernel directory tree.

This change also allows to remove the lin_gadget_compat.h header file
(which is a legacy code only for composite U-boot layer).
It was also possible to remove #includes from several USB gadget drivers.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Stefan Agner <stefan.agner@toradex.com>
This commit is contained in:
Lukasz Majewski 2018-11-23 17:36:19 +01:00 committed by Marek Vasut
parent bb00a015d6
commit 916fa09799
14 changed files with 28 additions and 46 deletions

View File

@ -16,7 +16,6 @@
#include <common.h>
#include <malloc.h>
#include <asm/dma-mapping.h>
#include <usb/lin_gadget_compat.h>
#include <linux/bug.h>
#include <linux/list.h>

View File

@ -19,7 +19,6 @@
#include <common.h>
#include <malloc.h>
#include <ti-usb-phy-uboot.h>
#include <usb/lin_gadget_compat.h>
#include <linux/ioport.h>
#include <asm/io.h>
#include <asm/arch/sys_proto.h>

View File

@ -10,7 +10,6 @@
#include <malloc.h>
#include <memalign.h>
#include <usb.h>
#include <usb/lin_gadget_compat.h>
#include <linux/mii.h>
#include <linux/bitops.h>
#include "usb_ether.h"

View File

@ -24,7 +24,6 @@
#include <linux/usb/gadget.h>
#include <linux/usb/at91_udc.h>
#include <malloc.h>
#include <usb/lin_gadget_compat.h>
#include "at91_udc.h"

View File

@ -16,7 +16,6 @@
#include <linux/usb/gadget.h>
#include <linux/usb/atmel_usba_udc.h>
#include <malloc.h>
#include <usb/lin_gadget_compat.h>
#include "atmel_usba_udc.h"

View File

@ -33,7 +33,6 @@
#include "dwc2_udc_otg_regs.h"
#include "dwc2_udc_otg_priv.h"
#include <usb/lin_gadget_compat.h>
/***********************************************************/

View File

@ -33,7 +33,6 @@
#include "dwc2_udc_otg_regs.h"
#include "dwc2_udc_otg_priv.h"
#include <usb/lin_gadget_compat.h>
#include <usb/dwc2_udc.h>

View File

@ -12,7 +12,6 @@
#include <linux/usb/ch9.h>
#include <linux/usb/gadget.h>
#include <linux/list.h>
#include <usb/lin_gadget_compat.h>
#include <usb/dwc2_udc.h>
/*-------------------------------------------------------------------------*/

View File

@ -256,7 +256,7 @@
#include <linux/usb/gadget.h>
#include <linux/usb/gadget.h>
#include <linux/usb/composite.h>
#include <usb/lin_gadget_compat.h>
#include <linux/bitmap.h>
#include <g_dnl.h>
/*------------------------------------------------------------------------*/

View File

@ -29,7 +29,6 @@
#include <linux/usb/ch9.h>
#include <linux/usb/gadget.h>
#include <usb/lin_gadget_compat.h>
#include <asm/arch/pxa-regs.h>
#include "pxa25x_udc.h"

23
include/linux/bitmap.h Normal file
View File

@ -0,0 +1,23 @@
// SPDX-License-Identifier: GPL-2.0+
#ifndef __LINUX_BITMAP_H
#define __LINUX_BITMAP_H
#include <asm/types.h>
#include <linux/types.h>
#include <linux/bitops.h>
#define small_const_nbits(nbits) \
(__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG)
static inline void bitmap_zero(unsigned long *dst, int nbits)
{
if (small_const_nbits(nbits)) {
*dst = 0UL;
} else {
int len = BITS_TO_LONGS(nbits) * sizeof(unsigned long);
memset(dst, 0, len);
}
}
#endif /* __LINUX_BITMAP_H */

View File

@ -158,4 +158,7 @@ struct ustat {
char f_fpack[6];
};
#define DECLARE_BITMAP(name, bits) \
unsigned long name[BITS_TO_LONGS(bits)]
#endif /* _LINUX_TYPES_H */

View File

@ -24,7 +24,7 @@
#include <common.h>
#include <linux/usb/ch9.h>
#include <linux/usb/gadget.h>
#include <usb/lin_gadget_compat.h>
#include <linux/bitmap.h>
/*
* USB function drivers should return USB_GADGET_DELAYED_STATUS if they

View File

@ -1,35 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Copyright (c) 2011 Samsung Electronics
* Lukasz Majewski <l.majewski@samsung.com>
*
* This is a Linux kernel compatibility layer for USB Gadget
*/
#ifndef __LIN_COMPAT_H__
#define __LIN_COMPAT_H__
#include <linux/bitops.h>
#include <linux/compat.h>
/* common */
#define DECLARE_BITMAP(name, bits) \
unsigned long name[BITS_TO_LONGS(bits)]
#define small_const_nbits(nbits) \
(__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG)
static inline void bitmap_zero(unsigned long *dst, int nbits)
{
if (small_const_nbits(nbits))
*dst = 0UL;
else {
int len = BITS_TO_LONGS(nbits) * sizeof(unsigned long);
memset(dst, 0, len);
}
}
#define dma_cache_maint(addr, size, mode) cache_flush()
void cache_flush(void);
#endif /* __LIN_COMPAT_H__ */