mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 17:18:59 +00:00
0a4b309f41
Backport initial LEDs hw control support. Currently this is limited to only rx/tx and link events for the netdev trigger but the API got accepted and the additional modes are working on and will be backported later. Refresh every patch and add the additional config flag for QCA8K new LEDs support. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
48 lines
1.3 KiB
Diff
48 lines
1.3 KiB
Diff
From 0b6eb1e68290243d439ee330ea8d0b239a5aec69 Mon Sep 17 00:00:00 2001
|
|
From: John Crispin <blogic@openwrt.org>
|
|
Date: Sun, 27 Jul 2014 09:38:50 +0100
|
|
Subject: [PATCH 34/53] NET: multi phy support
|
|
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
---
|
|
drivers/net/phy/phy.c | 9 ++++++---
|
|
include/linux/phy.h | 1 +
|
|
2 files changed, 7 insertions(+), 3 deletions(-)
|
|
|
|
--- a/drivers/net/phy/phy.c
|
|
+++ b/drivers/net/phy/phy.c
|
|
@@ -706,7 +706,10 @@ static int phy_check_link_status(struct
|
|
phy_link_up(phydev);
|
|
} else if (!phydev->link && phydev->state != PHY_NOLINK) {
|
|
phydev->state = PHY_NOLINK;
|
|
- phy_link_down(phydev, true);
|
|
+ if (!phydev->no_auto_carrier_off)
|
|
+ phy_link_down(phydev, true);
|
|
+ else
|
|
+ phy_link_down(phydev, false);
|
|
}
|
|
|
|
return 0;
|
|
@@ -1192,7 +1195,10 @@ void phy_state_machine(struct work_struc
|
|
case PHY_HALTED:
|
|
if (phydev->link) {
|
|
phydev->link = 0;
|
|
- phy_link_down(phydev, true);
|
|
+ if (!phydev->no_auto_carrier_off)
|
|
+ phy_link_down(phydev, true);
|
|
+ else
|
|
+ phy_link_down(phydev, false);
|
|
}
|
|
do_suspend = true;
|
|
break;
|
|
--- a/include/linux/phy.h
|
|
+++ b/include/linux/phy.h
|
|
@@ -622,6 +622,7 @@ struct phy_device {
|
|
unsigned downshifted_rate:1;
|
|
unsigned is_on_sfp_module:1;
|
|
unsigned mac_managed_pm:1;
|
|
+ unsigned no_auto_carrier_off:1;
|
|
|
|
unsigned autoneg:1;
|
|
/* The most recently read link state */
|