1234567891011121314151617181920212223242526272829303132333435363738 |
- /*
- * Copyright (c) 2011 Samsung Electronics
- * Lukasz Majewski <l.majewski@samsung.com>
- *
- * This is a Linux kernel compatibility layer for USB Gadget
- *
- * SPDX-License-Identifier: GPL-2.0+
- */
- #ifndef __LIN_COMPAT_H__
- #define __LIN_COMPAT_H__
- #include <linux/compat.h>
- /* common */
- #define BITS_PER_BYTE 8
- #define BITS_TO_LONGS(nr) \
- DIV_ROUND_UP(nr, BITS_PER_BYTE * sizeof(long))
- #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__ */
|