remove generic linux 2.4 support
[openwrt/svn-archive/archive.git] / target / linux / generic-2.4 / patches / 224-atm_hotplug.patch
diff --git a/target/linux/generic-2.4/patches/224-atm_hotplug.patch b/target/linux/generic-2.4/patches/224-atm_hotplug.patch
deleted file mode 100644 (file)
index b1238ed..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
---- a/include/linux/atmdev.h
-+++ b/include/linux/atmdev.h
-@@ -400,6 +400,7 @@ extern rwlock_t vcc_sklist_lock;
- 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);
---- a/net/atm/resources.c
-+++ b/net/atm/resources.c
-@@ -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 @@ struct atm_dev *atm_dev_lookup(int numbe
-       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 @@ struct atm_dev *atm_dev_register(const c
-               }
-       }
- #endif
--
-+#ifdef CONFIG_HOTPLUG
-+      atm_run_sbin_hotplug(dev, "register");
-+#endif
-+      
-       return dev;
- }
-@@ -131,6 +173,10 @@ struct atm_dev *atm_dev_register(const c
- 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 @@ done:
- }
-+EXPORT_SYMBOL(atm_dev_set_link_status);
- EXPORT_SYMBOL(atm_dev_register);
- EXPORT_SYMBOL(atm_dev_deregister);
- EXPORT_SYMBOL(atm_dev_lookup);