summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/files/drivers/net/phy/swconfig.c
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-12-31 15:02:30 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-12-31 15:02:30 +0000
commit55894a40aaba5fa70a090486a1273f42d512461f (patch)
tree406bd29438aec3260c7656033cc271456cb6c856 /target/linux/generic/files/drivers/net/phy/swconfig.c
parentb042bd4e4d0ff13cb30322ccf027ab2b453c0f99 (diff)
kernel: swconfig: introduce a generic switch LED trigger
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29627 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/files/drivers/net/phy/swconfig.c')
-rw-r--r--target/linux/generic/files/drivers/net/phy/swconfig.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/swconfig.c b/target/linux/generic/files/drivers/net/phy/swconfig.c
index 2038330ba..1f4491ac5 100644
--- a/target/linux/generic/files/drivers/net/phy/swconfig.c
+++ b/target/linux/generic/files/drivers/net/phy/swconfig.c
@@ -33,6 +33,8 @@
#define SWCONFIG_DEVNAME "switch%d"
+#include "swconfig_leds.c"
+
MODULE_AUTHOR("Felix Fietkau <nbd@openwrt.org>");
MODULE_LICENSE("GPL");
@@ -863,6 +865,7 @@ register_switch(struct switch_dev *dev, struct net_device *netdev)
struct switch_dev *sdev;
const int max_switches = 8 * sizeof(unsigned long);
unsigned long in_use = 0;
+ int err;
int i;
INIT_LIST_HEAD(&dev->dev_list);
@@ -905,6 +908,10 @@ register_switch(struct switch_dev *dev, struct net_device *netdev)
list_add(&dev->dev_list, &swdevs);
swconfig_unlock();
+ err = swconfig_create_led_trigger(dev);
+ if (err)
+ return err;
+
return 0;
}
EXPORT_SYMBOL_GPL(register_switch);
@@ -912,6 +919,7 @@ EXPORT_SYMBOL_GPL(register_switch);
void
unregister_switch(struct switch_dev *dev)
{
+ swconfig_destroy_led_trigger(dev);
kfree(dev->portbuf);
spin_lock(&dev->lock);
swconfig_lock();