netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/3] net: dsa: microchip: rename and clean ksz8 series files
@ 2024-08-30 14:12 vtpieter
  2024-08-30 14:12 ` [PATCH net-next v2 1/3] net: dsa: microchip: rename " vtpieter
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: vtpieter @ 2024-08-30 14:12 UTC (permalink / raw)
  To: Woojung Huh, UNGLinuxDriver, Andrew Lunn, Florian Fainelli,
	Vladimir Oltean, David S . Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Russell King
  Cc: netdev, linux-kernel, Arun.Ramadoss, Tristram.Ha, o.rempel,
	Pieter Van Trappen

From: Pieter Van Trappen <pieter.van.trappen@cern.ch>

The first KSZ8 series implementation was done for a KSZ8795 device but
since several other KSZ8 devices have been added. Rename these files
to adhere to the ksz8 naming convention as already used in most
functions and the existing ksz8.h; add an explanatory note.

In addition, clean the files by removing macros that are defined at
more than one place and remove confusion by renaming the KSZ8830
string which in fact is not an existing KSZ series switch.

Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch>
---
v2:
 - more finegrained description in Kconfig and ksz8.c header
 - add KSZ8830 renaming

v1: https://lore.kernel.org/netdev/20240828102801.227588-1-vtpieter@gmail.com/

Pieter Van Trappen (3):
  net: dsa: microchip: rename ksz8 series files
  net: dsa: microchip: clean up ksz8_reg definition macros
  net: dsa: microchip: replace unclear KSZ8830 strings

 drivers/net/dsa/microchip/Kconfig             |  9 ++--
 drivers/net/dsa/microchip/Makefile            |  2 +-
 .../net/dsa/microchip/{ksz8795.c => ksz8.c}   | 13 +++--
 drivers/net/dsa/microchip/ksz8863_smi.c       |  4 +-
 .../microchip/{ksz8795_reg.h => ksz8_reg.h}   | 15 +++---
 drivers/net/dsa/microchip/ksz_common.c        | 48 +++++++++----------
 drivers/net/dsa/microchip/ksz_common.h        |  5 +-
 drivers/net/dsa/microchip/ksz_spi.c           |  6 +--
 include/linux/platform_data/microchip-ksz.h   |  2 +-
 9 files changed, 58 insertions(+), 46 deletions(-)
 rename drivers/net/dsa/microchip/{ksz8795.c => ksz8.c} (99%)
 rename drivers/net/dsa/microchip/{ksz8795_reg.h => ksz8_reg.h} (98%)


base-commit: e5899b60f52a7591cfc2a2dec3e83710975117d7
-- 
2.43.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH net-next v2 1/3] net: dsa: microchip: rename ksz8 series files
  2024-08-30 14:12 [PATCH net-next v2 0/3] net: dsa: microchip: rename and clean ksz8 series files vtpieter
@ 2024-08-30 14:12 ` vtpieter
  2024-09-02  2:56   ` Arun.Ramadoss
  2024-08-30 14:12 ` [PATCH net-next v2 2/3] net: dsa: microchip: clean up ksz8_reg definition macros vtpieter
  2024-08-30 14:12 ` [PATCH net-next v2 3/3] net: dsa: microchip: replace unclear KSZ8830 strings vtpieter
  2 siblings, 1 reply; 11+ messages in thread
From: vtpieter @ 2024-08-30 14:12 UTC (permalink / raw)
  To: Woojung Huh, UNGLinuxDriver, Andrew Lunn, Florian Fainelli,
	Vladimir Oltean, David S . Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Russell King
  Cc: netdev, linux-kernel, Arun.Ramadoss, Tristram.Ha, o.rempel,
	Pieter Van Trappen

From: Pieter Van Trappen <pieter.van.trappen@cern.ch>

The first KSZ8 series implementation was done for a KSZ8795 device but
since several other KSZ8 devices have been added. Rename these files
to adhere to the ksz8 naming convention as already used in most
functions and the existing ksz8.h; add an explanatory note.

Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch>
---
 drivers/net/dsa/microchip/Kconfig                     |  9 ++++++---
 drivers/net/dsa/microchip/Makefile                    |  2 +-
 drivers/net/dsa/microchip/{ksz8795.c => ksz8.c}       | 11 +++++++++--
 .../net/dsa/microchip/{ksz8795_reg.h => ksz8_reg.h}   | 11 ++++++++---
 4 files changed, 24 insertions(+), 9 deletions(-)
 rename drivers/net/dsa/microchip/{ksz8795.c => ksz8.c} (99%)
 rename drivers/net/dsa/microchip/{ksz8795_reg.h => ksz8_reg.h} (98%)

diff --git a/drivers/net/dsa/microchip/Kconfig b/drivers/net/dsa/microchip/Kconfig
index c1b906c05a02..d43535c9aa72 100644
--- a/drivers/net/dsa/microchip/Kconfig
+++ b/drivers/net/dsa/microchip/Kconfig
@@ -1,14 +1,17 @@
 # SPDX-License-Identifier: GPL-2.0-only
 menuconfig NET_DSA_MICROCHIP_KSZ_COMMON
-	tristate "Microchip KSZ8795/KSZ9477/LAN937x series switch support"
+	tristate "Microchip KSZ8XXX/KSZ9477/LAN937X series switch support"
 	depends on NET_DSA
 	select NET_DSA_TAG_KSZ
 	select NET_DSA_TAG_NONE
 	select NET_IEEE8021Q_HELPERS
 	select DCB
 	help
-	  This driver adds support for Microchip KSZ9477 series switch and
-	  KSZ8795/KSZ88x3 switch chips.
+	  This driver adds support for Microchip KSZ9477 series,
+	  LAN937X series and KSZ8 series switch chips, being
+	  KSZ9477/9896/9897/9893/9563/9567,
+	  LAN9370/9371/9372/9373/9374, KSZ8863/8873, KSZ8895/8864 and
+	  KSZ8794/8795/8765.
 
 config NET_DSA_MICROCHIP_KSZ9477_I2C
 	tristate "KSZ series I2C connected switch driver"
diff --git a/drivers/net/dsa/microchip/Makefile b/drivers/net/dsa/microchip/Makefile
index 1cfba1ec9355..9347cfb3d0b5 100644
--- a/drivers/net/dsa/microchip/Makefile
+++ b/drivers/net/dsa/microchip/Makefile
@@ -2,7 +2,7 @@
 obj-$(CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON)	+= ksz_switch.o
 ksz_switch-objs := ksz_common.o ksz_dcb.o
 ksz_switch-objs += ksz9477.o ksz9477_acl.o ksz9477_tc_flower.o
-ksz_switch-objs += ksz8795.o
+ksz_switch-objs += ksz8.o
 ksz_switch-objs += lan937x_main.o
 
 ifdef CONFIG_NET_DSA_MICROCHIP_KSZ_PTP
diff --git a/drivers/net/dsa/microchip/ksz8795.c b/drivers/net/dsa/microchip/ksz8.c
similarity index 99%
rename from drivers/net/dsa/microchip/ksz8795.c
rename to drivers/net/dsa/microchip/ksz8.c
index aa09d89debf0..7af3c0853505 100644
--- a/drivers/net/dsa/microchip/ksz8795.c
+++ b/drivers/net/dsa/microchip/ksz8.c
@@ -1,6 +1,13 @@
 // SPDX-License-Identifier: GPL-2.0
 /*
- * Microchip KSZ8795 switch driver
+ * Microchip KSZ8XXX series switch driver
+ *
+ * It supports the following switches:
+ * - KSZ8863, KSZ8873 aka KSZ88X3
+ * - KSZ8895, KSZ8864 aka KSZ8895 family
+ * - KSZ8794, KSZ8795, KSZ8765 aka KSZ87XX
+ * Note that it does NOT support:
+ * - KSZ8563, KSZ8567 - see KSZ9477 driver
  *
  * Copyright (C) 2017 Microchip Technology Inc.
  *	Tristram Ha <Tristram.Ha@microchip.com>
@@ -23,7 +30,7 @@
 #include <linux/phylink.h>
 
 #include "ksz_common.h"
-#include "ksz8795_reg.h"
+#include "ksz8_reg.h"
 #include "ksz8.h"
 
 static void ksz_cfg(struct ksz_device *dev, u32 addr, u8 bits, bool set)
diff --git a/drivers/net/dsa/microchip/ksz8795_reg.h b/drivers/net/dsa/microchip/ksz8_reg.h
similarity index 98%
rename from drivers/net/dsa/microchip/ksz8795_reg.h
rename to drivers/net/dsa/microchip/ksz8_reg.h
index 69566a5d9cda..ff264d57594f 100644
--- a/drivers/net/dsa/microchip/ksz8795_reg.h
+++ b/drivers/net/dsa/microchip/ksz8_reg.h
@@ -1,13 +1,18 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
- * Microchip KSZ8795 register definitions
+ * Microchip KSZ8XXX series register definitions
+ *
+ * The base for these definitions is KSZ8795 but unless indicated
+ * differently by their prefix, they apply to all KSZ8 series
+ * devices. Registers and masks that do change are defined in
+ * dedicated structures in ksz_common.c.
  *
  * Copyright (c) 2017 Microchip Technology Inc.
  *	Tristram Ha <Tristram.Ha@microchip.com>
  */
 
-#ifndef __KSZ8795_REG_H
-#define __KSZ8795_REG_H
+#ifndef __KSZ8_REG_H
+#define __KSZ8_REG_H
 
 #define KS_PORT_M			0x1F
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH net-next v2 2/3] net: dsa: microchip: clean up ksz8_reg definition macros
  2024-08-30 14:12 [PATCH net-next v2 0/3] net: dsa: microchip: rename and clean ksz8 series files vtpieter
  2024-08-30 14:12 ` [PATCH net-next v2 1/3] net: dsa: microchip: rename " vtpieter
