waitbit: Add the generic wait_for_bit macros for 16 and 32 bits. 14/224414/1
authorKursad Oney <kursad.oney@broadcom.com>
Wed, 14 Aug 2019 13:18:33 +0000 (15:18 +0200)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 10 Feb 2020 10:56:05 +0000 (11:56 +0100)
wait_for_bit_le32 and wait_for_bit_le16 use the raw I/O functions
which would default to big-endian on BE systems. Create the generic
equivalents to use the native endianness.

Signed-off-by: Kursad Oney <kursad.oney@broadcom.com>
Reviewed-by: Philippe Reynes <philippe.reynes@softathome.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
[backport of mainline commit c50d670c56109c001875cd72930810b2ddfb29e6]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I4a808d9a343ce1fc259cc973ef222668fe3ff0fd

include/wait_bit.h

index 82e09da..79da081 100644 (file)
@@ -72,10 +72,12 @@ static inline int wait_for_bit_##sfx(const void *reg,                       \
 
 BUILD_WAIT_FOR_BIT(8, u8, readb)
 BUILD_WAIT_FOR_BIT(le16, u16, readw)
+BUILD_WAIT_FOR_BIT(16, u16, readw)
 #ifdef readw_be
 BUILD_WAIT_FOR_BIT(be16, u16, readw_be)
 #endif
 BUILD_WAIT_FOR_BIT(le32, u32, readl)
+BUILD_WAIT_FOR_BIT(32, u32, readl)
 #ifdef readl_be
 BUILD_WAIT_FOR_BIT(be32, u32, readl_be)
 #endif