mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 21:26:49 +00:00
[kernel/WeTek_Play] - replace the hardcoded eth and wifi led triggers with the newly added network link trigger
This commit is contained in:
parent
5f11db6557
commit
4fdfaad170
@ -1,108 +1,82 @@
|
|||||||
diff -Naur a/drivers/amlogic/ethernet/am_net8218.c b/drivers/amlogic/ethernet/am_net8218.c
|
From 8f08833d315afc65378d7f2e2b5704b46d68a099 Mon Sep 17 00:00:00 2001
|
||||||
--- a/drivers/amlogic/ethernet/am_net8218.c 2015-02-14 20:42:23.000000000 +0100
|
From: Memphiz <memphis@machzwo.de>
|
||||||
+++ b/drivers/amlogic/ethernet/am_net8218.c 2015-03-03 16:30:11.000000000 +0100
|
Date: Sun, 8 Mar 2015 22:21:05 +0100
|
||||||
@@ -54,6 +54,7 @@
|
Subject: [PATCH 4/6] [WeTek_Play] - use new led trigger for signaling link
|
||||||
|
status of eth and wifi links
|
||||||
|
|
||||||
|
---
|
||||||
|
drivers/amlogic/ethernet/am_net8218.c | 14 ++++++++++++++
|
||||||
|
drivers/amlogic/wifi/broadcm_40181/wl_cfg80211.c | 12 ++++++++++++
|
||||||
|
2 files changed, 26 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/drivers/amlogic/ethernet/am_net8218.c b/drivers/amlogic/ethernet/am_net8218.c
|
||||||
|
index aec2980..f5ced5a 100755
|
||||||
|
--- a/drivers/amlogic/ethernet/am_net8218.c
|
||||||
|
+++ b/drivers/amlogic/ethernet/am_net8218.c
|
||||||
|
@@ -55,6 +55,12 @@
|
||||||
#define DRV_NAME DRIVER_NAME
|
#define DRV_NAME DRIVER_NAME
|
||||||
#define DRV_VERSION "v2.0.0"
|
#define DRV_VERSION "v2.0.0"
|
||||||
+#define OWNER_NAME "meson-eth"
|
|
||||||
|
|
||||||
|
+#ifdef CONFIG_LEDS_TRIGGER_NETWORK
|
||||||
|
+#include <linux/leds.h>
|
||||||
|
+extern void ledtrig_eth_linkup(struct led_classdev *led_cdev);
|
||||||
|
+extern void ledtrig_eth_linkdown(struct led_classdev *led_cdev);
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
#undef CONFIG_HAS_EARLYSUSPEND
|
#undef CONFIG_HAS_EARLYSUSPEND
|
||||||
#ifdef CONFIG_HAS_EARLYSUSPEND
|
#ifdef CONFIG_HAS_EARLYSUSPEND
|
||||||
@@ -975,6 +976,12 @@
|
#include <linux/earlysuspend.h>
|
||||||
|
@@ -975,6 +981,14 @@ static void aml_adjust_link(struct net_device *dev)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
spin_lock_irqsave(&priv->lock, flags);
|
spin_lock_irqsave(&priv->lock, flags);
|
||||||
+
|
|
||||||
+ if (phydev->link)
|
|
||||||
+ amlogic_gpio_direction_output(GPIOC_14, 1, OWNER_NAME);
|
|
||||||
+ else
|
|
||||||
+ amlogic_gpio_direction_output(GPIOC_14, 0, OWNER_NAME);
|
|
||||||
+
|
+
|
||||||
|
+#ifdef CONFIG_LEDS_TRIGGER_NETWORK
|
||||||
|
+ if (phydev->link)
|
||||||
|
+ ledtrig_eth_linkup(NULL);
|
||||||
|
+ else
|
||||||
|
+ ledtrig_eth_linkdown(NULL);
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
if(phydev->phy_id == INTERNALPHY_ID){
|
if(phydev->phy_id == INTERNALPHY_ID){
|
||||||
val = (8<<27)|(7 << 24)|(1<<16)|(1<<15)|(1 << 13)|(1 << 12)|(4 << 4)|(0 << 1);
|
val = (8<<27)|(7 << 24)|(1<<16)|(1<<15)|(1 << 13)|(1 << 12)|(4 << 4)|(0 << 1);
|
||||||
PERIPHS_SET_BITS(P_PREG_ETHERNET_ADDR0, val);
|
PERIPHS_SET_BITS(P_PREG_ETHERNET_ADDR0, val);
|
||||||
@@ -1316,6 +1323,8 @@
|
diff --git a/drivers/amlogic/wifi/broadcm_40181/wl_cfg80211.c b/drivers/amlogic/wifi/broadcm_40181/wl_cfg80211.c
|
||||||
free_ringdesc(dev);
|
index 5596f1d..e9f91d7 100755
|
||||||
free_irq(dev->irq, dev);
|
--- a/drivers/amlogic/wifi/broadcm_40181/wl_cfg80211.c
|
||||||
|
+++ b/drivers/amlogic/wifi/broadcm_40181/wl_cfg80211.c
|
||||||
|
@@ -92,6 +92,12 @@
|
||||||
|
#define IW_WSEC_ENABLED(wsec) ((wsec) & (WEP_ENABLED | TKIP_ENABLED | AES_ENABLED))
|
||||||
|
#endif /* BCMWAPI_WPI */
|
||||||
|
|
||||||
+ amlogic_gpio_direction_output(GPIOC_14, 0, OWNER_NAME);
|
+#ifdef CONFIG_LEDS_TRIGGER_NETWORK
|
||||||
+
|
+#include <linux/leds.h>
|
||||||
if (g_debug > 0) {
|
+extern void ledtrig_wifi_linkup(struct led_classdev *led_cdev);
|
||||||
printk(KERN_DEBUG "%s: closed\n", dev->name);
|
+extern void ledtrig_wifi_linkdown(struct led_classdev *led_cdev);
|
||||||
}
|
+#endif
|
||||||
@@ -2870,7 +2879,7 @@
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
-#define OWNER_NAME "meson-eth"
|
|
||||||
+
|
+
|
||||||
void hardware_reset_phy(void){
|
static struct device *cfg80211_parent_dev = NULL;
|
||||||
if(reset_pin_enable){
|
struct wl_priv *wlcfg_drv_priv = NULL;
|
||||||
amlogic_gpio_direction_output(reset_pin_num, 0, OWNER_NAME);
|
u32 wl_dbg_level = WL_DBG_ERR;
|
||||||
@@ -2958,6 +2967,7 @@
|
@@ -11181,6 +11187,9 @@ static u32 wl_get_ielen(struct wl_priv *wl)
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
+ amlogic_gpio_request(GPIOC_14, OWNER_NAME);
|
|
||||||
printk(DRV_NAME "init(dbg[%p]=%d)\n", (&g_debug), g_debug);
|
|
||||||
switch_mod_gate_by_name("ethernet",1);
|
|
||||||
my_ndev = alloc_etherdev(sizeof(struct am_net_private));
|
|
||||||
diff -Naur a/drivers/amlogic/wifi/broadcm_40181/dhd_linux.c b/drivers/amlogic/wifi/broadcm_40181/dhd_linux.c
|
|
||||||
--- a/drivers/amlogic/wifi/broadcm_40181/dhd_linux.c 2015-02-14 20:42:23.000000000 +0100
|
|
||||||
+++ b/drivers/amlogic/wifi/broadcm_40181/dhd_linux.c 2015-03-03 16:33:58.000000000 +0100
|
|
||||||
@@ -34,7 +34,7 @@
|
|
||||||
#include <bcmutils.h>
|
|
||||||
#include <bcmendian.h>
|
|
||||||
#include <bcmdevs.h>
|
|
||||||
-
|
|
||||||
+#include <linux/amlogic/aml_gpio_consumer.h>
|
|
||||||
#include <proto/ethernet.h>
|
|
||||||
#include <proto/bcmip.h>
|
|
||||||
#include <dngl_stats.h>
|
|
||||||
@@ -4878,7 +4878,7 @@
|
|
||||||
{
|
|
||||||
|
|
||||||
printk("%s: Enter\n", __FUNCTION__);
|
|
||||||
-
|
|
||||||
+ amlogic_gpio_free(GPIOC_8, "WIFILED");
|
|
||||||
dhd_bus_unregister();
|
|
||||||
|
|
||||||
#if defined(CONFIG_WIFI_CONTROL_FUNC)
|
|
||||||
@@ -4907,6 +4907,7 @@
|
|
||||||
int chip_up = 0;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+ amlogic_gpio_request(GPIOC_8, "WIFILED");
|
|
||||||
printk("%s: Enter\n", __FUNCTION__);
|
|
||||||
if (wifi_setup_dt()) {
|
|
||||||
printk("wifi_dt : fail to setup dt\n");
|
|
||||||
diff -Naur a/drivers/amlogic/wifi/broadcm_40181/wl_cfg80211.c b/drivers/amlogic/wifi/broadcm_40181/wl_cfg80211.c
|
|
||||||
--- a/drivers/amlogic/wifi/broadcm_40181/wl_cfg80211.c 2015-02-14 20:42:23.000000000 +0100
|
|
||||||
+++ b/drivers/amlogic/wifi/broadcm_40181/wl_cfg80211.c 2015-03-03 16:35:01.000000000 +0100
|
|
||||||
@@ -47,6 +47,7 @@
|
|
||||||
#include <wl_cfgp2p.h>
|
|
||||||
#include <wl_android.h>
|
|
||||||
#include <dhd_config.h>
|
|
||||||
+#include <linux/amlogic/aml_gpio_consumer.h>
|
|
||||||
|
|
||||||
#ifdef PROP_TXSTATUS
|
|
||||||
#include <dhd_wlfc.h>
|
|
||||||
@@ -11181,6 +11182,8 @@
|
|
||||||
static void wl_link_up(struct wl_priv *wl)
|
static void wl_link_up(struct wl_priv *wl)
|
||||||
{
|
{
|
||||||
wl->link_up = true;
|
wl->link_up = true;
|
||||||
+ amlogic_gpio_direction_output(GPIOC_8, 1, "WIFILED");
|
+#ifdef CONFIG_LEDS_TRIGGER_NETWORK
|
||||||
+
|
+ ledtrig_wifi_linkup(NULL);
|
||||||
|
+#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void wl_link_down(struct wl_priv *wl)
|
static void wl_link_down(struct wl_priv *wl)
|
||||||
@@ -11191,6 +11194,8 @@
|
@@ -11191,6 +11200,9 @@ static void wl_link_down(struct wl_priv *wl)
|
||||||
wl->link_up = false;
|
wl->link_up = false;
|
||||||
conn_info->req_ie_len = 0;
|
conn_info->req_ie_len = 0;
|
||||||
conn_info->resp_ie_len = 0;
|
conn_info->resp_ie_len = 0;
|
||||||
+ amlogic_gpio_direction_output(GPIOC_8, 0, "WIFILED");
|
+#ifdef CONFIG_LEDS_TRIGGER_NETWORK
|
||||||
+
|
+ ledtrig_wifi_linkdown(NULL);
|
||||||
|
+#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long wl_lock_eq(struct wl_priv *wl)
|
static unsigned long wl_lock_eq(struct wl_priv *wl)
|
||||||
|
--
|
||||||
|
1.9.3 (Apple Git-50)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user