All checks were successful
target_linux_generic / Update target_linux_generic (openwrt-25.12) (push) Successful in 8s
51 lines
1.9 KiB
Diff
51 lines
1.9 KiB
Diff
From be7a79145d85af1a9d65a45560b9243b13a67782 Mon Sep 17 00:00:00 2001
|
|
From: Kyle Hendry <kylehendrydev@gmail.com>
|
|
Date: Wed, 23 Jul 2025 20:52:40 -0700
|
|
Subject: [PATCH] net: dsa: b53: Add phy_enable(), phy_disable() methods
|
|
|
|
Add phy enable/disable to b53 ops to be called when
|
|
enabling/disabling ports.
|
|
|
|
Signed-off-by: Kyle Hendry <kylehendrydev@gmail.com>
|
|
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
|
|
Link: https://patch.msgid.link/20250724035300.20497-2-kylehendrydev@gmail.com
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
---
|
|
drivers/net/dsa/b53/b53_common.c | 6 ++++++
|
|
drivers/net/dsa/b53/b53_priv.h | 2 ++
|
|
2 files changed, 8 insertions(+)
|
|
|
|
--- a/drivers/net/dsa/b53/b53_common.c
|
|
+++ b/drivers/net/dsa/b53/b53_common.c
|
|
@@ -689,6 +689,9 @@ int b53_enable_port(struct dsa_switch *d
|
|
|
|
cpu_port = dsa_to_port(ds, port)->cpu_dp->index;
|
|
|
|
+ if (dev->ops->phy_enable)
|
|
+ dev->ops->phy_enable(dev, port);
|
|
+
|
|
if (dev->ops->irq_enable)
|
|
ret = dev->ops->irq_enable(dev, port);
|
|
if (ret)
|
|
@@ -727,6 +730,9 @@ void b53_disable_port(struct dsa_switch
|
|
reg |= PORT_CTRL_RX_DISABLE | PORT_CTRL_TX_DISABLE;
|
|
b53_write8(dev, B53_CTRL_PAGE, B53_PORT_CTRL(port), reg);
|
|
|
|
+ if (dev->ops->phy_disable)
|
|
+ dev->ops->phy_disable(dev, port);
|
|
+
|
|
if (dev->ops->irq_disable)
|
|
dev->ops->irq_disable(dev, port);
|
|
}
|
|
--- a/drivers/net/dsa/b53/b53_priv.h
|
|
+++ b/drivers/net/dsa/b53/b53_priv.h
|
|
@@ -45,6 +45,8 @@ struct b53_io_ops {
|
|
int (*phy_write16)(struct b53_device *dev, int addr, int reg, u16 value);
|
|
int (*irq_enable)(struct b53_device *dev, int port);
|
|
void (*irq_disable)(struct b53_device *dev, int port);
|
|
+ void (*phy_enable)(struct b53_device *dev, int port);
|
|
+ void (*phy_disable)(struct b53_device *dev, int port);
|
|
void (*phylink_get_caps)(struct b53_device *dev, int port,
|
|
struct phylink_config *config);
|
|
struct phylink_pcs *(*phylink_mac_select_pcs)(struct b53_device *dev,
|