]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net: dsa: qca8k: move mib struct to common code
authorChristian Marangi <ansuelsmth@gmail.com>
Wed, 27 Jul 2022 11:35:12 +0000 (13:35 +0200)
committerJakub Kicinski <kuba@kernel.org>
Fri, 29 Jul 2022 05:24:38 +0000 (22:24 -0700)
The same MIB struct is used by drivers based on qca8k family switch. Move
it to common code to make it accessible also by other drivers.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/qca/Makefile
drivers/net/dsa/qca/qca8k-8xxx.c [moved from drivers/net/dsa/qca/qca8k.c with 98% similarity]
drivers/net/dsa/qca/qca8k-common.c [new file with mode: 0644]
drivers/net/dsa/qca/qca8k.h

index 40bb7c27285b883e461f5e003984b272c7f6f964..701f1d199e9345ae031365159a7489c97a1c98e3 100644 (file)
@@ -1,3 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
 obj-$(CONFIG_NET_DSA_AR9331)   += ar9331.o
 obj-$(CONFIG_NET_DSA_QCA8K)    += qca8k.o
+qca8k-y                        += qca8k-common.o qca8k-8xxx.o
similarity index 98%
rename from drivers/net/dsa/qca/qca8k.c
rename to drivers/net/dsa/qca/qca8k-8xxx.c
index 02a4765f267ed879e6d04294c18f7a9fa1cbe3f6..e9c4a54bc97a7760ea47f7b4f6f9a5485cdcd44e 100644 (file)
 
 #include "qca8k.h"
 
