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>
This commit is contained in:
Bjorn Helgaas 2008-08-19 16:53:41 -06:00 committed by Len Brown
parent 2663f60d43
commit 97ef062bbe
4 changed files with 39 additions and 0 deletions

View 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 }

View 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

View 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

View 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