@ 2024-08-30 14:12 ` vtpieter
  2024-09-02  3:25   ` Arun.Ramadoss
  2024-08-30 14:12 ` [PATCH net-next v2 3/3] net: dsa: microchip: replace unclear KSZ8830 strings vtpieter
  2 siblings, 1 reply; 11+ messages in thread
From: vtpieter @ 2024-08-30 14:12 UTC (permalink / raw)
  To: Woojung Huh, UNGLinuxDriver, Andrew Lunn, Florian Fainelli,
	Vladimir Oltean, David S . Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Russell King
  Cc: netdev, linux-kernel, Arun.Ramadoss, Tristram.Ha, o.rempel,
	Pieter Van Trappen

From: Pieter Van Trappen <pieter.van.trappen@cern.ch>

Remove macros that are already defined at more appropriate places.

Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch>
---
 drivers/net/dsa/microchip/ksz8_reg.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/net/dsa/microchip/ksz8_reg.h b/drivers/net/dsa/microchip/ksz8_reg.h
index ff264d57594f..329688603a58 100644
--- a/drivers/net/dsa/microchip/ksz8_reg.h
+++ b/drivers/net/dsa/microchip/ksz8_reg.h
@@ -364,8 +364,6 @@
 #define REG_IND_DATA_1			0x77
 #define REG_IND_DATA_0			0x78
 
-#define REG_IND_DATA_PME_EEE_ACL	0xA0
-
 #define REG_INT_STATUS			0x7C
 #define REG_INT_ENABLE			0x7D
 
@@ -709,8 +707,6 @@
 #define KSZ8795_ID_LO			0x1550
 #define KSZ8863_ID_LO			0x1430
 
-#define KSZ8795_SW_ID			0x8795
-
 #define PHY_REG_LINK_MD			0x1D
 
 #define PHY_START_CABLE_DIAG		BIT(15)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH net-next v2 3/3] net: dsa: microchip: replace unclear KSZ8830 strings
  2024-08-30 14:12 [PATCH net-next v2 0/3] net: dsa: microchip: rename and clean ksz8 series files vtpieter
  2024-08-30 14:12 ` [PATCH net-next v2 1/3] net: dsa: microchip: rename " vtpieter
  2024-08-30 14:12 ` [PATCH net-next v2 2/3] net: dsa: microchip: clean up ksz8_reg definition macros vtpieter
@ 2024-08-30 14:12 ` vtpieter
  2024-09-02  3:32   ` Arun.Ramadoss
  2 siblings, 1 reply; 11+ messages in thread
From: vtpieter @ 2024-08-30 14:12 UTC (permalink / raw)
  To: Woojung Huh, UNGLinuxDriver, Andrew Lunn, Florian Fainelli,
	Vladimir Oltean, David S . Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Russell King
  Cc: netdev, linux-kernel, Arun.Ramadoss, Tristram.Ha, o.rempel,
	Pieter Van Trappen

From: Pieter Van Trappen <pieter.van.trappen@cern.ch>

Replace uppercase KSZ8830 with KSZ8863 and lowercase ksz8830 with
ksz88x3 strings. This because KSZ8830 is not an actual switch but it's
the Chip ID shared among KSZ8863/KSZ8873 switches, impossible to
differentiate from their Chip ID or Revision registers.

Now all KSZ*_CHIP_ID macros refer to actual, existing switches which
removes confusion.

Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch>
---
 drivers/net/dsa/microchip/ksz8.c            |  2 +-
 drivers/net/dsa/microchip/ksz8863_smi.c     |  4 +-
 drivers/net/dsa/microchip/ksz_common.c      | 48 ++++++++++-----------
 drivers/net/dsa/microchip/ksz_common.h      |  5 ++-
 drivers/net/dsa/microchip/ksz_spi.c         |  6 +--
 include/linux/platform_data/microchip-ksz.h |  2 +-
 6 files changed, 34 insertions(+), 33 deletions(-)

diff --git a/drivers/net/dsa/microchip/ksz8.c b/drivers/net/dsa/microchip/ksz8.c
index 7af3c0853505..4c15e0911636 100644
--- a/drivers/net/dsa/microchip/ksz8.c
+++ b/drivers/net/dsa/microchip/ksz8.c
@@ -194,7 +194,7 @@ int ksz8_change_mtu(struct ksz_device *dev, int port, int mtu)
 	case KSZ8794_CHIP_ID:
 	case KSZ8765_CHIP_ID:
 		return ksz8795_change_mtu(dev, frame_size);
-	case KSZ8830_CHIP_ID:
+	case KSZ8863_CHIP_ID:
 	case KSZ8864_CHIP_ID:
 	case KSZ8895_CHIP_ID:
 		return ksz8863_change_mtu(dev, frame_size);
diff --git a/drivers/net/dsa/microchip/ksz8863_smi.c b/drivers/net/dsa/microchip/ksz8863_smi.c
index 5711a59e2ac9..c28cb84771c1 100644
--- a/drivers/net/dsa/microchip/ksz8863_smi.c
+++ b/drivers/net/dsa/microchip/ksz8863_smi.c
@@ -199,11 +199,11 @@ static void ksz8863_smi_shutdown(struct mdio_device *mdiodev)
 static const struct of_device_id ksz8863_dt_ids[] = {
 	{
 		.compatible = "microchip,ksz8863",
-		.data = &ksz_switch_chips[KSZ8830]
+		.data = &ksz_switch_chips[KSZ8863]
 	},
 	{
 		.compatible = "microchip,ksz8873",
-		.data = &ksz_switch_chips[KSZ8830]
+		.data = &ksz_switch_chips[KSZ8863]
 	},
 	{ },
 };
diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c
index 6609bf271ad0..1276d7455e5c 100644
--- a/drivers/net/dsa/microchip/ksz_common.c
+++ b/drivers/net/dsa/microchip/ksz_common.c
@@ -246,16 +246,16 @@ static const struct ksz_drive_strength ksz9477_drive_strengths[] = {
 	{ SW_DRIVE_STRENGTH_28MA, 28000 },
 };
 
-/* ksz8830_drive_strengths - Drive strength mapping for KSZ8830, KSZ8873, ..
+/* ksz88x3_drive_strengths - Drive strength mapping for KSZ8863, KSZ8873, ..
  *			     variants.
  * This values are documented in KSZ8873 and KSZ8863 datasheets.
  */
-static const struct ksz_drive_strength ksz8830_drive_strengths[] = {
+static const struct ksz_drive_strength ksz88x3_drive_strengths[] = {
 	{ 0,  8000 },
 	{ KSZ8873_DRIVE_STRENGTH_16MA, 16000 },
 };
 
-static void ksz8830_phylink_mac_config(struct phylink_config *config,
+static void ksz88x3_phylink_mac_config(struct phylink_config *config,
 				       unsigned int mode,
 				       const struct phylink_link_state *state);
 static void ksz_phylink_mac_config(struct phylink_config *config,
@@ -265,8 +265,8 @@ static void ksz_phylink_mac_link_down(struct phylink_config *config,
 				      unsigned int mode,
 				      phy_interface_t interface);
 
-static const struct phylink_mac_ops ksz8830_phylink_mac_ops = {
-	.mac_config	= ksz8830_phylink_mac_config,
+static const struct phylink_mac_ops ksz88x3_phylink_mac_ops = {
+	.mac_config	= ksz88x3_phylink_mac_config,
 	.mac_link_down	= ksz_phylink_mac_link_down,
 	.mac_link_up	= ksz8_phylink_mac_link_up,
 };
@@ -1442,8 +1442,8 @@ const struct ksz_chip_data ksz_switch_chips[] = {
 		.internal_phy = {true, true, true, true, false},
 	},
 
-	[KSZ8830] = {
-		.chip_id = KSZ8830_CHIP_ID,
+	[KSZ8863] = {
+		.chip_id = KSZ8863_CHIP_ID,
 		.dev_name = "KSZ8863/KSZ8873",
 		.num_vlans = 16,
 		.num_alus = 0,
@@ -1453,7 +1453,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
 		.num_tx_queues = 4,
 		.num_ipms = 4,
 		.ops = &ksz88xx_dev_ops,
-		.phylink_mac_ops = &ksz8830_phylink_mac_ops,
+		.phylink_mac_ops = &ksz88x3_phylink_mac_ops,
 		.mib_names = ksz88xx_mib_names,
 		.mib_cnt = ARRAY_SIZE(ksz88xx_mib_names),
 		.reg_mib_cnt = MIB_COUNTER_NUM,
@@ -1487,7 +1487,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
 		.num_tx_queues = 4,
 		.num_ipms = 4,
 		.ops = &ksz88xx_dev_ops,
-		.phylink_mac_ops = &ksz8830_phylink_mac_ops,
+		.phylink_mac_ops = &ksz88x3_phylink_mac_ops,
 		.mib_names = ksz88xx_mib_names,
 		.mib_cnt = ARRAY_SIZE(ksz88xx_mib_names),
 		.reg_mib_cnt = MIB_COUNTER_NUM,
@@ -1510,7 +1510,7 @@ const struct ksz_chip_data ksz_switch_chips[] = {
 		.num_tx_queues = 4,
 		.num_ipms = 4,
 		.ops = &ksz88xx_dev_ops,
-		.phylink_mac_ops = &ksz8830_phylink_mac_ops,
+		.phylink_mac_ops = &ksz88x3_phylink_mac_ops,
 		.mib_names = ksz88xx_mib_names,
 		.mib_cnt = ARRAY_SIZE(ksz88xx_mib_names),
 		.reg_mib_cnt = MIB_COUNTER_NUM,
@@ -2724,7 +2724,7 @@ static u32 ksz_get_phy_flags(struct dsa_switch *ds, int port)
 	struct ksz_device *dev = ds->priv;
 
 	switch (dev->chip_id) {
-	case KSZ8830_CHIP_ID:
+	case KSZ8863_CHIP_ID:
 		/* Silicon Errata Sheet (DS80000830A):
 		 * Port 1 does not work with LinkMD Cable-Testing.
 		 * Port 1 does not respond to received PAUSE control frames.
@@ -3050,7 +3050,7 @@ static enum dsa_tag_protocol ksz_get_tag_protocol(struct dsa_switch *ds,
 	if (ksz_is_ksz87xx(dev) || ksz_is_8895_family(dev))
 		proto = DSA_TAG_PROTO_KSZ8795;
 
-	if (dev->chip_id == KSZ8830_CHIP_ID ||
+	if (dev->chip_id == KSZ8863_CHIP_ID ||
 	    dev->chip_id == KSZ8563_CHIP_ID ||
 	    dev->chip_id == KSZ9893_CHIP_ID ||
 	    dev->chip_id == KSZ9563_CHIP_ID)
@@ -3162,7 +3162,7 @@ static int ksz_max_mtu(struct dsa_switch *ds, int port)
 	case KSZ8794_CHIP_ID:
 	case KSZ8765_CHIP_ID:
 		return KSZ8795_HUGE_PACKET_SIZE - VLAN_ETH_HLEN - ETH_FCS_LEN;
-	case KSZ8830_CHIP_ID:
+	case KSZ8863_CHIP_ID:
 	case KSZ8864_CHIP_ID:
 	case KSZ8895_CHIP_ID:
 		return KSZ8863_HUGE_PACKET_SIZE - VLAN_ETH_HLEN - ETH_FCS_LEN;
@@ -3334,7 +3334,7 @@ phy_interface_t ksz_get_xmii(struct ksz_device *dev, int port, bool gbit)
 	return interface;
 }
 
-static void ksz8830_phylink_mac_config(struct phylink_config *config,
+static void ksz88x3_phylink_mac_config(struct phylink_config *config,
 				       unsigned int mode,
 				       const struct phylink_link_state *state)
 {
@@ -3518,7 +3518,7 @@ static int ksz_switch_detect(struct ksz_device *dev)
 		break;
 	case KSZ88_FAMILY_ID:
 		if (id2 == KSZ88_CHIP_ID_63)
-			dev->chip_id = KSZ8830_CHIP_ID;
+			dev->chip_id = KSZ8863_CHIP_ID;
 		else
 			return -ENODEV;
 		break;
@@ -4592,24 +4592,24 @@ static int ksz9477_drive_strength_write(struct ksz_device *dev,
 }
 
 /**
- * ksz8830_drive_strength_write() - Set the drive strength configuration for
- *				    KSZ8830 compatible chip variants.
+ * ksz88x3_drive_strength_write() - Set the drive strength configuration for
+ *				    KSZ8863 compatible chip variants.
  * @dev:       ksz device
  * @props:     Array of drive strength properties to be set
  * @num_props: Number of properties in the array
  *
- * This function applies the specified drive strength settings to KSZ8830 chip
+ * This function applies the specified drive strength settings to KSZ88X3 chip
  * variants (KSZ8873, KSZ8863).
  * It ensures the configurations align with what the chip variant supports and
  * warns or errors out on unsupported settings.
  *
  * Return: 0 on success, error code otherwise
  */
-static int ksz8830_drive_strength_write(struct ksz_device *dev,
+static int ksz88x3_drive_strength_write(struct ksz_device *dev,
 					struct ksz_driver_strength_prop *props,
 					int num_props)
 {
-	size_t array_size = ARRAY_SIZE(ksz8830_drive_strengths);
+	size_t array_size = ARRAY_SIZE(ksz88x3_drive_strengths);
 	int microamp;
 	int i, ret;
 
@@ -4622,10 +4622,10 @@ static int ksz8830_drive_strength_write(struct ksz_device *dev,
 	}
 
 	microamp = props[KSZ_DRIVER_STRENGTH_IO].value;
-	ret = ksz_drive_strength_to_reg(ksz8830_drive_strengths, array_size,
+	ret = ksz_drive_strength_to_reg(ksz88x3_drive_strengths, array_size,
 					microamp);
 	if (ret < 0) {
-		ksz_drive_strength_error(dev, ksz8830_drive_strengths,
+		ksz_drive_strength_error(dev, ksz88x3_drive_strengths,
 					 array_size, microamp);
 		return ret;
 	}
@@ -4685,8 +4685,8 @@ static int ksz_parse_drive_strength(struct ksz_device *dev)
 		return 0;
 
 	switch (dev->chip_id) {
-	case KSZ8830_CHIP_ID:
-		return ksz8830_drive_strength_write(dev, of_props,
+	case KSZ8863_CHIP_ID:
+		return ksz88x3_drive_strength_write(dev, of_props,
 						    ARRAY_SIZE(of_props));
 	case KSZ8795_CHIP_ID:
 	case KSZ8794_CHIP_ID:
diff --git a/drivers/net/dsa/microchip/ksz_common.h b/drivers/net/dsa/microchip/ksz_common.h
index e08d5a1339f4..428d2d97faca 100644
--- a/drivers/net/dsa/microchip/ksz_common.h
+++ b/drivers/net/dsa/microchip/ksz_common.h
@@ -200,7 +200,8 @@ enum ksz_model {
 	KSZ8795,
 	KSZ8794,
 	KSZ8765,
-	KSZ8830,
+	KSZ8863,
+	KSZ8873,
 	KSZ8864,
 	KSZ8895,
 	KSZ9477,
@@ -628,7 +629,7 @@ static inline bool ksz_is_ksz87xx(struct ksz_device *dev)
 
 static inline bool ksz_is_ksz88x3(struct ksz_device *dev)
 {
-	return dev->chip_id == KSZ8830_CHIP_ID;
+	return dev->chip_id == KSZ8863_CHIP_ID;
 }
 
 static inline bool ksz_is_8895_family(struct ksz_device *dev)
diff --git a/drivers/net/dsa/microchip/ksz_spi.c b/drivers/net/dsa/microchip/ksz_spi.c
index f4287310e89f..2986274e522b 100644
--- a/drivers/net/dsa/microchip/ksz_spi.c
+++ b/drivers/net/dsa/microchip/ksz_spi.c
@@ -54,7 +54,7 @@ static int ksz_spi_probe(struct spi_device *spi)
 	if (!chip)
 		return -EINVAL;
 
-	if (chip->chip_id == KSZ8830_CHIP_ID)
+	if (chip->chip_id == KSZ8863_CHIP_ID)
 		regmap_config = ksz8863_regmap_config;
 	else if (chip->chip_id == KSZ8795_CHIP_ID ||
 		 chip->chip_id == KSZ8794_CHIP_ID ||
@@ -137,7 +137,7 @@ static const struct of_device_id ksz_dt_ids[] = {
 	},
 	{
 		.compatible = "microchip,ksz8863",
-		.data = &ksz_switch_chips[KSZ8830]
+		.data = &ksz_switch_chips[KSZ8863]
 	},
 	{
 		.compatible = "microchip,ksz8864",
@@ -145,7 +145,7 @@ static const struct of_device_id ksz_dt_ids[] = {
 	},
 	{
 		.compatible = "microchip,ksz8873",
-		.data = &ksz_switch_chips[KSZ8830]
+		.data = &ksz_switch_chips[KSZ8863]
 	},
 	{
 		.compatible = "microchip,ksz8895",
diff --git a/include/linux/platform_data/microchip-ksz.h b/include/linux/platform_data/microchip-ksz.h
index d074019474f5..c7bf8d4b7805 100644
--- a/include/linux/platform_data/microchip-ksz.h
+++ b/include/linux/platform_data/microchip-ksz.h
@@ -27,7 +27,7 @@ enum ksz_chip_id {
 	KSZ8795_CHIP_ID = 0x8795,
 	KSZ8794_CHIP_ID = 0x8794,
 	KSZ8765_CHIP_ID = 0x8765,
-	KSZ8830_CHIP_ID = 0x8830,
+	KSZ8863_CHIP_ID = 0x8863,
 	KSZ8864_CHIP_ID = 0x8864,
 	KSZ8895_CHIP_ID = 0x8895,
 	KSZ9477_CHIP_ID = 0x00947700,
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH net-next v2 1/3] net: dsa: microchip: rename ksz8 series files
  2024-08-30 14:12 ` [PATCH net-next v2 1/3] net: dsa: microchip: rename " vtpieter
