lkml.org 
[lkml]   [2011]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 19/25] pnp: if CONFIG_DYNAMIC_DEBUG, use pnp.dyndbg instead of pnp.debug
    Date
    From: Jim Cromie <jim.cromie@gmail.com>

    based upon https://lkml.org/lkml/2010/9/15/398

    This patch splits control of pnp debug messages for 2 configs:

    CONFIG_DYNAMIC_DEBUG:
    use pnp.dyndbg, using pnp.debug will warn
    !CONFIG_DYNAMIC_DEBUG:
    use pnp.debug, using pnp.dyndbg will warn

    2 separate boot options is perhaps suboptimal, but dyndbg is a 'fake'
    parameter, and is special enough that adapting one to another is both
    more suboptimal and harder to explain succinctly.

    Thomas' original comments, still pertinent:

    I wonder whether CONFIG_PNP_DEBUG_MESSAGES can vanish totally with
    this or at some time. Only advantage having it is: If you are
    restricted and your kernel must not exceed X bytes, you cannot compile
    in PNP debug messages only, but you have to compile in all debug
    messages.

    Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
    CC: Thomas Renninger <trenn@suse.de>
    CC: Bjorn Helgaas <bhelgaas@google.com>
    ---
    Documentation/kernel-parameters.txt | 14 ++++++++------
    drivers/pnp/base.h | 8 ++++++--
    drivers/pnp/core.c | 12 ++++++++++++
    3 files changed, 26 insertions(+), 8 deletions(-)

    diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
    index a0c5c5f..81c27b1 100644
    --- a/Documentation/kernel-parameters.txt
    +++ b/Documentation/kernel-parameters.txt
    @@ -2123,12 +2123,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
    Override pmtimer IOPort with a hex value.
    e.g. pmtmr=0x508

    - pnp.debug=1 [PNP]
    - Enable PNP debug messages (depends on the
    - CONFIG_PNP_DEBUG_MESSAGES option). Change at run-time
    - via /sys/module/pnp/parameters/debug. We always show
    - current resource usage; turning this on also shows
    - possible settings and some assignment information.
    + pnp.debug=1 [PNP] Enable PNP debug messages
    + (depends on CONFIG_PNP_DEBUG_MESSAGES and
    + !CONFIG_DYNAMIC_DEBUG options. If latter, use
    + pnp.dyndbg instead). Change at run-time via
    + /sys/module/pnp/parameters/debug. We always
    + show current resource usage; turning this on
    + also shows possible settings and some
    + assignment information.

    pnpacpi= [ACPI]
    { off }
    diff --git a/drivers/pnp/base.h b/drivers/pnp/base.h
    index fa4e0a5..28e98aa 100644
    --- a/drivers/pnp/base.h
    +++ b/drivers/pnp/base.h
    @@ -173,12 +173,16 @@ struct pnp_resource *pnp_add_bus_resource(struct pnp_dev *dev,
    resource_size_t start,
    resource_size_t end);

    -extern int pnp_debug;
    -
    +#if defined(CONFIG_DYNAMIC_DEBUG)
    +#define pnp_dbg(dev, format, arg...) \
    + ({ dev_dbg(dev, format, ## arg); 0; })
    +#else
    #if defined(CONFIG_PNP_DEBUG_MESSAGES)
    +extern int pnp_debug;
    #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
    +#endif
    diff --git a/drivers/pnp/core.c b/drivers/pnp/core.c
    index cb6ce42..838d82c 100644
    --- a/drivers/pnp/core.c
    +++ b/drivers/pnp/core.c
    @@ -219,6 +219,18 @@ subsys_initcall(pnp_init);

    int pnp_debug;

    +#if defined(CONFIG_DYNAMIC_DEBUG)
    +static int __init pnp_debug_setup(char *__unused)
    +{
    + pr_info("DYNAMIC_DEBUG enabled, use pnp.dyndbg instead\n");
    + return 1;
    +}
    +__setup("pnp.debug", pnp_debug_setup);
    +
    +#else
    +
    #if defined(CONFIG_PNP_DEBUG_MESSAGES)
    module_param_named(debug, pnp_debug, int, 0644);
    #endif
    +
    +#endif
    --
    1.7.7.3


    \
     
     \ /
      Last update: 2011-12-06 20:17    [W:0.024 / U:29.592 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site