diff options
Diffstat (limited to 'openwrt/target/linux/generic-2.4/patches/224-atm_hotplug.patch')
-rw-r--r-- | openwrt/target/linux/generic-2.4/patches/224-atm_hotplug.patch | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/openwrt/target/linux/generic-2.4/patches/224-atm_hotplug.patch b/openwrt/target/linux/generic-2.4/patches/224-atm_hotplug.patch deleted file mode 100644 index c431d8c6bc..0000000000 --- a/openwrt/target/linux/generic-2.4/patches/224-atm_hotplug.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff -urN linux.old/include/linux/atmdev.h linux.dev/include/linux/atmdev.h ---- linux.old/include/linux/atmdev.h 2005-11-17 12:51:55.883585000 +0100 -+++ linux.dev/include/linux/atmdev.h 2005-11-17 13:49:22.012671000 +0100 -@@ -408,6 +408,7 @@ - struct atm_dev *atm_dev_register(const char *type,const struct atmdev_ops *ops, - int number,atm_dev_flags_t *flags); /* number == -1: pick first available */ - struct atm_dev *atm_dev_lookup(int number); -+void atm_dev_set_link_status(struct atm_dev *dev, int status); - void atm_dev_deregister(struct atm_dev *dev); - void shutdown_atm_dev(struct atm_dev *dev); - void vcc_insert_socket(struct sock *sk); -diff -urN linux.old/net/atm/resources.c linux.dev/net/atm/resources.c ---- linux.old/net/atm/resources.c 2003-11-28 19:26:21.000000000 +0100 -+++ linux.dev/net/atm/resources.c 2005-11-17 14:27:26.514267750 +0100 -@@ -10,6 +10,7 @@ - #include <linux/sonet.h> - #include <linux/kernel.h> /* for barrier */ - #include <linux/module.h> -+#include <linux/kmod.h> - #include <linux/bitops.h> - #include <net/sock.h> /* for struct sock */ - #include <asm/segment.h> /* for get_fs_long and put_fs_long */ -@@ -70,6 +71,44 @@ - return dev; - } - -+#ifdef CONFIG_HOTPLUG -+static void atm_run_sbin_hotplug(struct atm_dev *dev, char *action) -+{ -+ char *argv[3], *envp[5], ifname[12 + IFNAMSIZ], atmname[255], action_str[32]; -+ int i; -+ -+ sprintf(ifname, "INTERFACE=atm%d", dev->number); -+ sprintf(atmname, "ATMDRIVER=%s", dev->type); -+ sprintf(action_str, "ACTION=%s", action); -+ -+ i = 0; -+ argv[i++] = hotplug_path; -+ argv[i++] = "net"; -+ argv[i] = 0; -+ -+ i = 0; -+ /* minimal command environment */ -+ envp [i++] = "HOME=/"; -+ envp [i++] = "PATH=/sbin:/bin:/usr/sbin:/usr/bin"; -+ envp [i++] = ifname; -+ envp [i++] = atmname; -+ envp [i++] = action_str; -+ envp [i] = 0; -+ -+ return call_usermodehelper(argv [0], argv, envp); -+} -+#endif -+ -+void atm_dev_set_link_status(struct atm_dev *dev, int status) -+{ -+#ifdef CONFIG_HOTPLUG -+ if (status) -+ atm_run_sbin_hotplug(dev, "up"); -+ else -+ atm_run_sbin_hotplug(dev, "down"); -+#endif -+} -+ - struct atm_dev *atm_dev_register(const char *type, const struct atmdev_ops *ops, - int number, atm_dev_flags_t *flags) - { -@@ -123,7 +162,10 @@ - } - } - #endif -- -+#ifdef CONFIG_HOTPLUG -+ atm_run_sbin_hotplug(dev, "register"); -+#endif -+ - return dev; - } - -@@ -131,6 +173,10 @@ - void atm_dev_deregister(struct atm_dev *dev) - { - unsigned long warning_time; -+ -+#ifdef CONFIG_HOTPLUG -+ atm_run_sbin_hotplug(dev, "unregister"); -+#endif - - #ifdef CONFIG_PROC_FS - if (dev->ops->proc_read) -@@ -399,6 +445,7 @@ - } - - -+EXPORT_SYMBOL(atm_dev_set_link_status); - EXPORT_SYMBOL(atm_dev_register); - EXPORT_SYMBOL(atm_dev_deregister); - EXPORT_SYMBOL(atm_dev_lookup); |