diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2008-08-19 16:53:41 -0600 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-10-10 23:33:53 -0400 |
commit | 97ef062bbe08f46903f29ecdf432be302c977f3b (patch) | |
tree | e09e9a171ac2d3c79db945ee95145f17cdce82df | |
parent | 2663f60d434139298835af690f4891cec5c1e501 (diff) | |
download | lwn-97ef062bbe08f46903f29ecdf432be302c977f3b.tar.gz lwn-97ef062bbe08f46903f29ecdf432be302c977f3b.zip |
PNP: add CONFIG_PNP_DEBUG_MESSAGES and pnp_dbg()
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>
-rw-r--r-- | Documentation/kernel-parameters.txt | 4 | ||||
-rw-r--r-- | drivers/pnp/Kconfig | 14 | ||||
-rw-r--r-- | drivers/pnp/base.h | 10 | ||||
-rw-r--r-- | drivers/pnp/core.c | 11 |
4 files changed, 39 insertions, 0 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 1150444a21ab..7164d4e4136b 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -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 } diff --git a/drivers/pnp/Kconfig b/drivers/pnp/Kconfig index 821933f9aa57..8a3237f9f2a7 100644 --- a/drivers/pnp/Kconfig +++ b/drivers/pnp/Kconfig @@ -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 diff --git a/drivers/pnp/base.h b/drivers/pnp/base.h index 9fd7bb9b7dce..5e4e82c82659 100644 --- a/drivers/pnp/base.h +++ b/drivers/pnp/base.h @@ -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 diff --git a/drivers/pnp/core.c b/drivers/pnp/core.c index 7cb1ffc14d4e..61291b5bfe12 100644 --- a/drivers/pnp/core.c +++ b/drivers/pnp/core.c @@ -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 |