aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjorn Helgaas <bjorn.helgaas@hp.com>2008-08-19 18:53:41 -0400
committerLen Brown <len.brown@intel.com>2008-10-10 23:33:53 -0400
commit97ef062bbe08f46903f29ecdf432be302c977f3b (patch)
treee09e9a171ac2d3c79db945ee95145f17cdce82df
parent2663f60d434139298835af690f4891cec5c1e501 (diff)
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.txt4
-rw-r--r--drivers/pnp/Kconfig14
-rw-r--r--drivers/pnp/base.h10
-rw-r--r--drivers/pnp/core.c11
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
1660 Override pmtimer IOPort with a hex value. 1660 Override pmtimer IOPort with a hex value.
1661 e.g. pmtmr=0x508 1661 e.g. pmtmr=0x508
1662 1662
1663 pnp.debug [PNP]
1664 Enable PNP debug messages. This depends on the
1665 CONFIG_PNP_DEBUG_MESSAGES option.
1666
1663 pnpacpi= [ACPI] 1667 pnpacpi= [ACPI]
1664 { off } 1668 { off }
1665 1669
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
20 20
21 If unsure, say Y. 21 If unsure, say Y.
22 22
23config PNP_DEBUG_MESSAGES
24 default y
25 bool "PNP debugging messages"
26 depends on PNP
27 help
28 Say Y here if you want the PNP layer to be able to produce debugging
29 messages if needed. The messages can be enabled at boot-time with
30 the pnp.debug kernel parameter.
31
32 This option allows you to save a bit of space if you do not want
33 the messages to even be built into the kernel.
34
35 If you have any doubts about this, say Y here.
36
23if PNP 37if PNP
24 38
25config PNP_DEBUG 39config 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,
166struct pnp_resource *pnp_add_mem_resource(struct pnp_dev *dev, 166struct pnp_resource *pnp_add_mem_resource(struct pnp_dev *dev,
167 resource_size_t start, 167 resource_size_t start,
168 resource_size_t end, int flags); 168 resource_size_t end, int flags);
169
170extern int pnp_debug;
171
172#if defined(CONFIG_PNP_DEBUG_MESSAGES)
173#define pnp_dbg(dev, format, arg...) \
174 ({ if (pnp_debug) dev_printk(KERN_DEBUG, dev, format, ## arg); 0; })
175#else
176#define pnp_dbg(dev, format, arg...) \
177 ({ if (0) dev_printk(KERN_DEBUG, dev, format, ## arg); 0; })
178#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)
221} 221}
222 222
223subsys_initcall(pnp_init); 223subsys_initcall(pnp_init);
224
225int pnp_debug;
226
227#if defined(CONFIG_PNP_DEBUG_MESSAGES)
228static int __init pnp_debug_setup(char *__unused)
229{
230 pnp_debug = 1;
231 return 1;
232}
233__setup("pnp.debug", pnp_debug_setup);
234#endif