-#define MIB_DESC(_s, _o, _n)   \
-       {                       \
-               .size = (_s),   \
-               .offset = (_o), \
-               .name = (_n),   \
-       }
-
-static const struct qca8k_mib_desc ar8327_mib[] = {
-       MIB_DESC(1, 0x00, "RxBroad"),
-       MIB_DESC(1, 0x04, "RxPause"),
-       MIB_DESC(1, 0x08, "RxMulti"),
-       MIB_DESC(1, 0x0c, "RxFcsErr"),
-       MIB_DESC(1, 0x10, "RxAlignErr"),
-       MIB_DESC(1, 0x14, "RxRunt"),
-       MIB_DESC(1, 0x18, "RxFragment"),
-       MIB_DESC(1, 0x1c, "Rx64Byte"),
-       MIB_DESC(1, 0x20, "Rx128Byte"),
-       MIB_DESC(1, 0x24, "Rx256Byte"),
-       MIB_DESC(1, 0x28, "Rx512Byte"),
-       MIB_DESC(1, 0x2c, "Rx1024Byte"),
-       MIB_DESC(1, 0x30, "Rx1518Byte"),
-       MIB_DESC(1, 0x34, "RxMaxByte"),
-       MIB_DESC(1, 0x38, "RxTooLong"),
-       MIB_DESC(2, 0x3c, "RxGoodByte"),
-       MIB_DESC(2, 0x44, "RxBadByte"),
-       MIB_DESC(1, 0x4c, "RxOverFlow"),
-       MIB_DESC(1, 0x50, "Filtered"),
-       MIB_DESC(1, 0x54, "TxBroad"),
-       MIB_DESC(1, 0x58, "TxPause"),
-       MIB_DESC(1, 0x5c, "TxMulti"),
-       MIB_DESC(1, 0x60, "TxUnderRun"),
-       MIB_DESC(1, 0x64, "Tx64Byte"),
-       MIB_DESC(1, 0x68, "Tx128Byte"),
-       MIB_DESC(1, 0x6c, "Tx256Byte"),
-       MIB_DESC(1, 0x70, "Tx512Byte"),
-       MIB_DESC(1, 0x74, "Tx1024Byte"),
-       MIB_DESC(1, 0x78, "Tx1518Byte"),
-       MIB_DESC(1, 0x7c, "TxMaxByte"),
-       MIB_DESC(1, 0x80, "TxOverSize"),
-       MIB_DESC(2, 0x84, "TxByte"),
-       MIB_DESC(1, 0x8c, "TxCollision"),
-       MIB_DESC(1, 0x90, "TxAbortCol"),
-       MIB_DESC(1, 0x94, "TxMultiCol"),
-       MIB_DESC(1, 0x98, "TxSingleCol"),
-       MIB_DESC(1, 0x9c, "TxExcDefer"),
-       MIB_DESC(1, 0xa0, "TxDefer"),
-       MIB_DESC(1, 0xa4, "TxLateCol"),
-       MIB_DESC(1, 0xa8, "RXUnicast"),
-       MIB_DESC(1, 0xac, "TXUnicast"),
-};
-
 static void
 qca8k_split_addr(u32 regaddr, u16 *r1, u16 *r2, u16 *page)
 {
diff --git a/drivers/net/dsa/qca/qca8k-common.c b/drivers/net/dsa/qca/qca8k-common.c
new file mode 100644 (file)
index 0000000..7a63e96
--- /dev/null
@@ -0,0 +1,63 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2009 Felix Fietkau <nbd@nbd.name>
+ * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org>
+ * Copyright (c) 2015, 2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016 John Crispin <john@phrozen.org>
+ */
+
+#include <linux/netdevice.h>
+#include <net/dsa.h>
+
+#include "qca8k.h"
+
+#define MIB_DESC(_s, _o, _n)   \
+       {                       \
+               .size = (_s),   \
+               .offset = (_o), \
+               .name = (_n),   \
+       }
+
+const struct qca8k_mib_desc ar8327_mib[] = {
+       MIB_DESC(1, 0x00, "RxBroad"),
+       MIB_DESC(1, 0x04, "RxPause"),
+       MIB_DESC(1, 0x08, "RxMulti"),
+       MIB_DESC(1, 0x0c, "RxFcsErr"),
+       MIB_DESC(1, 0x10, "RxAlignErr"),
+       MIB_DESC(1, 0x14, "RxRunt"),
+       MIB_DESC(1, 0x18, "RxFragment"),
+       MIB_DESC(1, 0x1c, "Rx64Byte"),
+       MIB_DESC(1, 0x20, "Rx128Byte"),
+       MIB_DESC(1, 0x24, "Rx256Byte"),
+       MIB_DESC(1, 0x28, "Rx512Byte"),
+       MIB_DESC(1, 0x2c, "Rx1024Byte"),
+       MIB_DESC(1, 0x30, "Rx1518Byte"),
+       MIB_DESC(1, 0x34, "RxMaxByte"),
+       MIB_DESC(1, 0x38, "RxTooLong"),
+       MIB_DESC(2, 0x3c, "RxGoodByte"),
+       MIB_DESC(2, 0x44, "RxBadByte"),
+       MIB_DESC(1, 0x4c, "RxOverFlow"),
+       MIB_DESC(1, 0x50, "Filtered"),
+       MIB_DESC(1, 0x54, "TxBroad"),
+       MIB_DESC(1, 0x58, "TxPause"),
+       MIB_DESC(1, 0x5c, "TxMulti"),
+       MIB_DESC(1, 0x60, "TxUnderRun"),
+       MIB_DESC(1, 0x64, "Tx64Byte"),
+       MIB_DESC(1, 0x68, "Tx128Byte"),
+       MIB_DESC(1, 0x6c, "Tx256Byte"),
+       MIB_DESC(1, 0x70, "Tx512Byte"),
+       MIB_DESC(1, 0x74, "Tx1024Byte"),
+       MIB_DESC(1, 0x78, "Tx1518Byte"),
+       MIB_DESC(1, 0x7c, "TxMaxByte"),
+       MIB_DESC(1, 0x80, "TxOverSize"),
+       MIB_DESC(2, 0x84, "TxByte"),
+       MIB_DESC(1, 0x8c, "TxCollision"),
+       MIB_DESC(1, 0x90, "TxAbortCol"),
+       MIB_DESC(1, 0x94, "TxMultiCol"),
+       MIB_DESC(1, 0x98, "TxSingleCol"),
+       MIB_DESC(1, 0x9c, "TxExcDefer"),
+       MIB_DESC(1, 0xa0, "TxDefer"),
+       MIB_DESC(1, 0xa4, "TxLateCol"),
+       MIB_DESC(1, 0xa8, "RXUnicast"),
+       MIB_DESC(1, 0xac, "TXUnicast"),
+};
index 377ce8c729142d810618c9f776316b9d6a4f9dc3..0f274bb350f83c89fdb205ff0cdef9398ec47546 100644 (file)
@@ -422,4 +422,7 @@ struct qca8k_fdb {
        u8 mac[6];
 };
 
+/* Common setup function */
+extern const struct qca8k_mib_desc ar8327_mib[];
+
 #endif /* __QCA8K_H */