[PATCH] include/linux/types.h: avoid duplicate definition of atomic64_t when 64BIT && GENERIC_ATOMIC64

From: Darius Rad
Date: Mon Aug 25 2014 - 11:33:07 EST

If CONFIG_64BIT and CONFIG_GENERIC_ATOMIC64 are both y, atomic64_t is
defined in both include/linux/types.h and include/asm-generic/atomic64.h.
Allow the definition in include/asm-generic/atomic64.h to prevail, since
that definition is consistent with the rest of CONFIG_GENERIC_ATOMIC64.

Signed-off-by: Darius Rad <darius@xxxxxxxxxxxx>

It does not appear that this is relevant to architectures that are in the
kernel tree (i.e., no architectures use GENERIC_ATOMIC64 on 64-bit). It
is relevant, however, to certain combinations of options for the RISC-V
architecture currently in development.

Patch generated against 3.17-rc1.

include/linux/types.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-3.17-rc1.orig/include/linux/types.h 2014-08-16 12:40:26.000000000 -0400
+++ linux-3.17-rc1/include/linux/types.h 2014-08-22 14:27:03.012782185 -0400
@@ -177,7 +177,7 @@ typedef struct {
int counter;
} atomic_t;

-#ifdef CONFIG_64BIT
+#if defined(CONFIG_64BIT) && !defined(CONFIG_GENERIC_ATOMIC64)
typedef struct {
long counter;
} atomic64_t;
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/