)]}'
{
  "log": [
    {
      "commit": "18c216c53b29f15b17c4c05a46395fc90ebb6f0c",
      "tree": "0f01e8fd2346ec6c82eaace95e6831440bc39a03",
      "parents": [
        "7a555613eb77c69eb6e48b61bc5f72dd42fa1780"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Wed Dec 05 16:48:27 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 17 12:19:09 2013 -0800"
      },
      "message": "dynamic_debug: add pr_errs before -EINVALs\n\nMa noted that dynamic-debug is silent about many query errors, so add\npr_err()s to explain those errors, and tweak a few others.  Also parse\nflags 1st, so that match-spec errs are slightly clearer.\n\nCC: Jianpeng Ma \u003cmajianpeng@gmail.com\u003e\nCC: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f657fd21e16e3ab7432c03008e19069c2ef8e150",
      "tree": "5b7ff5789f497491c29acfc896622cff0527ab4a",
      "parents": [
        "a8826eeb71bd0f540e0df799c98da4ab7f4cb03a"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Dec 05 16:48:26 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 17 12:18:07 2013 -0800"
      },
      "message": "dynamic_debug: Fix vpr_\u003cfoo\u003e logging styles\n\nvpr_info_dq should be a function and vpr_info should have\na do {} while (0)\n\nAdd missing newlines to pr_\u003clevel\u003es.\n\nMiscellaneous neatening too.\nbraces, coalescing formats, alignments, etc...\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "35367ab28d024ef026dbd797b4076c8f008ec08c",
      "tree": "0f4505be48bcf7de1136dde92365cbe9ab8bf55e",
      "parents": [
        "b18888ab256f05626193be955a7a03f01d676f8c"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Mon Dec 17 16:01:21 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:17 2012 -0800"
      },
      "message": "lib: dynamic_debug: use kbasename()\n\nRemove the custom implementation of the functionality similar to kbasename().\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "666f355f3805d68b6ed5f7013806f1f65abfbf03",
      "tree": "a04490ab9e68e4113410b7e7399edb9369545dfe",
      "parents": [
        "05e4e5b87aab74f994acf9dd4bed4a8f1367cd09"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Sep 12 20:14:11 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Sep 17 06:10:05 2012 -0700"
      },
      "message": "device and dynamic_debug: Use dev_vprintk_emit and dev_printk_emit\n\nConvert direct calls of vprintk_emit and printk_emit to the\ndev_ equivalents.\n\nMake create_syslog_header static.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nTested-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c2c5a7051c556036b7beb8f4a89eefdc91c3245b",
      "tree": "926e7b486447b29c0195111e4d5ce098d2138d4e",
      "parents": [
        "b004ff4972e2a42aa4512c90cc6a9e4dc1bb36b6"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Sep 12 20:13:01 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Sep 17 06:10:05 2012 -0700"
      },
      "message": "netdev_printk/netif_printk: Remove a superfluous logging colon\n\nnetdev_printk originally called dev_printk with %pV.\n\nThis style emitted the complete dev_printk header with\na colon followed by the netdev_name prefix followed\nby a colon.\n\nNow that netdev_printk does not call dev_printk, the\nextra colon is superfluous.  Remove it.\n\nExample:\nold: sky2 0000:02:00.0: eth0: Link is up at 100 Mbps, full duplex, flow control both\nnew: sky2 0000:02:00.0 eth0: Link is up at 100 Mbps, full duplex, flow control both\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nTested-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "b004ff4972e2a42aa4512c90cc6a9e4dc1bb36b6",
      "tree": "13d68f77aeb0db8cf32ff81f7fc6931640c13f70",
      "parents": [
        "798efc60e4276825df34af0e91ecbe0781237834"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Sep 12 20:12:19 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Sep 17 06:08:30 2012 -0700"
      },
      "message": "netdev_printk/dynamic_netdev_dbg: Directly call printk_emit\n\nA lot of stack is used in recursive printks with %pV.\n\nUsing multiple levels of %pV (a logging function with %pV\nthat calls another logging function with %pV) can consume\nmore stack than necessary.\n\nAvoid excessive stack use by not calling dev_printk from\nnetdev_printk and dynamic_netdev_dbg.  Duplicate the logic\nand form of dev_printk instead.\n\nMake __netdev_printk static.\nRemove EXPORT_SYMBOL(__netdev_printk)\nWhitespace and brace style neatening.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nTested-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "798efc60e4276825df34af0e91ecbe0781237834",
      "tree": "8ccec7118a7a76f5731fecb8507643c44936eb49",
      "parents": [
        "8f949b9a7e0bac3a9c3c29dc27c476a87e21db3e"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Sep 12 20:11:29 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Sep 17 06:08:30 2012 -0700"
      },
      "message": "dev_dbg/dynamic_debug: Update to use printk_emit, optimize stack\n\ncommit c4e00daaa9\n(\"driver-core: extend dev_printk() to pass structured data\")\nchanged __dev_printk and broke dynamic-debug\u0027s ability to control the\ndynamic prefix of dev_dbg(dev,..).\n\ncommit af7f2158fd\n(\"drivers-core: make structured logging play nice with dynamic-debug\")\nmade a minimal correction.\n\nThe current dynamic debug code uses up to 3 recursion levels via %pV.\nThis can consume quite a bit of stack.  Directly call printk_emit to\nreduce the recursion depth.\n\nThese changes include:\n\ndev_dbg:\no Create and use function create_syslog_header to format the syslog\n  header for printk_emit uses.\no Call create_syslog_header and neaten __dev_printk\no Make __dev_printk static not global\no Remove include header declaration of __dev_printk\no Remove now unused EXPORT_SYMBOL() of __dev_printk\no Whitespace neatening\n\ndynamic_dev_dbg:\no Remove KERN_DEBUG from dynamic_emit_prefix\no Call create_syslog_header and printk_emit\no Whitespace neatening\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nTested-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "fef15d2f3d97c9858694f234af94a4ef40d86679",
      "tree": "6b3b6e1cf69eec40722b6a5ce0cc811d3e3cf24a",
      "parents": [
        "b5f3abf950f16fa615dc621e38eec63b2cc67946"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon May 07 16:47:32 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon May 07 16:47:32 2012 -0700"
      },
      "message": "Revert \"dynamic_debug: remove unneeded includes\"\n\nThis reverts commit 04db6e5fddca55186b6a74339a62c800150648bc.\n\nOdds are, we really don\u0027t want to revert all of these, and need to be\nmore careful in the future to make sure we don\u0027t break the build of\nother arches.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "04db6e5fddca55186b6a74339a62c800150648bc",
      "tree": "c520f9df5434a6391e2f8d20c32c233ebb7b13b1",
      "parents": [
        "1ef9eaf2bf8901e92bb931875a5621692c8a0b84"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Thu May 03 11:57:39 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri May 04 17:25:46 2012 -0700"
      },
      "message": "dynamic_debug: remove unneeded includes\n\nThese arent currently needed, so drop them.  Some will probably get\nre-added when static-branches are added, but include loops prevent\nthat at present.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "3ec5652ab70f6e9a888d9e5f67c858af354323b3",
      "tree": "309ed6abea9f994da93a33576aeaf07cefe2562b",
      "parents": [
        "29e36c9ffb696ed8d73e1aee713d483ec74a9a43"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:42 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 16:26:31 2012 -0400"
      },
      "message": "dynamic_debug: init with early_initcall, not arch_initcall\n\n1- Call dynamic_debug_init() from early_initcall, not arch_initcall.\n2- Call dynamic_debug_init_debugfs() from fs_initcall, not module_init.\n\nRFC: This works for me on a 64 bit desktop and a i586 SBC, but is\nuntested on other arches.  I presume there is or was a reason\noriginal code used arch_initcall, maybe the constraints have changed.\n\nThis makes facility available as soon as possible.\n\n2nd change has a downside when dynamic_debug.verbose\u003d1; all the\nvpr_info()s called in the proc-fs code are activated, causing\nvoluminous output from dmesg.  TBD: Im unsure of this explanation, but\nthe output is there.  This could be fixed by changing those callsites\nto v2pr_info(if verbose \u003e 1).\n\n1st change is still not early enough to enable pr_debugs in\nkernel/params, so parsing of boot-args isnt logged.  The reparse of\nthose args is however visible after params.dyndbg\u003d\"+p\" is processed.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "8e59b5cfb9a6f43753236b554d785e8efca62db7",
      "tree": "1e6116dadf2106fe910d5cbc4fb03488028361fe",
      "parents": [
        "4107692760db8160a65347f7bb2fa7fa7bf9b0d1"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:40 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 16:25:39 2012 -0400"
      },
      "message": "dynamic_debug: add modname arg to exec_query callchain\n\nPass module name into ddebug_exec_queries(), ddebug_exec_query(), and\nddebug_parse_query() as separate parameter.  In ddebug_parse_query(),\nthe module name is added into the query struct before the query-string\nis parsed.  This allows the query-string to be shorter:\n\ninstead of:\n   $modname.dyndbg\u003d\"module $modname +fp\"\ndo this:\n   $modname.dyndbg\u003d\"+fp\"\n\nOmitting \"module $modname\" from the query string is actually required\nfor $modname.dyndbg rules; the set-only-once check added in a previous\npatch will throw an error if its added again.  ddebug_query\u003d\"...\" has\nno $modname associated with it, so the query string may include it.\n\nThis also fixes redundant \"module $modname\" otherwise needed to handle\nmultiple queries per string:\n\n   $modname.dyndbg\u003d\"func foo +fp; func bar +fp\"\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4107692760db8160a65347f7bb2fa7fa7bf9b0d1",
      "tree": "7e729fc32c723bc8fa77e852f3bf9308822fa653",
      "parents": [
        "af442399fcf378a21ffe924b182f6d9ee70001ca"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:39 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 16:25:39 2012 -0400"
      },
      "message": "dynamic_debug: print ram usage by ddebug tables if verbose\n\nPrint ram usage of dynamic-debug tables and verbose section so user\nknows cost of enabling CONFIG_DYNAMIC_DEBUG.  This only counts the\nsize of the _ddebug tables for builtins and the __verbose section that\nthey refer to, not those used in loadable modules.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "af442399fcf378a21ffe924b182f6d9ee70001ca",
      "tree": "c4489c25edde2f6c4aaeac9eaf2d6d784f6572f9",
      "parents": [
        "6ab676e96422f33a873006096f928feeded7ce3b"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:38 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 16:25:39 2012 -0400"
      },
      "message": "dynamic_debug: simplify dynamic_debug_init error exit\n\nWe dont want errors while parsing ddebug_query to unload ddebug\ntables, so set success after tables are loaded, and return 0 after\nquery parsing is done.\n\nSimplify error handling code since its no longer used for success,\nand change goto label to out_err to clarify this.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6ab676e96422f33a873006096f928feeded7ce3b",
      "tree": "dbb5ae0912831f528db8cd654ca96a294a5afb33",
      "parents": [
        "f0b919d967284313be4a767ba92ab5a88cb27410"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:37 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 16:24:34 2012 -0400"
      },
      "message": "dynamic_debug: combine parse_args callbacks together\n\nRefactor ddebug_dyndbg_boot_param_cb and ddebug_dyndbg_module_param_cb\ninto a common helper function, and call it from both.  The handling of\nfoo.dyndbg is unneeded by the latter, but harmless.\n\nThe 2 callers differ only by pr_info and the return code they pass to\nthe helper for when an unknown param is handled.  I could slightly\nreduce dmesg clutter by putting the vpr_info in the common helper,\nafter the return on_err, but that loses __func__ context, is overly\nsilent on module_cb unknown param errors, and the clutter is only when\ndynamic_debug.verbose\u003d1 anyway.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f0b919d967284313be4a767ba92ab5a88cb27410",
      "tree": "2b6491553abf9bad7aac976f7b08f060cd4e20d5",
      "parents": [
        "b48420c1d3019ce8d84fb8e58f4ca86b8e3655b8"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:36 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 16:24:34 2012 -0400"
      },
      "message": "dynamic_debug: deprecate ddebug_query, suggest dyndbg instead\n\nWith ddebug_dyndbg_boot_params_cb() handling bare dyndbg params, we\ndont need ddebug_query param anymore.  Add a warning when processing\nddebug_query\u003d param that it is deprecated, and to change it to dyndbg\u003d\n\nAdd a deprecation notice for v3.8 to feature-removal-schedule.txt, and\nadd a suggested deprecation period of 3 releases to the header.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "b48420c1d3019ce8d84fb8e58f4ca86b8e3655b8",
      "tree": "feeeb1008ff2433bba3107c3584ec8b4a403cec5",
      "parents": [
        "9fb48c744ba6a4bf58b666f4e6fdac3008ea1bd4"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:35 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 14:31:46 2012 -0400"
      },
      "message": "dynamic_debug: make dynamic-debug work for module initialization\n\nThis introduces a fake module param $module.dyndbg.  Its based upon\nThomas Renninger\u0027s $module.ddebug boot-time debugging patch from\nhttps://lkml.org/lkml/2010/9/15/397\n\nThe \u0027fake\u0027 module parameter is provided for all modules, whether or\nnot they need it.  It is not explicitly added to each module, but is\nimplemented in callbacks invoked from parse_args.\n\nFor builtin modules, dynamic_debug_init() now directly calls\nparse_args(..., \u0026ddebug_dyndbg_boot_params_cb), to process the params\nundeclared in the modules, just after the ddebug tables are processed.\n\nWhile its slightly weird to reprocess the boot params, parse_args() is\nalready called repeatedly by do_initcall_levels().  More importantly,\nthe dyndbg queries (given in ddebug_query or dyndbg params) cannot be\nactivated until after the ddebug tables are ready, and reusing\nparse_args is cleaner than doing an ad-hoc parse.  This reparse would\nbreak options like inc_verbosity, but they probably should be params,\nlike verbosity\u003d3.\n\nddebug_dyndbg_boot_params_cb() handles both bare dyndbg (aka:\nddebug_query) and module-prefixed dyndbg params, and ignores all other\nparameters.  For example, the following will enable pr_debug()s in 4\nbuiltin modules, in the order given:\n\n  dyndbg\u003d\"module params +p; module aio +p\" module.dyndbg\u003d+p pci.dyndbg\n\nFor loadable modules, parse_args() in load_module() calls\nddebug_dyndbg_module_params_cb().  This handles bare dyndbg params as\npassed from modprobe, and errors on other unknown params.\n\nNote that modprobe reads /proc/cmdline, so \"modprobe foo\" grabs all\nfoo.params, strips the \"foo.\", and passes these to the kernel.\nddebug_dyndbg_module_params_cb() is again called for the unknown\nparams; it handles dyndbg, and errors on others.  The \"doing\" arg\nadded previously contains the module name.\n\nFor non CONFIG_DYNAMIC_DEBUG builds, the stub function accepts\nand ignores $module.dyndbg params, other unknowns get -ENOENT.\n\nIf no param value is given (as in pci.dyndbg example above), \"+p\" is\nassumed, which enables all pr_debug callsites in the module.\n\nThe dyndbg fake parameter is not shown in /sys/module/*/parameters,\nthus it does not use any resources.  Changes to it are made via the\ncontrol file.\n\nAlso change pr_info in ddebug_exec_queries to vpr_info,\nno need to see it all the time.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nCC: Thomas Renninger \u003ctrenn@suse.de\u003e\nCC: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "b8ccd5dee776d85e29cf139c77595b7369e294bc",
      "tree": "e46fe649436eba9a6023b751a7bad85c3f40075d",
      "parents": [
        "c0a6720977f89c50473366af965ae28cd8fce923"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Fri Apr 27 14:30:32 2012 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Apr 30 13:35:30 2012 -0400"
      },
      "message": "dynamic_debug: replace if (verbose) pr_info with macro vpr_info\n\nUse vpr_info to declutter code, reduce indenting, and change one\nadditional pr_info call in ddebug_exec_queries.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "85f7f6c0edb8414053d788229c97d5ecff21efab",
      "tree": "214ed1f1ed2d026280ca46728948f59c0cb5f528",
      "parents": [
        "574b3725e327531c70361d1a10b8dc8dd2b93590"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:13:21 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:50:36 2012 -0800"
      },
      "message": "dynamic_debug: process multiple debug-queries on a line\n\nInsert ddebug_exec_queries() in place of ddebug_exec_query().  It\nsplits the query string on [;\\n], and calls ddebug_exec_query() on\neach.  All queries are processed independent of errors, allowing a\nquery to fail, for example when a module is not installed.  Empty\nlines and comments are skipped.  Errors are counted, and the last\nerror seen (negative) or the number of callsites found (0 or positive)\nis returned.  Return code checks are altered accordingly.\n\nWith this, multiple queries can be given in ddebug_query, allowing\nmore selective enabling of callsites.  As a side effect, a set of\ncommands can be batched in:\n\n\tcat cmd-file \u003e $DBGMT/dynamic_debug/control\n\nWe dont want a ddebug_query syntax error to kill the dynamic debug\nfacility, so dynamic_debug_init() zeros ddebug_exec_queries()\u0027s return\ncode after logging the appropriate message, so that ddebug tables are\npreserved and $DBGMT/dynamic_debug/control file is created.  This\nwould be appropriate even without accepting multiple queries.\n\nThis patch also alters ddebug_change() to return number of callsites\nmatched (which typically is the same as number of callsites changed).\nddebug_exec_query() also returns the number found, or a negative value\nif theres a parse error on the query.\n\nSplitting on [;\\n] prevents their use in format-specs, but selecting\ncallsites on punctuation is brittle anyway, meaningful and selective\nsubstrings are more typical.\n\nNote: splitting queries on \u0027;\u0027 before handling trailing #comments\nmeans that a \u0027;\u0027 also terminates a comment, and text after the \u0027;\u0027 is\ntreated as another query.  This trailing query will almost certainly\nresult in a parse error and thus have no effect other than the error\nmessage.  The double corner case with unexpected results is:\n\n     ddebug_query\u003d\"func foo +p # enable foo ; +p\"\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "574b3725e327531c70361d1a10b8dc8dd2b93590",
      "tree": "a68938a8ef462426a34bb002ee697e2e6ce26df7",
      "parents": [
        "2b6783191da7211c88f98eb1a2bd2027bff36e30"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:13:16 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:50:36 2012 -0800"
      },
      "message": "dynamic_debug: factor vpr_info_dq out of ddebug_parse_query\n\nFactor pr_info(query) out of ddebug_parse_query, into vpr_info_dq(),\nfor reuse later.  Also change the printed labels: file, func to agree\nwith the query-spec keywords accepted in the control file.  Pass \"\"\nwhen string is null, to avoid \"(null)\" output from sprintf.  For\nformat print, use precision to skip last char, assuming its \u0027\\n\u0027, no\ngreat harm if not, its a debug msg.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2b6783191da7211c88f98eb1a2bd2027bff36e30",
      "tree": "3227bbc5c9c187b6dbaa133a6f7e2e4364942594",
      "parents": [
        "7281491c594e7b8501eb5dfcf6cd3724f8a1b5b0"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:13:12 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:48:55 2012 -0800"
      },
      "message": "dynamic_debug: add trim_prefix() to provide source-root relative paths\n\ntrim_prefix(path) skips past the absolute source path root, and\nreturns the pointer to the relative path from there.  It is used to\nshorten the displayed path in $DBGMT/dynamic_debug/control via\nddebug_proc_show(), and in ddebug_change() to allow relative filenames\nto be used in applied queries.  For example:\n\n  ~# echo file kernel/freezer.c +p \u003e $DBGMT/dynamic_debug/control\n\n  kernel/freezer.c:128 [freezer]cancel_freezing p \"  clean up: %s\\012\"\n\ntrim_prefix(path) insures common prefix before trimming it, so\nout-of-tree module paths are shown as full absolute paths.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7281491c594e7b8501eb5dfcf6cd3724f8a1b5b0",
      "tree": "7f99ca473ffc79baf0cb96b6dfb33de831af494f",
      "parents": [
        "8bd6026e88cb2eb1e60ee40c7a1a0786b2db6623"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:13:07 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:48:55 2012 -0800"
      },
      "message": "dynamic_debug: enlarge command/query write buffer\n\nCurrent query write buffer is 256 bytes, on stack.  In comparison, the\nddebug_query boot-arg is 1024.  Allocate the buffer off heap, and\nenlarge it to 4096 bytes, big enough for ~100 queries (at 40 bytes\neach), and error out if not.  This makes it play nicely with large\nquery sets (to be added later).  The buffer should be enough for most\nuses, and others should probably be split into subsets.\n\n[jbaron@redhat.com: changed USER_BUF_PAGE from 4095 -\u003e 4096 ]\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8bd6026e88cb2eb1e60ee40c7a1a0786b2db6623",
      "tree": "ba8a4a4bab38500b8e6434a1a880755a2a867fc6",
      "parents": [
        "e703ddae383abb24b1c7f363cb0df7e78a44ea45"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:13:03 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:48:54 2012 -0800"
      },
      "message": "dynamic_debug: chop off comments in ddebug_tokenize\n\nIf a token begins with #, the remainder of query string is a comment,\nso drop it.  Doing it here avoids \u0027#\u0027 in quoted strings.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "b5b78f83854af15e04c63fdbc6efed9355afbe8f",
      "tree": "c0f3a85ec25beace9288e6cc9d07723ffeb989fe",
      "parents": [
        "820874c75ea0d3a9c22d69d6eaad42a279d6756c"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:12:54 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:48:54 2012 -0800"
      },
      "message": "dynamic_debug: early return if _ddebug table is empty\n\nIf _ddebug table is empty (in a CONFIG_DYNAMIC_DEBUG build this\nshouldn\u0027t happen), then warn (error?) and return early.  This skips\nempty table scan and parsing of setup-string, including the pr_info\ncall noting the parse.  By inspection, copy return-code handling from\n1st ddebug_add_module() callsite to 2nd.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "820874c75ea0d3a9c22d69d6eaad42a279d6756c",
      "tree": "96cc2880f8bccb0d6d76e6eb518a2cfd533f50e4",
      "parents": [
        "5ca7d2a6c5e4f24dfe39e8383c6d32e61d95d16a"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:12:49 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:48:53 2012 -0800"
      },
      "message": "dynamic_debug: tighten up error checking on debug queries\n\nIssue error when a match-spec is given multiple times in a rule.\nPrevious code kept last one, but was silent about it.  Docs imply only\none is allowed by saying match-specs are ANDed together, given that\nmodule M cannot match both A and B.  Also error when last_line \u003c 1st_line.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5ca7d2a6c5e4f24dfe39e8383c6d32e61d95d16a",
      "tree": "9825251f6cd4a7027e8235a73d6a6c8654a6afed",
      "parents": [
        "d6a238d25014d0ff918410d73e2a6300bca5d1f1"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:12:44 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:48:52 2012 -0800"
      },
      "message": "dynamic_debug: describe_flags with \u0027\u003d[pmflt_]*\u0027\n\nChange describe_flags() to emit \u0027\u003d[pmflt_]+\u0027 for current callsite\nflags, or just \u0027\u003d_\u0027 when they\u0027re disabled.  Having \u0027\u003d\u0027 in output\nallows a more selective grep expression; in contrast \u0027-\u0027 may appear\nin filenames, line-ranges, and format-strings.  \u0027\u003d\u0027 also has better\nmnemonics, saying; \"the current setting is equal to \u003cflags\u003e\".\n\nThis allows grep \"\u003d_\" \u003cdbgfs\u003e/dynamic_debug/control to see disabled\ncallsites while avoiding the many occurrences of \" \u003d \" seen in format\nstrings.\n\nEnlarge flagsbufs to handle additional flag char, and alter\nddebug_parse_flags() to allow flags\u003d0, so that user can turn off all\ndebug flags via:\n\n  ~# echo \u003d_ \u003e \u003cdbgfs\u003e/dynamic_debug/control\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d6a238d25014d0ff918410d73e2a6300bca5d1f1",
      "tree": "c7abb490f1ff36b0336ca6d8206e4a772bd4ff2f",
      "parents": [
        "ae27f86a21eb9a9e005f06b126eb88662ba4f940"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:12:39 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:46:46 2012 -0800"
      },
      "message": "dynamic_debug: drop explicit !\u003dNULL checks\n\nConvert \u0027if (x !\u003dNULL)\u0027 checks into \u0027if (x)\u0027.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ae27f86a21eb9a9e005f06b126eb88662ba4f940",
      "tree": "365183b662741c4ec797792faca06fa5b963b8a8",
      "parents": [
        "bc757f6f5bf4e9251bbc1a3419c94ffe9fd3e2ee"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:12:34 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:46:45 2012 -0800"
      },
      "message": "dynamic_debug: pr_err() call should not depend upon verbosity\n\nIssue keyword/parsing errors even w/o verbose set;\nuncover otherwize mysterious non-functionality.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bc757f6f5bf4e9251bbc1a3419c94ffe9fd3e2ee",
      "tree": "593f673d80d7cf6981b346dc5d5ac2e6ba5d5c9a",
      "parents": [
        "74df138d508eb35e8b929e165e5403cfbb46a0c5"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:12:29 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:46:45 2012 -0800"
      },
      "message": "dynamic_debug: replace strcpy with strlcpy, in ddebug_setup_query()\n\nReplace strcpy with strlcpy, and add define for the size constant.\n\n[jbaron@redhat.com: Use DDEBUG_STRING_SIZE for overflow check]\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "74df138d508eb35e8b929e165e5403cfbb46a0c5",
      "tree": "6d1951d2c53e39be5b0e0ebe4edcecc785634a52",
      "parents": [
        "b558c96ffa53f4b3dd52b774e4fb7a52982ab52b"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:12:24 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:46:45 2012 -0800"
      },
      "message": "dynamic_debug: change verbosity at runtime\n\nAllow changing dynamic_debug verbosity at run-time, to ease debugging\nof ddebug queries as you add them, improving usability.\n\nat boot time: dynamic_debug.verbose\u003d1\nat runtime:\nroot@voyage:~# echo 1 \u003e /sys/module/dynamic_debug/parameters/verbose\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "87e6f968339bcdda56b39572c7e63331192296a0",
      "tree": "f6e6b4afd8fa9d94540d844927e41f3c01a79f7d",
      "parents": [
        "07100be7e0495ff39237d48886bca7396c873db7"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:11:13 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:46:44 2012 -0800"
      },
      "message": "dynamic_debug: drop enabled field from struct _ddebug, use _DPRINTK_FLAGS_PRINT\n\nCurrently any enabled dynamic-debug flag on a pr_debug callsite will\nenable printing, even if _DPRINTK_FLAGS_PRINT is off.  Checking print\nflag directly allows \"-p\" to disable callsites without fussing with\nother flags, so the following disables everything, without altering\nflags user may have set:\n\n\techo -p \u003e $DBGFS/dynamic_debug/control\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "07100be7e0495ff39237d48886bca7396c873db7",
      "tree": "a4348be0f28063e0f1a986aa3efe60f8bc00f09f",
      "parents": [
        "524b6c5b39b931311dfe5a2f5abae2f5c9731676"
      ],
      "author": {
        "name": "Jim Cromie",
        "email": "jim.cromie@gmail.com",
        "time": "Mon Dec 19 17:11:09 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 12:46:43 2012 -0800"
      },
      "message": "dynamic_debug: fix whitespace complaints from scripts/cleanfile\n\nStyle cleanups.\n\nSigned-off-by: Jim Cromie \u003cjim.cromie@gmail.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2d03423b2319cc854adeb28a03f65de5b5e0ab63",
      "tree": "20d9ddb661f3247f5dfaa6da8212123ed14a24c4",
      "parents": [
        "59e52534172d845ebffb0d7e85fc56fb7b857051",
        "2bbcb8788311a40714b585fc11b51da6ffa2ab92"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:13:59 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:13:59 2011 +0200"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (38 commits)\n  mm: memory hotplug: Check if pages are correctly reserved on a per-section basis\n  Revert \"memory hotplug: Correct page reservation checking\"\n  Update email address for stable patch submission\n  dynamic_debug: fix undefined reference to `__netdev_printk\u0027\n  dynamic_debug: use a single printk() to emit messages\n  dynamic_debug: remove num_enabled accounting\n  dynamic_debug: consolidate repetitive struct _ddebug descriptor definitions\n  uio: Support physical addresses \u003e32 bits on 32-bit systems\n  sysfs: add unsigned long cast to prevent compile warning\n  drivers: base: print rejected matches with DEBUG_DRIVER\n  memory hotplug: Correct page reservation checking\n  memory hotplug: Refuse to add unaligned memory regions\n  remove the messy code file Documentation/zh_CN/SubmitChecklist\n  ARM: mxc: convert device creation to use platform_device_register_full\n  new helper to create platform devices with dma mask\n  docs/driver-model: Update device class docs\n  docs/driver-model: Document device.groups\n  kobj_uevent: Ignore if some listeners cannot handle message\n  dynamic_debug: make netif_dbg() call __netdev_printk()\n  dynamic_debug: make netdev_dbg() call __netdev_printk()\n  ...\n"
    },
    {
      "commit": "0feefd97861f9b38accf09a12f8d323f2705e917",
      "tree": "ae126a479effdf41d3995d82a8939c36d4511491",
      "parents": [
        "431625dac14de7152235f2f9934d70a9b0f9df83"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Tue Oct 04 14:13:22 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 18 11:22:01 2011 -0700"
      },
      "message": "dynamic_debug: fix undefined reference to `__netdev_printk\u0027\n\nDynamic debug recently added support for netdev_printk.  It uses\n__netdev_printk() to support this functionality.  However, when CONFIG_NET\nis not set, we get the following error:\n\nlib/built-in.o: In function `__dynamic_netdev_dbg\u0027:\n(.text+0x9fda): undefined reference to `__netdev_printk\u0027\n\nFix this by making the call to netdev_printk() contingent upon CONFIG_NET.\n We could have fixed this by defining netdev_printk() to a \u0027no-op\u0027 in the\n!CONFIG_NET case.  However, this is not consistent with how the networking\nlayer uses netdev_printk.  For example, CONFIG_NET is not set,\nnetdev_printk() does not have a \u0027no-op\u0027 definition defined.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@google.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "431625dac14de7152235f2f9934d70a9b0f9df83",
      "tree": "8c08388a455e5fba84596f90942c756765967b47",
      "parents": [
        "bd22c01e845ad22a89ae25005b38d28e6690c27a"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Tue Oct 04 14:13:19 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 18 11:22:00 2011 -0700"
      },
      "message": "dynamic_debug: use a single printk() to emit messages\n\nWe were using KERN_CONT to combine messages with their prefix.  However,\nKERN_CONT is not smp safe, in the sense that it can interleave messages.\nThis interleaving can result in printks coming out at the wrong loglevel.\nWith the high frequency of printks that dynamic debug can produce this is\nnot desirable.\n\nSo make dynamic_emit_prefix() fill a char buf[64] instead of doing a\nprintk directly.  If we enable printing out of function, module, line, or\npid info, they are placed in this 64 byte buffer.  In my testing 64 bytes\nwas enough size to fulfill all requests.  Even if it\u0027s not, we can match\nup the printk itself to see where it\u0027s from, so to me this is no big deal.\n\n[akpm@linux-foundation.org: convert dangerous macro to C]\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@google.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bd22c01e845ad22a89ae25005b38d28e6690c27a",
      "tree": "8bb242d3df9492277be2e94e91afe8af77086c02",
      "parents": [
        "07613b0b5ef8570033aa806d1731dce599862223"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Tue Oct 04 14:13:17 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 18 11:22:00 2011 -0700"
      },
      "message": "dynamic_debug: remove num_enabled accounting\n\nThe num_enabled accounting isn\u0027t actually used anywhere - remove them.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@google.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c9bab38f70414918d414a1672d908f6447880075",
      "tree": "e5ddefa8ea95dab9dcff2714a4fa1d0553cc5761",
      "parents": [
        "699324871fcc3650f2023c5e36cb119a92d7894b"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Mon Aug 01 22:50:19 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Sep 15 14:57:05 2011 +0200"
      },
      "message": "Remove unneeded version.h include from lib/\n\nThis patch removes an unneeded include of linux/version.h from\nlib/dynamic_debug.c - identified by \u0027make versioncheck\u0027.\nThis is the only file in lib/ with this issue.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "ffa10cb47a94c9b456c83301c8047e2a898dd409",
      "tree": "dd0fb674235c51d54fd80540420c23002795048e",
      "parents": [
        "ac0ac38f68be73b92dc390ceace50a0d143d76ae"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Thu Aug 11 14:36:48 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 18:23:06 2011 -0700"
      },
      "message": "dynamic_debug: make netdev_dbg() call __netdev_printk()\n\nPreviously, if dynamic debug was enabled netdev_dbg() was using\ndynamic_dev_dbg() to print out the underlying msg. Fix this by making\nsure netdev_dbg() uses __netdev_printk().\n\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4ad275e5cb576fa4e3e12597cb81eed0d500416d",
      "tree": "4f7ac61db1914a8e5c9e8063aca806e137897fc8",
      "parents": [
        "5b2ebce4821c66dd33d15d076ee264b4eb86fea3"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Aug 11 14:36:33 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 18:23:05 2011 -0700"
      },
      "message": "dynamic_debug: Convert printks to pr_\u003clevel\u003e\n\nAdd pr_fmt(fmt) with __func__.\nConverts \"ddebug:\" prefix to \"dynamic_debug:\".\n\nMost likely the if (verbose) outputs could\nalso be converted from pr_info to pr_debug.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5b2ebce4821c66dd33d15d076ee264b4eb86fea3",
      "tree": "4d5aeb3c6a78a1ddf4cf7a59faca3d67be859180",
      "parents": [
        "6c2140ee0ebf91258f93d3019922b5f520a18d88"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Aug 11 14:36:29 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 18:23:04 2011 -0700"
      },
      "message": "dynamic_debug: Remove uses of KERN_CONT in dynamic_emit_prefix\n\nMultiple printks with KERN_CONT can be interleaved by\nother printks.  Reduce the likelihood of that interleaving\nby consolidating multiple calls to printk.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6c2140ee0ebf91258f93d3019922b5f520a18d88",
      "tree": "69355a873ffa0632e192fafea92158d5259738c5",
      "parents": [
        "cbc4663552ee476f57933920d782222d94878e7e"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Aug 11 14:36:25 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 18:23:04 2011 -0700"
      },
      "message": "dynamic_debug: Consolidate prefix output to single routine\n\nAdding dynamic_dev_dbg duplicated prefix output.\nConsolidate that output to a single routine.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "cbc4663552ee476f57933920d782222d94878e7e",
      "tree": "7fa60ec28e53114d239137b7cea65c66da15040c",
      "parents": [
        "25b8a88c10770e8c3f14bf2e222691dc6e79de78"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Aug 11 14:36:21 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 22 18:23:04 2011 -0700"
      },
      "message": "dynamic_debug: Add __dynamic_dev_dbg\n\nUnlike dynamic_pr_debug, dynamic uses of dev_dbg can not\ncurrently add task_pid/KBUILD_MODNAME/__func__/__LINE__\nto selected debug output.\n\nAdd a new function similar to dynamic_pr_debug to\noptionally emit these prefixes.\n\nCc: Aloisio Almeida \u003caloisio.almeida@openbossa.org\u003e\nNoticed-by: Aloisio Almeida \u003caloisio.almeida@openbossa.org\u003e\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e8d9792aa514e49bf618713987c393d93babc2c5",
      "tree": "f348c8f70a62f05a4ccb56830f18862c2f12e161",
      "parents": [
        "c47dda7d179dde17697c3f839f150fecaf6770cb"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 03 15:59:58 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 03 15:59:58 2011 -0800"
      },
      "message": "dynamic_debug: add #include \u003clinux/sched.h\u003e\n\nThis fixes a build breakage caused by\n8ba6ebf583f12da32036fc0f003ab4043e54692e \"Dynamic debug: Add more flags\"\n\nCc: Bart Van Assche \u003cbvanassche@acm.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8ba6ebf583f12da32036fc0f003ab4043e54692e",
      "tree": "8fdd980d30fea50722b28fb5d782236174b2d188",
      "parents": [
        "9b99b7f84ea520d2ecaf816bde247a1ad07e454e"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@acm.org",
        "time": "Sun Jan 23 17:17:24 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 03 15:39:16 2011 -0800"
      },
      "message": "Dynamic debug: Add more flags\n\nAdd flags that allow the user to specify via debugfs whether or not the\nmodule name, function name, line number and/or thread ID have to be\nincluded in the printed message.\n\nSigned-off-by: Bart Van Assche \u003cbvanassche@acm.org\u003e\nCc: Greg Banks \u003cgnb@fmeh.org\u003e\nCc: Konrad Rzeszutek Wilk \u003ckonrad@darnok.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2d75af2f2a7a6103a6d539a492fe81deacabde44",
      "tree": "283f6f7acc28936e25656502e77e10909fde7d6f",
      "parents": [
        "870915e047a2da695be118d32dd5a900f0c3e933"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Jan 07 13:36:58 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 07 23:36:59 2011 -0500"
      },
      "message": "dynamic debug: Fix build issue with older gcc\n\nOn older gcc (3.3) dynamic debug fails to compile:\n\ninclude/net/inet_connection_sock.h: In function `inet_csk_reset_xmit_timer\u0027:\ninclude/net/inet_connection_sock.h:236: error: duplicate label declaration `do_printk\u0027\ninclude/net/inet_connection_sock.h:219: error: this is a previous declaration\ninclude/net/inet_connection_sock.h:236: error: duplicate label declaration `out\u0027\ninclude/net/inet_connection_sock.h:219: error: this is a previous declaration\ninclude/net/inet_connection_sock.h:236: error: duplicate label `do_printk\u0027\ninclude/net/inet_connection_sock.h:236: error: duplicate label `out\u0027\n\nFix, by reverting the usage of JUMP_LABEL() in dynamic debug for now.\n\nCc: \u003cstable@kernel.org\u003e\nReported-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nTested-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b9da0571050c09863e59f94d0b8594a290d61b88",
      "tree": "3632c4fee768db9a27a5c872bd42133692e2f3d0",
      "parents": [
        "f8cae0f03f75adb54b1d48ddbc90f84a1f5de186",
        "5abd935661e01289ba143c3b2c1ba300c65bcc5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 19:36:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 19:36:42 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (31 commits)\n  driver core: Display error codes when class suspend fails\n  Driver core: Add section count to memory_block struct\n  Driver core: Add mutex for adding/removing memory blocks\n  Driver core: Move find_memory_block routine\n  hpilo: Despecificate driver from iLO generation\n  driver core: Convert link_mem_sections to use find_memory_block_hinted.\n  driver core: Introduce find_memory_block_hinted which utilizes kset_find_obj_hinted.\n  kobject: Introduce kset_find_obj_hinted.\n  driver core: fix build for CONFIG_BLOCK not enabled\n  driver-core: base: change to new flag variable\n  sysfs: only access bin file vm_ops with the active lock\n  sysfs: Fail bin file mmap if vma close is implemented.\n  FW_LOADER: fix kconfig dependency warning on HOTPLUG\n  uio: Statically allocate uio_class and use class .dev_attrs.\n  uio: Support 2^MINOR_BITS minors\n  uio: Cleanup irq handling.\n  uio: Don\u0027t clear driver data\n  uio: Fix lack of locking in init_uio_class\n  SYSFS: Allow boot time switching between deprecated and modern sysfs layout\n  driver core: remove CONFIG_SYSFS_DEPRECATED_V2 but keep it for block devices\n  ...\n"
    },
    {
      "commit": "6a5c083de2f5fbf89a4b0a251be2c2205434d7ea",
      "tree": "72f738d63e35749da1d79f534494cff10e644208",
      "parents": [
        "a648ec05bb950fae2f35d0490ddd6cf15010af72"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Fri Aug 06 16:11:03 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:42 2010 -0700"
      },
      "message": "Dynamic Debug: Initialize dynamic debug earlier via arch_initcall\n\nHaving the ddebug_query\u003d boot parameter it makes sense to set up\ndynamic debug as soon as possible.\n\nI expect sysfs files cannot be set up via an arch_initcall, because\nthis one is even before fs_initcall. Therefore I splitted the\ndynamic_debug_init function into an early one and a later one providing\n/sys/../dynamic_debug/control file.\n\nPossibly dynamic_debug can be initialized even earlier, not sure whether\nthis still makes sense then. I picked up arch_initcall as it covers\nquite a lot already.\n\nDynamic debug needs to allocate memory, therefore it\u0027s not easily possible to\nset it up even before the command line gets parsed.\nTherefore the boot param query string is stored in a temp string which is\napplied when dynamic debug gets set up.\n\nThis has been tested with ddebug_query\u003d\"file ec.c +p\"\nand I could retrieve pr_debug() messages early at boot during ACPI setup:\nACPI: EC: Look up EC in DSDT\nACPI: EC: ---\u003e status \u003d 0x08\nACPI: EC: transaction start\nACPI: EC: \u003c--- command \u003d 0x80\nACPI: EC: ~~~\u003e interrupt\nACPI: EC: ---\u003e status \u003d 0x08\nACPI: EC: \u003c--- data \u003d 0xa4\n...\nACPI: Interpreter enabled\nACPI: (supports S0 S3 S4 S5)\nACPI: Using IOAPIC for interrupt routing\nACPI: EC: ---\u003e status \u003d 0x00\nACPI: EC: transaction start\nACPI: EC: \u003c--- command \u003d 0x80\n\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nAcked-by: jbaron@redhat.com\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCC: linux-acpi@vger.kernel.org\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a648ec05bb950fae2f35d0490ddd6cf15010af72",
      "tree": "cde3ca36db486e51d85c31619bf67f8d60215179",
      "parents": [
        "fd89cfb8718753459fcea3fe6103d19de5e86c9b"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Fri Aug 06 16:11:02 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:42 2010 -0700"
      },
      "message": "Dynamic Debug: Introduce ddebug_query\u003d boot parameter\n\nDynamic debug lacks the ability to enable debug messages at boot time.\nOne could patch initramfs or service startup scripts to write to\n/sys/../dynamic_debug/control, but this sucks.\n\nThis patch makes it possible to pass a query in the same format one can\nwrite to /sys/../dynamic_debug/control via boot param.\nWhen dynamic debug gets initialized, this query will automatically be\napplied.\n\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nAcked-by: jbaron@redhat.com\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fd89cfb8718753459fcea3fe6103d19de5e86c9b",
      "tree": "8e05f06fc4954d55b75ec8c8dfeacce3c198f264",
      "parents": [
        "f6f94e2ab1b33f0082ac22d71f66385a60d8157f"
      ],
      "author": {
        "name": "Thomas Renninger",
        "email": "trenn@suse.de",
        "time": "Fri Aug 06 16:11:01 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:42 2010 -0700"
      },
      "message": "Dynamic Debug: Split out query string parsing/setup from proc_write\n\nThe parsing and applying of dynamic debug strings is not only useful for\n/sys/../dynamic_debug/control write access, but can also be used for\nboot parameter parsing.\nThe boot parameter is introduced in a follow up patch.\n\nSigned-off-by: Thomas Renninger \u003ctrenn@suse.de\u003e\nAcked-by: jbaron@redhat.com\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3b6e901f839f42afb40f614418df82c08b01320a",
      "tree": "04056f3347b926e9623c225acd496e39b9d1b85a",
      "parents": [
        "d580ff8699e8811a9af37e9de4dea375401bdeec"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Oct 14 21:10:38 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Oct 18 19:58:56 2010 +0200"
      },
      "message": "jump_label: Use more consistent naming\n\nNow that there\u0027s still only a few users around, rename things to make\nthem more consistent.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: \u003c20101014203625.448565169@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "52159d98be6f26c48f5e02c7ab3c9848a85979b5",
      "tree": "29ba759acd0a9fd82b796b9e965dab5ed9d30ce6",
      "parents": [
        "8f7b50c514206211cc282a4247f7b12f18dee674"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Fri Sep 17 11:09:17 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Sep 22 16:31:19 2010 -0400"
      },
      "message": "jump label: Convert dynamic debug to use jump labels\n\nConvert the \u0027dynamic debug\u0027 infrastructure to use jump labels.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nLKML-Reference: \u003cb77627358cea3e27d7be4386f45f66219afb8452.1284733808.git.jbaron@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ff49d74ad383f54041378144ca1a229ee9aeaa59",
      "tree": "6f37335e313c9a680db8d4e4ce00d17aa11a099b",
      "parents": [
        "e3668dd83ba5958429984286efbc3055be5344c4"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Sat Jul 03 13:07:35 2010 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 04 20:17:22 2010 -0700"
      },
      "message": "module: initialize module dynamic debug later\n\nWe should initialize the module dynamic debug datastructures\nonly after determining that the module is not loaded yet. This\nfixes a bug that introduced in 2.6.35-rc2, where when a trying\nto load a module twice, we also load it\u0027s dynamic printing data\ntwice which causes all sorts of nasty issues. Also handle\nthe dynamic debug cleanup later on failure.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (removed a #ifdef)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea46c8f774f295c45fac48101d54be347d3d453b",
      "tree": "6a0bc2476e82be68b66cad2b77075e4f36beb1ea",
      "parents": [
        "0fa05599009ed36304d490064888d0252d656add"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon May 24 14:33:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:05 2010 -0700"
      },
      "message": "dynamic_debug: small cleanup in ddebug_proc_write()\n\nThis doesn\u0027t change behavior at all.  In the original code, if nwords was\nzero then ddebug_parse_query() would return -EINVAL, now we just do it\nearlier.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "e7d2860b690d4f3bed6824757c540579638e3d1e",
      "tree": "84268ee28893256fd6a6a7e1d4474f61dbee74e7",
      "parents": [
        "84c95c9acf088c99d8793d78036b67faa5d0b851"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "tree-wide: convert open calls to remove spaces to skip_spaces() lib function\n\nMakes use of skip_spaces() defined in lib/string.c for removing leading\nspaces from strings all over the tree.\n\nIt decreases lib.a code size by 47 bytes and reuses the function tree-wide:\n   text    data     bss     dec     hex filename\n  64688     584     592   65864   10148 (TOTALS-BEFORE)\n  64641     584     592   65817   10119 (TOTALS-AFTER)\n\nAlso, while at it, if we see (*str \u0026\u0026 isspace(*str)), we can be sure to\nremove the first condition (*str) as the second one (isspace(*str)) also\nevaluates to 0 whenever *str \u003d\u003d 0, making it redundant. In other words,\n\"a char equals zero is never a space\".\n\nJulia Lawall tried the semantic patch (http://coccinelle.lip6.fr) below,\nand found occurrences of this pattern on 3 more files:\n    drivers/leds/led-class.c\n    drivers/leds/ledtrig-timer.c\n    drivers/video/output.c\n\n@@\nexpression str;\n@@\n\n( // ignore skip_spaces cases\nwhile (*str \u0026\u0026  isspace(*str)) { \\(str++;\\|++str;\\) }\n|\n- *str \u0026\u0026\nisspace(*str)\n)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4df7b3e0370ab6161ea2f258f51dd7c43bef2bda",
      "tree": "e6726f1ec3edb3f66071faa0591f32e864de8f52",
      "parents": [
        "3b4418c67a70278964b063b5e1f56dcb3d0a41f3"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Jul 15 20:29:07 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jul 28 13:45:22 2009 -0700"
      },
      "message": "Dynamic debug: fix typo: -/-\u003e\n\nThe member was intended, not the local variable.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9898abb3d23311fa227a7f46bf4e40fd2954057f",
      "tree": "f32e6f1b0422e491bf3db276f6f62467e4a21928",
      "parents": [
        "86151fdf38b3795f292b39defbff39d2684b9c8c"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Fri Feb 06 12:54:26 2009 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:27 2009 -0700"
      },
      "message": "Dynamic debug: allow simple quoting of words\n\nAllow simple quoting of words in the dynamic debug control language.\n\nThis allows more natural specification when using the control language\nto match against printk formats, e.g\n\n#echo -n \u0027format \"Setting node for non-present cpu\" +p\u0027 \u003e\n\t/mnt/debugfs/dynamic_debug/control\n\ninstead of\n\n#echo -n \u0027format Setting\\040node\\040for\\040non-present\\040cpu +p\u0027 \u003e\n\t/mnt/debugfs/dynamic_debug/control\n\nAdjust the dynamic debug documention to describe that and provide a\nnew example.  Adjust the existing examples in the documentation to\nreflect the current whitespace escaping behaviour when reading the\ncontrol file.  Fix some minor documentation trailing whitespace.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e9d376f0fa66bd630fe27403669c6ae6c22a868f",
      "tree": "6eadef32eb421647ae98d88341b9aceb259aaf22",
      "parents": [
        "095160aee954688a9bad225952c4bee546541e19"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Thu Feb 05 11:51:38 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "dynamic debug: combine dprintk and dynamic printk\n\nThis patch combines Greg Bank\u0027s dprintk() work with the existing dynamic\nprintk patchset, we are now calling it \u0027dynamic debug\u0027.\n\nThe new feature of this patchset is a richer /debugfs control file interface,\n(an example output from my system is at the bottom), which allows fined grained\ncontrol over the the debug output. The output can be controlled by function,\nfile, module, format string, and line number.\n\nfor example, enabled all debug messages in module \u0027nf_conntrack\u0027:\n\necho -n \u0027module nf_conntrack +p\u0027 \u003e /mnt/debugfs/dynamic_debug/control\n\nto disable them:\n\necho -n \u0027module nf_conntrack -p\u0027 \u003e /mnt/debugfs/dynamic_debug/control\n\nA further explanation can be found in the documentation patch.\n\nSigned-off-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ]
}