@ 2024-09-02  2:56   ` Arun.Ramadoss
  2024-09-02 10:08     ` Pieter
  0 siblings, 1 reply; 11+ messages in thread
From: Arun.Ramadoss @ 2024-09-02  2:56 UTC (permalink / raw)
  To: andrew, olteanv, davem, linux, Woojung.Huh, f.fainelli, kuba,
	vtpieter, UNGLinuxDriver, edumazet, pabeni
  Cc: o.rempel, pieter.van.trappen, Tristram.Ha, netdev, linux-kernel

Hi Pieter, 

On Fri, 2024-08-30 at 16:12 +0200, vtpieter@gmail.com wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
> 
> From: Pieter Van Trappen <pieter.van.trappen@cern.ch>
> 
> 
> 
> diff --git a/drivers/net/dsa/microchip/Kconfig
> b/drivers/net/dsa/microchip/Kconfig
> index c1b906c05a02..d43535c9aa72 100644
> --- a/drivers/net/dsa/microchip/Kconfig
> +++ b/drivers/net/dsa/microchip/Kconfig
> @@ -1,14 +1,17 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  menuconfig NET_DSA_MICROCHIP_KSZ_COMMON
> -       tristate "Microchip KSZ8795/KSZ9477/LAN937x series switch
> support"
> +       tristate "Microchip KSZ8XXX/KSZ9477/LAN937X series switch
> support"
>         depends on NET_DSA
>         select NET_DSA_TAG_KSZ
>         select NET_DSA_TAG_NONE
>         select NET_IEEE8021Q_HELPERS
>         select DCB
>         help
> -         This driver adds support for Microchip KSZ9477 series
> switch and
> -         KSZ8795/KSZ88x3 switch chips.
> +         This driver adds support for Microchip KSZ9477 series,
> +         LAN937X series and KSZ8 series switch chips, being
> +         KSZ9477/9896/9897/9893/9563/9567,

