Author: rmilecki
Date: 2015-12-23 16:47:29 +0100 (Wed, 23 Dec 2015)
New Revision: 47988

Modified:
   
branches/chaos_calmer/target/linux/generic/files/drivers/leds/ledtrig-netdev.c
   
branches/chaos_calmer/target/linux/generic/patches-3.18/831-ledtrig_netdev.patch
Log:
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?\197?\130 Mi?\197?\130ecki <[email protected]>

Backport of r47962

Modified: 
branches/chaos_calmer/target/linux/generic/files/drivers/leds/ledtrig-netdev.c
===================================================================
--- 
branches/chaos_calmer/target/linux/generic/files/drivers/leds/ledtrig-netdev.c  
    2015-12-23 15:45:43 UTC (rev 47987)
+++ 
branches/chaos_calmer/target/linux/generic/files/drivers/leds/ledtrig-netdev.c  
    2015-12-23 15:47:29 UTC (rev 47988)
@@ -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 @@
                              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 @@
 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 @@
                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);

Modified: 
branches/chaos_calmer/target/linux/generic/patches-3.18/831-ledtrig_netdev.patch
===================================================================
--- 
branches/chaos_calmer/target/linux/generic/patches-3.18/831-ledtrig_netdev.patch
    2015-12-23 15:45:43 UTC (rev 47987)
+++ 
branches/chaos_calmer/target/linux/generic/patches-3.18/831-ledtrig_netdev.patch
    2015-12-23 15:47:29 UTC (rev 47988)
@@ -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);
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits

Reply via email to