Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: dsa: qca8k: move mib struct to common code

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>

authored by

Christian Marangi and committed by
Jakub Kicinski
027152b8 533c64bc

+67 -51
+1
drivers/net/dsa/qca/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 obj-$(CONFIG_NET_DSA_AR9331) += ar9331.o 3 3 obj-$(CONFIG_NET_DSA_QCA8K) += qca8k.o 4 + qca8k-y += qca8k-common.o qca8k-8xxx.o
+63
drivers/net/dsa/qca/qca8k-common.c
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Copyright (C) 2009 Felix Fietkau <nbd@nbd.name> 4 + * Copyright (C) 2011-2012 Gabor Juhos <juhosg@openwrt.org> 5 + * Copyright (c) 2015, 2019, The Linux Foundation. All rights reserved. 6 + * Copyright (c) 2016 John Crispin <john@phrozen.org> 7 + */ 8 + 9 + #include <linux/netdevice.h> 10 + #include <net/dsa.h> 11 + 12 + #include "qca8k.h" 13 + 14 + #define MIB_DESC(_s, _o, _n) \ 15 + { \ 16 + .size = (_s), \ 17 + .offset = (_o), \ 18 + .name = (_n), \ 19 + } 20 + 21 + const struct qca8k_mib_desc ar8327_mib[] = { 22 + MIB_DESC(1, 0x00, "RxBroad"), 23 + MIB_DESC(1, 0x04, "RxPause"), 24 + MIB_DESC(1, 0x08, "RxMulti"), 25 + MIB_DESC(1, 0x0c, "RxFcsErr"), 26 + MIB_DESC(1, 0x10, "RxAlignErr"), 27 + MIB_DESC(1, 0x14, "RxRunt"), 28 + MIB_DESC(1, 0x18, "RxFragment"), 29 + MIB_DESC(1, 0x1c, "Rx64Byte"), 30 + MIB_DESC(1, 0x20, "Rx128Byte"), 31 + MIB_DESC(1, 0x24, "Rx256Byte"), 32 + MIB_DESC(1, 0x28, "Rx512Byte"), 33 + MIB_DESC(1, 0x2c, "Rx1024Byte"), 34 + MIB_DESC(1, 0x30, "Rx1518Byte"), 35 + MIB_DESC(1, 0x34, "RxMaxByte"), 36 + MIB_DESC(1, 0x38, "RxTooLong"), 37 + MIB_DESC(2, 0x3c, "RxGoodByte"), 38 + MIB_DESC(2, 0x44, "RxBadByte"), 39 + MIB_DESC(1, 0x4c, "RxOverFlow"), 40 + MIB_DESC(1, 0x50, "Filtered"), 41 + MIB_DESC(1, 0x54, "TxBroad"), 42 + MIB_DESC(1, 0x58, "TxPause"), 43 + MIB_DESC(1, 0x5c, "TxMulti"), 44 + MIB_DESC(1, 0x60, "TxUnderRun"), 45 + MIB_DESC(1, 0x64, "Tx64Byte"), 46 + MIB_DESC(1, 0x68, "Tx128Byte"), 47 + MIB_DESC(1, 0x6c, "Tx256Byte"), 48 + MIB_DESC(1, 0x70, "Tx512Byte"), 49 + MIB_DESC(1, 0x74, "Tx1024Byte"), 50 + MIB_DESC(1, 0x78, "Tx1518Byte"), 51 + MIB_DESC(1, 0x7c, "TxMaxByte"), 52 + MIB_DESC(1, 0x80, "TxOverSize"), 53 + MIB_DESC(2, 0x84, "TxByte"), 54 + MIB_DESC(1, 0x8c, "TxCollision"), 55 + MIB_DESC(1, 0x90, "TxAbortCol"), 56 + MIB_DESC(1, 0x94, "TxMultiCol"), 57 + MIB_DESC(1, 0x98, "TxSingleCol"), 58 + MIB_DESC(1, 0x9c, "TxExcDefer"), 59 + MIB_DESC(1, 0xa0, "TxDefer"), 60 + MIB_DESC(1, 0xa4, "TxLateCol"), 61 + MIB_DESC(1, 0xa8, "RXUnicast"), 62 + MIB_DESC(1, 0xac, "TXUnicast"), 63 + };
-51
drivers/net/dsa/qca/qca8k.c drivers/net/dsa/qca/qca8k-8xxx.c
··· 24 24 25 25 #include "qca8k.h" 26 26 27 - #define MIB_DESC(_s, _o, _n) \ 28 - { \ 29 - .size = (_s), \ 30 - .offset = (_o), \ 31 - .name = (_n), \ 32 - } 33 - 34 - static const struct qca8k_mib_desc ar8327_mib[] = { 35 - MIB_DESC(1, 0x00, "RxBroad"), 36 - MIB_DESC(1, 0x04, "RxPause"), 37 - MIB_DESC(1, 0x08, "RxMulti"), 38 - MIB_DESC(1, 0x0c, "RxFcsErr"), 39 - MIB_DESC(1, 0x10, "RxAlignErr"), 40 - MIB_DESC(1, 0x14, "RxRunt"), 41 - MIB_DESC(1, 0x18, "RxFragment"), 42 - MIB_DESC(1, 0x1c, "Rx64Byte"), 43 - MIB_DESC(1, 0x20, "Rx128Byte"), 44 - MIB_DESC(1, 0x24, "Rx256Byte"), 45 - MIB_DESC(1, 0x28, "Rx512Byte"), 46 - MIB_DESC(1, 0x2c, "Rx1024Byte"), 47 - MIB_DESC(1, 0x30, "Rx1518Byte"), 48 - MIB_DESC(1, 0x34, "RxMaxByte"), 49 - MIB_DESC(1, 0x38, "RxTooLong"), 50 - MIB_DESC(2, 0x3c, "RxGoodByte"), 51 - MIB_DESC(2, 0x44, "RxBadByte"), 52 - MIB_DESC(1, 0x4c, "RxOverFlow"), 53 - MIB_DESC(1, 0x50, "Filtered"), 54 - MIB_DESC(1, 0x54, "TxBroad"), 55 - MIB_DESC(1, 0x58, "TxPause"), 56 - MIB_DESC(1, 0x5c, "TxMulti"), 57 - MIB_DESC(1, 0x60, "TxUnderRun"), 58 - MIB_DESC(1, 0x64, "Tx64Byte"), 59 - MIB_DESC(1, 0x68, "Tx128Byte"), 60 - MIB_DESC(1, 0x6c, "Tx256Byte"), 61 - MIB_DESC(1, 0x70, "Tx512Byte"), 62 - MIB_DESC(1, 0x74, "Tx1024Byte"), 63 - MIB_DESC(1, 0x78, "Tx1518Byte"), 64 - MIB_DESC(1, 0x7c, "TxMaxByte"), 65 - MIB_DESC(1, 0x80, "TxOverSize"), 66 - MIB_DESC(2, 0x84, "TxByte"), 67 - MIB_DESC(1, 0x8c, "TxCollision"), 68 - MIB_DESC(1, 0x90, "TxAbortCol"), 69 - MIB_DESC(1, 0x94, "TxMultiCol"), 70 - MIB_DESC(1, 0x98, "TxSingleCol"), 71 - MIB_DESC(1, 0x9c, "TxExcDefer"), 72 - MIB_DESC(1, 0xa0, "TxDefer"), 73 - MIB_DESC(1, 0xa4, "TxLateCol"), 74 - MIB_DESC(1, 0xa8, "RXUnicast"), 75 - MIB_DESC(1, 0xac, "TXUnicast"), 76 - }; 77 - 78 27 static void 79 28 qca8k_split_addr(u32 regaddr, u16 *r1, u16 *r2, u16 *page) 80 29 {
+3
drivers/net/dsa/qca/qca8k.h
··· 422 422 u8 mac[6]; 423 423 }; 424 424 425 + /* Common setup function */ 426 + extern const struct qca8k_mib_desc ar8327_mib[]; 427 + 425 428 #endif /* __QCA8K_H */