]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/pnp/core.c
Merge git://git.infradead.org/mtd-2.6
[linux-2.6-omap-h63xx.git] / drivers / pnp / core.c
index cc0aeaed6179780e3ffb6b3cc4153f0729131110..16c01c6fa7c589b92e0b827cd36d65fb5fbccad7 100644 (file)
@@ -159,21 +159,13 @@ struct pnp_dev *pnp_alloc_dev(struct pnp_protocol *protocol, int id, char *pnpid
 
 int __pnp_add_device(struct pnp_dev *dev)
 {
-       int ret;
-
        pnp_fixup_device(dev);
        dev->status = PNP_READY;
        spin_lock(&pnp_lock);
        list_add_tail(&dev->global_list, &pnp_global);
        list_add_tail(&dev->protocol_list, &dev->protocol->devices);
        spin_unlock(&pnp_lock);
-
-       ret = device_register(&dev->dev);
-       if (ret)
-               return ret;
-
-       pnp_interface_attach_device(dev);
-       return 0;
+       return device_register(&dev->dev);
 }
 
 /*
@@ -185,6 +177,9 @@ int __pnp_add_device(struct pnp_dev *dev)
 int pnp_add_device(struct pnp_dev *dev)
 {
        int ret;
+       char buf[128];
+       int len = 0;
+       struct pnp_id *id;
 
        if (dev->card)
                return -EINVAL;
@@ -193,17 +188,12 @@ int pnp_add_device(struct pnp_dev *dev)
        if (ret)
                return ret;
 
-#ifdef CONFIG_PNP_DEBUG
-       {
-               struct pnp_id *id;
+       buf[0] = '\0';
+       for (id = dev->id; id; id = id->next)
+               len += scnprintf(buf + len, sizeof(buf) - len, " %s", id->id);
 
-               dev_printk(KERN_DEBUG, &dev->dev, "%s device, IDs",
-                       dev->protocol->name);
-               for (id = dev->id; id; id = id->next)
-                       printk(" %s", id->id);
-               printk(" (%s)\n", dev->active ? "active" : "disabled");
-       }
-#endif
+       pnp_dbg(&dev->dev, "%s device, IDs%s (%s)\n",
+               dev->protocol->name, buf, dev->active ? "active" : "disabled");
        return 0;
 }
 
@@ -222,3 +212,14 @@ static int __init pnp_init(void)
 }
 
 subsys_initcall(pnp_init);
+
+int pnp_debug;
+
+#if defined(CONFIG_PNP_DEBUG_MESSAGES)
+static int __init pnp_debug_setup(char *__unused)
+{
+       pnp_debug = 1;
+       return 1;
+}
+__setup("pnp.debug", pnp_debug_setup);
+#endif