PNP: add CONFIG_PNP_DEBUG_MESSAGES and pnp_dbg()
Bjorn Helgaas [Tue, 19 Aug 2008 22:53:41 +0000 (16:53 -0600)]
This adds the core function pnp_dbg() and a new config option to
enable it.

The PNP core debugging messages can be enabled at boot-time with the
"pnp.debug" kernel parameter.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>

Documentation/kernel-parameters.txt
drivers/pnp/Kconfig
drivers/pnp/base.h
drivers/pnp/core.c

index 1150444..7164d4e 100644 (file)
@@ -1660,6 +1660,10 @@ and is between 256 and 4096 characters. It is defined in the file
                        Override pmtimer IOPort with a hex value.
                        e.g. pmtmr=0x508
 
+       pnp.debug       [PNP]
+                       Enable PNP debug messages.  This depends on the
+                       CONFIG_PNP_DEBUG_MESSAGES option.
+
        pnpacpi=        [ACPI]
                        { off }
 
index 821933f..8a3237f 100644 (file)
@@ -20,6 +20,20 @@ menuconfig PNP
 
          If unsure, say Y.
 
+config PNP_DEBUG_MESSAGES
+       default y
+       bool "PNP debugging messages"
+       depends on PNP
+       help
+         Say Y here if you want the PNP layer to be able to produce debugging
+         messages if needed.  The messages can be enabled at boot-time with
+         the pnp.debug kernel parameter.
+
+         This option allows you to save a bit of space if you do not want
+         the messages to even be built into the kernel.
+
+         If you have any doubts about this, say Y here.
+
 if PNP
 
 config PNP_DEBUG
index 9fd7bb9..5e4e82c 100644 (file)
@@ -166,3 +166,13 @@ struct pnp_resource *pnp_add_io_resource(struct pnp_dev *dev,
 struct pnp_resource *pnp_add_mem_resource(struct pnp_dev *dev,
                                          resource_size_t start,
                                          resource_size_t end, int flags);
+
+extern int pnp_debug;
+
+#if defined(CONFIG_PNP_DEBUG_MESSAGES)
+#define pnp_dbg(dev, format, arg...)                                   \
+       ({ if (pnp_debug) dev_printk(KERN_DEBUG, dev, format, ## arg); 0; })
+#else
+#define pnp_dbg(dev, format, arg...)                                   \
+       ({ if (0) dev_printk(KERN_DEBUG, dev, format, ## arg); 0; })
+#endif
index 7cb1ffc..61291b5 100644 (file)
@@ -221,3 +221,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