diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2007-10-16 23:31:12 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-17 08:43:04 -0700 |
commit | 348366b963e4e1462c8354827a9cb910aa865bf2 (patch) | |
tree | f5e668dbeef6c88aeb14cdb3e0a856ce8c45e7fb /drivers/pnp/core.c | |
parent | 36405e96c8090fc8fc05d56755645a5821c98992 (diff) | |
download | op-kernel-dev-348366b963e4e1462c8354827a9cb910aa865bf2.zip op-kernel-dev-348366b963e4e1462c8354827a9cb910aa865bf2.tar.gz |
PNP: add debug message for adding new device
Add PNP debug message when adding a device, remove similar PNPACPI message
with less information.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Len Brown <lenb@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/pnp/core.c')
-rw-r--r-- | drivers/pnp/core.c | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/drivers/pnp/core.c b/drivers/pnp/core.c index d5964fe..7d366ca 100644 --- a/drivers/pnp/core.c +++ b/drivers/pnp/core.c @@ -125,9 +125,11 @@ int __pnp_add_device(struct pnp_dev *dev) spin_unlock(&pnp_lock); ret = device_register(&dev->dev); - if (ret == 0) - pnp_interface_attach_device(dev); - return ret; + if (ret) + return ret; + + pnp_interface_attach_device(dev); + return 0; } /* @@ -138,12 +140,30 @@ int __pnp_add_device(struct pnp_dev *dev) */ int pnp_add_device(struct pnp_dev *dev) { + int ret; + if (dev->card) return -EINVAL; + dev->dev.parent = &dev->protocol->dev; sprintf(dev->dev.bus_id, "%02x:%02x", dev->protocol->number, dev->number); - return __pnp_add_device(dev); + ret = __pnp_add_device(dev); + if (ret) + return ret; + +#ifdef CONFIG_PNP_DEBUG + { + struct pnp_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 + return 0; } void __pnp_remove_device(struct pnp_dev *dev) |