[ar71xx] fix dir-825-b1 default network config after r21905
[openwrt.git] / package / switch / src / switch-core.c
index 87aa972..e4a3b10 100644 (file)
@@ -17,7 +17,6 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  *
- * $Id: $
  *
  * Basic doc of driver's /proc interface:
  * /proc/switch/<interface>/
@@ -32,7 +31,6 @@
  *     ports: same syntax as for nvram's vlan*ports (eg. "1 2 3 4 5*")
  */
 
-#include <linux/autoconf.h>
 #include <linux/module.h>
 #include <linux/init.h>
 #include <asm/uaccess.h>
@@ -70,12 +68,7 @@ static struct file_operations switch_proc_fops = {
 
 static ssize_t switch_proc_read(struct file *file, char *buf, size_t count, loff_t *ppos)
 {
-#ifdef LINUX_2_4
-       struct inode *inode = file->f_dentry->d_inode;
-       struct proc_dir_entry *dent = inode->u.generic_ip;
-#else
        struct proc_dir_entry *dent = PDE(file->f_dentry->d_inode);
-#endif
        char *page;
        int len = 0;
        
@@ -107,12 +100,7 @@ static ssize_t switch_proc_read(struct file *file, char *buf, size_t count, loff
 
 static ssize_t switch_proc_write(struct file *file, const char *buf, size_t count, void *data)
 {
-#ifdef LINUX_2_4
-       struct inode *inode = file->f_dentry->d_inode;
-       struct proc_dir_entry *dent = inode->u.generic_ip;
-#else
        struct proc_dir_entry *dent = PDE(file->f_dentry->d_inode);
-#endif
        char *page;
        int ret = -EINVAL;
 
@@ -404,6 +392,21 @@ switch_vlan_config *switch_parse_vlan(switch_driver *driver, char *buf)
 }
 
 
+int switch_device_registered (char* device) {
+       struct list_head *pos;
+       switch_driver *new;
+
+       list_for_each(pos, &drivers.list) {
+               if (strcmp(list_entry(pos, switch_driver, list)->interface, device) == 0) {
+                       printk("There is already a switch registered on the device '%s'\n", device);
+                       return -EINVAL;
+               }
+       }
+
+       return 0;
+}
+
+
 int switch_register_driver(switch_driver *driver)
 {
        struct list_head *pos;
@@ -476,6 +479,7 @@ static void __exit switch_exit(void)
 MODULE_AUTHOR("Felix Fietkau <openwrt@nbd.name>");
 MODULE_LICENSE("GPL");
 
+EXPORT_SYMBOL(switch_device_registered);
 EXPORT_SYMBOL(switch_register_driver);
 EXPORT_SYMBOL(switch_unregister_driver);
 EXPORT_SYMBOL(switch_parse_vlan);
This page took 0.024618 seconds and 4 git commands to generate.