You missed KSZ8567 and KSZ8563. Also it could be in order as suggested
by Tristram,
-  KSZ8863/8873, KSZ8895/8864, KSZ8794/8795/8765
-  KSZ9477/9897/9896/9567/8567
-  KSZ9893/9563/8563
-  LAN9370/9371/9372/9373/9374

> +         LAN9370/9371/9372/9373/9374, KSZ8863/8873, KSZ8895/8864 and
> +         KSZ8794/8795/8765.
> 
> 
> @@ -1,6 +1,13 @@
>  // SPDX-License-Identifier: GPL-2.0
>  /*
> - * Microchip KSZ8795 switch driver
> + * Microchip KSZ8XXX series switch driver
> + *
> + * It supports the following switches:
> + * - KSZ8863, KSZ8873 aka KSZ88X3
> + * - KSZ8895, KSZ8864 aka KSZ8895 family

You can remove 'family' here, so as to be consistent. 

> + * - KSZ8794, KSZ8795, KSZ8765 aka KSZ87XX
> + * Note that it does NOT support:
> + * - KSZ8563, KSZ8567 - see KSZ9477 driver
>   *
>   * Copyright (C) 2017 Microchip Technology Inc.
>   *     Tristram Ha <Tristram.Ha@microchip.com>
> @@ -23,7 +30,7 @@
>  #include <linux/phylink.h>
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH net-next v2 2/3] net: dsa: microchip: clean up ksz8_reg definition macros
  2024-08-30 14:12 ` [PATCH net-next v2 2/3] net: dsa: microchip: clean up ksz8_reg definition macros vtpieter
@ 2024-09-02  3:25   ` Arun.Ramadoss
  0 siblings, 0 replies; 11+ messages in thread
From: Arun.Ramadoss @ 2024-09-02  3:25 UTC (permalink / raw)
  To: andrew, olteanv, davem, linux, Woojung.Huh, f.fainelli, kuba,
	vtpieter, UNGLinuxDriver, edumazet, pabeni
  Cc: o.rempel, pieter.van.trappen, Tristram.Ha, netdev, linux-kernel

On Fri, 2024-08-30 at 16:12 +0200, vtpieter@gmail.com wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
> 
> From: Pieter Van Trappen <pieter.van.trappen@cern.ch>
> 
> Remove macros that are already defined at more appropriate places.
> 
> Signed-off-by: Pieter Van Trappen <pieter.van.trappen@cern.ch>

Acked-by: Arun Ramadoss <arun.ramadoss@microchip.com>


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH net-next v2 3/3] net: dsa: microchip: replace unclear KSZ8830 strings
  2024-08-30 14:12 ` [PATCH net-next v2 3/3] net: dsa: microchip: replace unclear KSZ8830 strings vtpieter
@ 2024-09-02  3:32   ` Arun.Ramadoss
  2024-09-02 10:14     ` Pieter
  0 siblings, 1 reply; 11+ messages in thread
From: Arun.Ramadoss @ 2024-09-02  3:32 UTC (permalink / raw)
  To: andrew, olteanv, davem, linux, Woojung.Huh, f.fainelli, kuba,
	vtpieter, UNGLinuxDriver, edumazet, pabeni
  Cc: o.rempel, pieter.van.trappen, Tristram.Ha, netdev, linux-kernel

Hi Pieter, 

On Fri, 2024-08-30 at 16:12 +0200, vtpieter@gmail.com wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
> 
> From: Pieter Van Trappen <pieter.van.trappen@cern.ch>
> 
> Replace uppercase KSZ8830 with KSZ8863 

Since KSZ8863/73 sharing same chip id, replacing KSZ8830 with KSZ8863
is somewhat confusing. Can you elaborate here. I believe, it should
KSZ88X3_CHIP_ID.  


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH net-next v2 1/3] net: dsa: microchip: rename ksz8 series files
  2024-09-02  2:56   ` Arun.Ramadoss
@ 2024-09-02 10:08     ` Pieter
  2024-09-02 14:30       ` Arun.Ramadoss
  0 siblings, 1 reply; 11+ messages in thread
From: Pieter @ 2024-09-02 10:08 UTC (permalink / raw)
  To: Arun.Ramadoss
  Cc: andrew, olteanv, davem, linux, Woojung.Huh, f.fainelli, kuba,
	UNGLinuxDriver, edumazet, pabeni, o.rempel, pieter.van.trappen,
	Tristram.Ha, netdev, linux-kernel

Hi Arun,

> > -         This driver adds support for Microchip KSZ9477 series
> > switch and
> > -         KSZ8795/KSZ88x3 switch chips.
> > +         This driver adds support for Microchip KSZ9477 series,
> > +         LAN937X series and KSZ8 series switch chips, being
> > +         KSZ9477/9896/9897/9893/9563/9567,
>
> You missed KSZ8567 and KSZ8563. Also it could be in order as suggested
> by Tristram,
> -  KSZ8863/8873, KSZ8895/8864, KSZ8794/8795/8765
> -  KSZ9477/9897/9896/9567/8567
> -  KSZ9893/9563/8563
> -  LAN9370/9371/9372/9373/9374

OK will do.

> > + * It supports the following switches:
> > + * - KSZ8863, KSZ8873 aka KSZ88X3
> > + * - KSZ8895, KSZ8864 aka KSZ8895 family
>
> You can remove 'family' here, so as to be consistent.

Well I'd rather keep it so it's consistent with the ksz_common.h
ksz_is_8895_family(), do you agree?

> > + * - KSZ8794, KSZ8795, KSZ8765 aka KSZ87XX
> > + * Note that it does NOT support:
> > + * - KSZ8563, KSZ8567 - see KSZ9477 driver
> >   *
> >   * Copyright (C) 2017 Microchip Technology Inc.
> >   *     Tristram Ha <Tristram.Ha@microchip.com>
> > @@ -23,7 +30,7 @@
> >  #include <linux/phylink.h>
> >

Cheers, Pieter

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH net-next v2 3/3] net: dsa: microchip: replace unclear KSZ8830 strings
  2024-09-02  3:32   ` Arun.Ramadoss
@ 2024-09-02 10:14     ` Pieter
  2024-09-02 14:48       ` Arun.Ramadoss
  0 siblings, 1 reply; 11+ messages in thread
From: Pieter @ 2024-09-02 10:14 UTC (permalink / raw)
  To: Arun.Ramadoss
  Cc: andrew, olteanv, davem, linux, Woojung.Huh, f.fainelli, kuba,
	UNGLinuxDriver, edumazet, pabeni, o.rempel, pieter.van.trappen,
	Tristram.Ha, netdev, linux-kernel

Hi Arun,

> > From: Pieter Van Trappen <pieter.van.trappen@cern.ch>
> >
> > Replace uppercase KSZ8830 with KSZ8863
>
> Since KSZ8863/73 sharing same chip id, replacing KSZ8830 with KSZ8863
> is somewhat confusing. Can you elaborate here. I believe, it should
> KSZ88X3_CHIP_ID.

I'm afraid there's no perfect solution here, it's the only chip here
that can't be differentiated by its chip id I believe.

The reason I didn't go for KSZ88X3_CHIP_ID is that the enum requires a
constant as well so `0x88x3` won't work and I wanted to avoid the
following because it would be the only definition where the name and
constant would not match:

--- a/include/linux/platform_data/microchip-ksz.h
+++ b/include/linux/platform_data/microchip-ksz.h
@@ -27,7 +27,7 @@ enum ksz_chip_id {
        KSZ8795_CHIP_ID = 0x8795,
        KSZ8794_CHIP_ID = 0x8794,
        KSZ8765_CHIP_ID = 0x8765,
-       KSZ8830_CHIP_ID = 0x8830,
+       KSZ88X3_CHIP_ID = 0x8863,
        KSZ8864_CHIP_ID = 0x8864,
        KSZ8895_CHIP_ID = 0x8895

Technically it's possible of course, which one has your preference?

Cheers, Pieter

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH net-next v2 1/3] net: dsa: microchip: rename ksz8 series files
  2024-09-02 10:08     ` Pieter
@ 2024-09-02 14:30       ` Arun.Ramadoss
  0 siblings, 0 replies; 11+ messages in thread
From: Arun.Ramadoss @ 2024-09-02 14:30 UTC (permalink / raw)
  To: vtpieter
  Cc: Tristram.Ha, andrew, linux, olteanv, davem, Woojung.Huh,
	linux-kernel, pieter.van.trappen, f.fainelli, kuba,
	UNGLinuxDriver, edumazet, o.rempel, netdev, pabeni

Hi Pieter,

On Mon, 2024-09-02 at 12:08 +0200, Pieter wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
> 
> Hi Arun,
> 
> > > -         This driver adds support for Microchip KSZ9477 series
> > > switch and
> > > -         KSZ8795/KSZ88x3 switch chips.
> > > +         This driver adds support for Microchip KSZ9477 series,
> > > +         LAN937X series and KSZ8 series switch chips, being
> > > +         KSZ9477/9896/9897/9893/9563/9567,
> > 
> > You missed KSZ8567 and KSZ8563. Also it could be in order as
> > suggested
> > by Tristram,
> > -  KSZ8863/8873, KSZ8895/8864, KSZ8794/8795/8765
> > -  KSZ9477/9897/9896/9567/8567
> > -  KSZ9893/9563/8563
> > -  LAN9370/9371/9372/9373/9374
> 
> OK will do.
> 
> > > + * It supports the following switches:
> > > + * - KSZ8863, KSZ8873 aka KSZ88X3
> > > + * - KSZ8895, KSZ8864 aka KSZ8895 family
> > 
> > You can remove 'family' here, so as to be consistent.
> 
> Well I'd rather keep it so it's consistent with the ksz_common.h
> ksz_is_8895_family(), do you agree?

OK. LGTM. 



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH net-next v2 3/3] net: dsa: microchip: replace unclear KSZ8830 strings
  2024-09-02 10:14     ` Pieter
@ 2024-09-02 14:48       ` Arun.Ramadoss
  0 siblings, 0 replies; 11+ messages in thread
From: Arun.Ramadoss @ 2024-09-02 14:48 UTC (permalink / raw)
  To: vtpieter
  Cc: Tristram.Ha, andrew, linux, olteanv, davem, Woojung.Huh,
	linux-kernel, pieter.van.trappen, f.fainelli, kuba,
	UNGLinuxDriver, edumazet, o.rempel, netdev, pabeni

Hi Pieter, 

On Mon, 2024-09-02 at 12:14 +0200, Pieter wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
> 
> Hi Arun,
> 
> > > From: Pieter Van Trappen <pieter.van.trappen@cern.ch>
> > > 
> > > Replace uppercase KSZ8830 with KSZ8863
> > 
> > Since KSZ8863/73 sharing same chip id, replacing KSZ8830 with
> > KSZ8863
> > is somewhat confusing. Can you elaborate here. I believe, it should
> > KSZ88X3_CHIP_ID.
> 
> I'm afraid there's no perfect solution here, it's the only chip here
> that can't be differentiated by its chip id I believe.
> 
> The reason I didn't go for KSZ88X3_CHIP_ID is that the enum requires
> a
> constant as well so `0x88x3` won't work and I wanted to avoid the
> following because it would be the only definition where the name and
> constant would not match:

IMO: It is understood that KSZ88x3 has chip id 0x8830, So the name and
constant does not match each other. 

> 
> --- a/include/linux/platform_data/microchip-ksz.h
> +++ b/include/linux/platform_data/microchip-ksz.h
> @@ -27,7 +27,7 @@ enum ksz_chip_id {
>         KSZ8795_CHIP_ID = 0x8795,
>         KSZ8794_CHIP_ID = 0x8794,
>         KSZ8765_CHIP_ID = 0x8765,
> -       KSZ8830_CHIP_ID = 0x8830,
> +       KSZ88X3_CHIP_ID = 0x8863,
>         KSZ8864_CHIP_ID = 0x8864,
>         KSZ8895_CHIP_ID = 0x8895
> 
> Technically it's possible of course, which one has your preference?

It is confusing like for upper case replacing with KSZ8863 and
lowercase with KSZ88x3. IMO it should be same for both. Have things
consistent. 

> 
> Cheers, Pieter

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-09-02 14:48 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-30 14:12 [PATCH net-next v2 0/3] net: dsa: microchip: rename and clean ksz8 series files vtpieter
2024-08-30 14:12 ` [PATCH net-next v2 1/3] net: dsa: microchip: rename " vtpieter
2024-09-02  2:56   ` Arun.Ramadoss
2024-09-02 10:08     ` Pieter
2024-09-02 14:30       ` Arun.Ramadoss
2024-08-30 14:12 ` [PATCH net-next v2 2/3] net: dsa: microchip: clean up ksz8_reg definition macros vtpieter
2024-09-02  3:25   ` Arun.Ramadoss
2024-08-30 14:12 ` [PATCH net-next v2 3/3] net: dsa: microchip: replace unclear KSZ8830 strings vtpieter
2024-09-02  3:32   ` Arun.Ramadoss
2024-09-02 10:14     ` Pieter
2024-09-02 14:48       ` Arun.Ramadoss

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).