mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-21 14:37:57 +00:00
e430815f5a
Backport PHY package MMD patch merged upstream that add support for writing MMD regs for the PHY package and support for writing to PHY package at an offset. All affected patches automatically refreshed. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
66 lines
2.3 KiB
Diff
66 lines
2.3 KiB
Diff
From 4bb7aac70b5d8a4bddf4ee0791b834f9f56883d2 Mon Sep 17 00:00:00 2001
|
|
From: Arnd Bergmann <arnd@arndb.de>
|
|
Date: Thu, 20 Apr 2023 10:45:51 +0200
|
|
Subject: [PATCH] net: phy: fix circular LEDS_CLASS dependencies
|
|
|
|
The CONFIG_PHYLIB symbol is selected by a number of device drivers that
|
|
need PHY support, but it now has a dependency on CONFIG_LEDS_CLASS,
|
|
which may not be enabled, causing build failures.
|
|
|
|
Avoid the risk of missing and circular dependencies by guarding the
|
|
phylib LED support itself in another Kconfig symbol that can only be
|
|
enabled if the dependency is met.
|
|
|
|
This could be made a hidden symbol and always enabled when both CONFIG_OF
|
|
and CONFIG_LEDS_CLASS are reachable from the phylib, but there may be an
|
|
advantage in having users see this option when they have a misconfigured
|
|
kernel without built-in LED support.
|
|
|
|
Fixes: 01e5b728e9e4 ("net: phy: Add a binding for PHY LEDs")
|
|
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
|
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
|
Link: https://lore.kernel.org/r/20230420084624.3005701-1-arnd@kernel.org
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
---
|
|
drivers/net/phy/Kconfig | 9 ++++++++-
|
|
drivers/net/phy/phy_device.c | 3 ++-
|
|
2 files changed, 10 insertions(+), 2 deletions(-)
|
|
|
|
--- a/drivers/net/phy/Kconfig
|
|
+++ b/drivers/net/phy/Kconfig
|
|
@@ -18,7 +18,6 @@ menuconfig PHYLIB
|
|
depends on NETDEVICES
|
|
select MDIO_DEVICE
|
|
select MDIO_DEVRES
|
|
- depends on LEDS_CLASS || LEDS_CLASS=n
|
|
help
|
|
Ethernet controllers are usually attached to PHY
|
|
devices. This option provides infrastructure for
|
|
@@ -45,6 +44,14 @@ config LED_TRIGGER_PHY
|
|
<Speed in megabits>Mbps OR <Speed in gigabits>Gbps OR link
|
|
for any speed known to the PHY.
|
|
|
|
+config PHYLIB_LEDS
|
|
+ bool "Support probing LEDs from device tree"
|
|
+ depends on LEDS_CLASS=y || LEDS_CLASS=PHYLIB
|
|
+ depends on OF
|
|
+ default y
|
|
+ help
|
|
+ When LED class support is enabled, phylib can automatically
|
|
+ probe LED setting from device tree.
|
|
|
|
config FIXED_PHY
|
|
tristate "MDIO Bus/PHY emulation with fixed speed/link PHYs"
|
|
--- a/drivers/net/phy/phy_device.c
|
|
+++ b/drivers/net/phy/phy_device.c
|
|
@@ -3213,7 +3213,8 @@ static int phy_probe(struct device *dev)
|
|
/* Get the LEDs from the device tree, and instantiate standard
|
|
* LEDs for them.
|
|
*/
|
|
- err = of_phy_leds(phydev);
|
|
+ if (IS_ENABLED(CONFIG_PHYLIB_LEDS))
|
|
+ err = of_phy_leds(phydev);
|
|
|
|
out:
|
|
/* Re-assert the reset signal on error */
|