aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2015-12-23 15:47:29 +0000
committerRafał Miłecki <zajec5@gmail.com>2015-12-23 15:47:29 +0000
commit36f70ec1bd50cce9f03b6192aff01d36e1d79a3f (patch)
tree1698615a1897c226b7509265583eea9660d49d0b /target/linux
parent9db3abed6d6f7c6c9d0b8c429fc5aea12ec307da (diff)
downloadupstream-36f70ec1bd50cce9f03b6192aff01d36e1d79a3f.tar.gz
upstream-36f70ec1bd50cce9f03b6192aff01d36e1d79a3f.tar.bz2
upstream-36f70ec1bd50cce9f03b6192aff01d36e1d79a3f.zip
ledtrig-netdev: update base driver instead of patching it for every kernel
All supported kernels require patching ledtrig-netdev in the same way, so it's safe to just move these changes to the base version of this driver. We needed these patches for some old kernels 2.6.36 and 3.11. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Backport of r47962 git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47988 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/generic/files/drivers/leds/ledtrig-netdev.c8
-rw-r--r--target/linux/generic/patches-3.18/831-ledtrig_netdev.patch39
2 files changed, 4 insertions, 43 deletions
diff --git a/target/linux/generic/files/drivers/leds/ledtrig-netdev.c b/target/linux/generic/files/drivers/leds/ledtrig-netdev.c
index 4a20d7c050..5e9b95f5ee 100644
--- a/target/linux/generic/files/drivers/leds/ledtrig-netdev.c
+++ b/target/linux/generic/files/drivers/leds/ledtrig-netdev.c
@@ -22,7 +22,6 @@
#include <linux/list.h>
#include <linux/spinlock.h>
#include <linux/device.h>
-#include <linux/sysdev.h>
#include <linux/netdevice.h>
#include <linux/timer.h>
#include <linux/ctype.h>
@@ -254,7 +253,7 @@ static int netdev_trig_notify(struct notifier_block *nb,
unsigned long evt,
void *dv)
{
- struct net_device *dev = dv;
+ struct net_device *dev = netdev_notifier_info_to_dev((struct netdev_notifier_info *) dv);
struct led_netdev_data *trigger_data = container_of(nb, struct led_netdev_data, notifier);
if (evt != NETDEV_UP && evt != NETDEV_DOWN && evt != NETDEV_CHANGE && evt != NETDEV_REGISTER && evt != NETDEV_UNREGISTER)
@@ -294,8 +293,9 @@ done:
static void netdev_trig_timer(unsigned long arg)
{
struct led_netdev_data *trigger_data = (struct led_netdev_data *)arg;
- const struct net_device_stats *dev_stats;
+ struct rtnl_link_stats64 *dev_stats;
unsigned new_activity;
+ struct rtnl_link_stats64 temp;
write_lock(&trigger_data->lock);
@@ -305,7 +305,7 @@ static void netdev_trig_timer(unsigned long arg)
goto no_restart;
}
- dev_stats = dev_get_stats(trigger_data->net_dev);
+ dev_stats = dev_get_stats(trigger_data->net_dev, &temp);
new_activity =
((trigger_data->mode & MODE_TX) ? dev_stats->tx_packets : 0) +
((trigger_data->mode & MODE_RX) ? dev_stats->rx_packets : 0);
diff --git a/target/linux/generic/patches-3.18/831-ledtrig_netdev.patch b/target/linux/generic/patches-3.18/831-ledtrig_netdev.patch
index 3f39fb6ae4..ad9637620a 100644
--- a/target/linux/generic/patches-3.18/831-ledtrig_netdev.patch
+++ b/target/linux/generic/patches-3.18/831-ledtrig_netdev.patch
@@ -19,42 +19,3 @@
obj-$(CONFIG_LEDS_TRIGGERS) += trigger/
obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o
+obj-$(CONFIG_LEDS_TRIGGER_NETDEV) += ledtrig-netdev.o
---- a/drivers/leds/ledtrig-netdev.c
-+++ b/drivers/leds/ledtrig-netdev.c
-@@ -22,7 +22,6 @@
- #include <linux/list.h>
- #include <linux/spinlock.h>
- #include <linux/device.h>
--#include <linux/sysdev.h>
- #include <linux/netdevice.h>
- #include <linux/timer.h>
- #include <linux/ctype.h>
-@@ -254,7 +253,7 @@ static int netdev_trig_notify(struct not
- unsigned long evt,
- void *dv)
- {
-- struct net_device *dev = dv;
-+ struct net_device *dev = netdev_notifier_info_to_dev((struct netdev_notifier_info *) dv);
- struct led_netdev_data *trigger_data = container_of(nb, struct led_netdev_data, notifier);
-
- if (evt != NETDEV_UP && evt != NETDEV_DOWN && evt != NETDEV_CHANGE && evt != NETDEV_REGISTER && evt != NETDEV_UNREGISTER)
-@@ -294,8 +293,9 @@ done:
- static void netdev_trig_timer(unsigned long arg)
- {
- struct led_netdev_data *trigger_data = (struct led_netdev_data *)arg;
-- const struct net_device_stats *dev_stats;
-+ struct rtnl_link_stats64 *dev_stats;
- unsigned new_activity;
-+ struct rtnl_link_stats64 temp;
-
- write_lock(&trigger_data->lock);
-
-@@ -305,7 +305,7 @@ static void netdev_trig_timer(unsigned l
- goto no_restart;
- }
-
-- dev_stats = dev_get_stats(trigger_data->net_dev);
-+ dev_stats = dev_get_stats(trigger_data->net_dev, &temp);
- new_activity =
- ((trigger_data->mode & MODE_TX) ? dev_stats->tx_packets : 0) +
- ((trigger_data->mode & MODE_RX) ? dev_stats->rx_packets : 0);