)]}'
{
  "log": [
    {
      "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": "099c2f21d8cf0724b85abb2c589d6276953781b7",
      "tree": "7f84a98f4b3658871408794a59d04995d5ced254",
      "parents": [
        "66ecb92be9eb579df93add22d19843e7869f168e"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Fri Dec 18 15:34:21 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:43 2009 -0800"
      },
      "message": "Driver core: driver_attribute parameters can often be const*\n\nMany struct driver_attribute descriptors are purely read-only\nstructures, and there\u0027s no need to change them. Therefore make\nthe promise not to, which will let those descriptors be put in\na ro section.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "39acbc12affcaa23ef1d887ba3d197baca8e6e47",
      "tree": "51249000a01a41a4036c8be1313186b0c4116206",
      "parents": [
        "2e2ec952350f25242f2e0539db16b1e46f9eb01b"
      ],
      "author": {
        "name": "Stas Sergeev",
        "email": "stsp@aknet.ru",
        "time": "Sun Oct 18 00:31:38 2009 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 30 14:59:51 2009 -0700"
      },
      "message": "Driver core: fix driver_register() return value\n\nIn this patch:\nhttp://git.kernel.org/?p\u003dlinux/kernel/git/torvalds/linux-2.6.git;a\u003dcommitdiff;h\u003d16dc42e018c2868211b4928f20a957c0c216126c\nthe check was added for another driver to already claim the same device\non the same bus. But the returned error code was wrong: to modprobe, the\n-EEXIST means that _this_ driver is already installed. It therefore\ndoesn\u0027t produce the needed error message when _another_ driver is trying\nto register for the same device.  Returning -EBUSY fixes the problem.\n\nSigned-off-by: Stas Sergeev \u003cstsp@aknet.ru\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a4dbd6740df0872cdf0a86841f75beec8381964d",
      "tree": "1093687845d89f8397d61e7df1ad8546a5a25225",
      "parents": [
        "5b2ea2f10dbb2fa91d8033993000f8664309395f"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Jun 24 10:06:31 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 15 09:50:47 2009 -0700"
      },
      "message": "driver model: constify attribute groups\n\nLet attribute group vectors be declared \"const\".  We\u0027d\nlike to let most attribute metadata live in read-only\nsections... this is a start.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5c8563d773c0e9f0ac2a552e84806decd98ce732",
      "tree": "b771f23cd143c4efb4f140f8ef98204cf9c6ef93",
      "parents": [
        "086a377edc969aea6c761176a7e4ff68f264d6fe"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu May 28 14:24:07 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 28 14:24:07 2009 -0700"
      },
      "message": "Driver Core: do not oops when driver_unregister() is called for unregistered drivers\n\nWe also fix a problem with cleaning up properly when initializing\ndrivers and devices, so checks like this will work successfully.\n\nPortions of the patch by Linus and Greg and Ingo.\n\nReported-by: Ozan Çağlayan \u003cozan@pardus.org.tr\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8940b4f312dced51b45004819b776ec3aa7fcd5d",
      "tree": "f994df6952a12ad5a3b46762e8a53eaa99f215b6",
      "parents": [
        "f791b8c836307b58cbf62133a6a772ed1a92fb33"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 16 12:25:49 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "driver core: move knode_driver into private structure\n\nNothing outside of the driver core should ever touch knode_driver, so\nmove it out of the public eye.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f48f3febb2cbfd0f2ecee7690835ba745c1034a4",
      "tree": "1cb3803049cde40ff3dc528a2120f915e65f0367",
      "parents": [
        "e5779a583ddb9916b37cfbb916dc53ec2eaf0b9b"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Sat Feb 14 21:23:22 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "driver-core: do not register a driver with bus_type not registered\n\nIf the bus_type is not registerd, driver_register to that bus will cause oops.\n\nI found this bug when test built-in usb serial drivers (ie. aircable driver)\nwith \u0027nousb\u0027 cmdline params.\n\nIn this patch:\n1. set the bus-\u003ep\u003dNULL when bus_register failed and unregisterd.\n2. if bus-\u003ep is NULL, driver_register BUG_ON will be triggered.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cda5e83fdea476dce9c0a9b1152cd6ca46832cc4",
      "tree": "38095e8b88c8c163cb8b61e8f071d444752fad6b",
      "parents": [
        "4db8e282f2d1dfa43d51ce2a4817901312c9134d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 09 14:44:18 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 09 14:44:18 2009 -0800"
      },
      "message": "Revert \"driver core: move knode_driver into private structure\"\n\nThis reverts commit 93e746db183b3bdbbda67900f79b5835f9cb388f.\n\nTurns out that device_initialize shouldn\u0027t fail silently.\nThis series needs to be reworked in order to get into proper\nshape.\n\nReported-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "93e746db183b3bdbbda67900f79b5835f9cb388f",
      "tree": "658cb2c8cac313b7e2cc94f914dac52996432c93",
      "parents": [
        "11c3b5c3e08f4d855cbef52883c266b9ab9df879"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 16 12:25:49 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:32 2009 -0800"
      },
      "message": "driver core: move knode_driver into private structure\n\nNothing outside of the driver core should ever touch knode_driver, so\nmove it out of the public eye.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "26d02d1db7d84729b1e49789341e69a493c60ceb",
      "tree": "12a860098bac045c7e6e2cd857191c01a304731e",
      "parents": [
        "ac60fc218caacba5ae3bc70cc835cb9f16794d89"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Jul 30 12:29:20 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 21 10:15:35 2008 -0700"
      },
      "message": "drivers/base/driver.c: remove unused to_dev() macro\n\nSigned-off-by: Joe Perches \u003cjoe@perches.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": "16dc42e018c2868211b4928f20a957c0c216126c",
      "tree": "2551571326e4927e70485159fafdc8ee7a3eb2ca",
      "parents": [
        "93dd40013f4f7f4b18d19d0d77855f025bcc57c3"
      ],
      "author": {
        "name": "Stas Sergeev",
        "email": "stsp@aknet.ru",
        "time": "Sat Apr 26 19:52:35 2008 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 30 16:52:47 2008 -0700"
      },
      "message": "driver core: warn about duplicate driver names on the same bus\n\nCurrently an attempt to register multiple\ndrivers with the same name causes the\nstack trace with some cryptic error message.\nThe attached patch adds the necessary check\nand the clear error message.\n\nSigned-off-by: Stas Sergeev \u003cstsp@aknet.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d478376cb0dc9ab16a2b6e02fd8cd1174e724c64",
      "tree": "fda590df6ece65517db78c3434898640f56c60ee",
      "parents": [
        "4cdc1d1fa5c5ac14dc21be19832f02fd0b83867e"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Fri Mar 28 14:16:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 28 14:45:23 2008 -0700"
      },
      "message": "driver core: fix small mem leak in driver_add_kobj()\n\nThe Coverity checker spotted that we leak the storage allocated to \u0027name\u0027 in\nint driver_add_kobj().  The leak looks legit to me - this is the code :\n\nint driver_add_kobj(struct device_driver *drv, struct kobject *kobj,\n                    const char *fmt, ...)\n{\n        va_list args;\n        char *name;\n        int ret;\n\n        va_start(args, fmt);\n        name \u003d kvasprintf(GFP_KERNEL, fmt, args);\n        ^^^^^^^^ This dynamically allocates space...\n\n        va_end(args);\n\n        if (!name)\n                return -ENOMEM;\n\n        return kobject_add(kobj, \u0026drv-\u003ep-\u003ekobj, \"%s\", name);\n\t^^^^^^^^ This neglects to free the space allocated\n}\n\nInside kobject_add() a copy of \u0027name\u0027 will be made and used.  As far as I can\nsee, Coverity is correct in flagging this as a leak, but I\u0027d like some\nconfigmation before the patch is applied.\n\nThis should fix it.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7199677d2e919edc75d1fb8856c98cd0c1bbcfc5",
      "tree": "b2a71619e54164cfad1e1fda266afa13ea5a0af3",
      "parents": [
        "7ab47050453c10da13940114dea9c7f1c6ad323f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Feb 18 13:09:03 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 21 15:27:07 2008 -0800"
      },
      "message": "driver-core: fix kernel-doc function parameters\n\nFix drivers/base/ missing kernel-doc parameters:\nWarning(linux-2.6.24-git12//drivers/base/driver.c:133): No description found for parameter \u0027drv\u0027\nWarning(linux-2.6.24-git12//drivers/base/driver.c:133): No description found for parameter \u0027kobj\u0027\nWarning(linux-2.6.24-git12//drivers/base/driver.c:133): No description found for parameter \u0027fmt\u0027\nWarning(linux-2.6.24-git12//drivers/base/power/main.c:530): No description found for parameter \u0027state\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0c98b19fe571ede1f14bd95b855bcbe2cca99bcf",
      "tree": "388875be014f29a9f68c89144925d68542c42a4a",
      "parents": [
        "44414e14af3f18fc8c1b94e259cd760366f665ee"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Thu Jan 31 10:39:38 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Feb 02 15:14:49 2008 -0800"
      },
      "message": "Driver core: Remove unneeded get_{device,driver}() calls.\n\nDriver core: Remove unneeded get_{device,driver}() calls.\n\nCode trying to add/remove attributes must hold a reference to\nthe device resp. driver anyway, so let\u0027s remove those reference\ncount games.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4a3ad20ccd8f4d2a0535cf98fa83f7b561ba59a9",
      "tree": "8d0d147716466801b859a777472246ee5563f64b",
      "parents": [
        "e374a2bfebf359f846216336de91670be40499da"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 22:50:12 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 22:50:12 2008 -0800"
      },
      "message": "Driver core: coding style fixes\n\nFix up a number of coding style issues in the drivers/base/ directory\nthat have annoyed me over the years.  checkpatch.pl is now very happy.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "b2d6db5878a0832659ed58476357eea2db915550",
      "tree": "c7c9e98431078ca7b0405e8003bd905ab62df7c4",
      "parents": [
        "9e7bbccd0290e720e0874443932869c55f63d5a8"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: rename kobject_add_ng() to kobject_add()\n\nNow that the old kobject_add() function is gone, rename kobject_add_ng()\nto kobject_add() to clean up the namespace.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e5dd12784617f0f1fae5f96a7fac1ec4c49fadbe",
      "tree": "c81e2a2f3aa1c60b92951d398774f1391bdc6a1c",
      "parents": [
        "c63469a3985a9771c18a916b8d42845d044ea0b1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Nov 28 15:59:15 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:35 2008 -0800"
      },
      "message": "Driver core: move the static kobject out of struct driver\n\nThis patch removes the kobject, and a few other driver-core-only fields\nout of struct driver and into the driver core only.  Now drivers can be\nsafely create on the stack or statically (like they currently are.)\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cbe9c595f1de2e2a98403be2c14bfbc2486e84c4",
      "tree": "c3e3a30bb18e1597dda4bc28c11c3add049e1e02",
      "parents": [
        "23b9c1ab5baf368a32b7242bf110ef1f48700d04"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 19 15:54:39 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:34 2008 -0800"
      },
      "message": "Driver: add driver_add_kobj for looney iseries_veth driver\n\nThe iseries driver wants to hang kobjects off of its driver, so, to\npreserve backwards compatibility, we need to add a call to the driver\ncore to allow future changes to work properly.\n\nHopefully no one uses this function in the future and the iseries_veth\ndriver authors come to their senses so I can remove this hack...\n\nCc: Dave Larson \u003clarson1@us.ibm.com\u003e\nCc: Santiago Leon \u003csantil@us.ibm.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "57c745340a60c51d2b9af3d4dcf7e0ede284855b",
      "tree": "92640edef147d32663807207c0c0604e228949e7",
      "parents": [
        "2b937303188807b498d1a3163f60305f0941538e"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Wed Dec 05 12:50:23 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:34 2008 -0800"
      },
      "message": "driver core: Introduce default attribute groups.\n\nThis is lot like default attributes for devices (and indeed,\na lot of the code is lifted from there).\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c6f7e72a3f4641095ade9ded287d910c980c6148",
      "tree": "d2d7d946b978ce9f5586a02c3520aa76e928a551",
      "parents": [
        "b249072ee6897fe4f8d461c7bb4b926223263c28"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 19:41:16 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:33 2008 -0800"
      },
      "message": "driver core: remove fields from struct bus_type\n\nstruct bus_type is static everywhere in the kernel.  This moves the\nkobject in the structure out of it, and a bunch of other private only to\nthe driver core fields are now moved to a private structure.  This lets\nus dynamically create the backing kobject properly and gives us the\nchance to be able to document to users exactly how to use the struct\nbus_type as there are no fields they can improperly access.\n\nThanks to Kay for the build fixes on this patch.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6dcec2511ff55b4abaca7ad3433011a7c04c2430",
      "tree": "aeb9c18a877987478a1594d42b8f041ebb388875",
      "parents": [
        "3d8995963dfec66ef6270e729bf75903e9043f9d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 13:31:26 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:16 2008 -0800"
      },
      "message": "kset: convert struct bus_device-\u003edrivers to use kset_create\n\nDynamically create the kset instead of declaring it statically.\n\nHaving 3 static kobjects in one structure is not only foolish, but ripe\nfor nasty race conditions if handled improperly.  We also rename the\nfield to catch any potential users of it (not that there should be\noutside of the driver core...)\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "74e9f5fa1570f956c96dd5d3f1053daedbbf01a0",
      "tree": "095bfed9efced3538507d16eb93010d91c074f5f",
      "parents": [
        "c6a46696f97ff260a4ecce5e287f8de4b9d7fe14"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 09 12:14:34 2002 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:29 2007 -0700"
      },
      "message": "Driver core: remove unneeded completion from driver release path\n\nThe completion in the driver release path is due to ancient history in\nthe _very_ early 2.5 days when we were not tracking the module reference\ncount of attributes.  It is not needed at all and can be removed.\n\nNote, we now have an empty release function for the driver structure.\nThis is due to the fact that drivers are statically allocated in the\nsystem at this point in time, something which I want to change in the\nfuture.  But remember, drivers are really code, which is reference\ncounted by the module, unlike devices, which are data and _must_ be\nreference counted properly in order to work correctly.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "f5ef2abcbeb5b0be23f7cc610a024b2406e3d8e6",
      "tree": "f0ded5f4a61f4db25794d097725e1d37d872c80c",
      "parents": [
        "755948cfca16c71b16e8ff4a9d4dd31b1c0bf923"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Apr 01 10:54:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Apr 01 10:54:13 2007 -0700"
      },
      "message": "driver core: do not wait unnecessarily in driver_unregister()\n\nIngo reported that built-in drivers suffered bootup hangs with certain\ndriver unregistry sequences, due to sysfs breakage.\n\nDo the minimal fix for v2.6.21: only wait if the driver is a module.\n\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81107bf531d2524afbcd61f3b4ad57a71295d591",
      "tree": "8c4f985714432bee996720c2d8e4bcfbe3d70575",
      "parents": [
        "f2eaae197f4590c4d96f31b09b0ee9067421a95c"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Sep 18 16:24:28 2006 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:40 2006 -0700"
      },
      "message": "Driver core: Remove unneeded routines from driver core\n\nThis patch (as783) simplifies the driver core slightly by removing four\nunnecessary _get and _put methods.\n\nIt is vital that when a driver is removed from its bus\u0027s klist of\nregistered drivers, or when a device is removed from a driver\u0027s klist\nof bound devices, that the klist updates complete synchronously.\nOtherwise the kernel might try binding an unregistered driver to a\nnewly-registered device, or adding a device to the klist for a new\ndriver before it has been removed from the old driver\u0027s klist.\n\nSince the removals must be synchronous, they don\u0027t need to update any\nreference counts.  Hence the _get and _put methods can be dispensed\nwith.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "594c8281f90560faf9632d91bb9d402cbe560e63",
      "tree": "abeb32df086cfd204accad33b11040381c31689d",
      "parents": [
        "bd37e5a951ad2123d3f51f59c407b5242946b6ba"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@arm.linux.org.uk",
        "time": "Thu Jan 05 14:29:51 2006 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 13 11:26:04 2006 -0800"
      },
      "message": "[PATCH] Add bus_type probe, remove, shutdown methods.\n\nAdd bus_type probe, remove and shutdown methods to replace the\ncorresponding methods in struct device_driver.  This matches\nthe way we handle the suspend/resume methods.\n\nSince the bus methods override the device_driver methods, warn\nif a device driver is registered whose methods will not be\ncalled.\n\nThe long-term idea is to remove the device_driver methods entirely.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c41455fbac06712992da491844449775cf9a8c80",
      "tree": "cb315b4afd3af2882e955dbfbf7f3828a8b2e610",
      "parents": [
        "9480e307cd88ef09ec9294c7d97ebec18e6d2221"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sun Oct 23 11:59:14 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 09:52:56 2005 -0700"
      },
      "message": "[PATCH] kernel-doc: drivers/base fixes\n\ndriver/base: add missing function parameters; eliminate all warnings.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "34bb61f9ddabd7a7f909cbfb05592eb775f6662a",
      "tree": "06232f6fc975bd279236fd8005c7d5528220ec68",
      "parents": [
        "df4edad1787bbfa3c9c10824e4f11e9f4a7ec5c6"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Sep 06 16:56:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 18:26:54 2005 -0700"
      },
      "message": "[PATCH] fix klist semantics for lists which have elements removed on traversal\n\nThe problem is that klists claim to provide semantics for safe traversal of\nlists which are being modified.  The failure case is when traversal of a\nlist causes element removal (a fairly common case).  The issue is that\nalthough the list node is refcounted, if it is embedded in an object (which\nis universally the case), then the object will be freed regardless of the\nklist refcount leading to slab corruption because the klist iterator refers\nto the prior element to get the next.\n\nThe solution is to make the klist take and release references to the\nembedding object meaning that the embedding object won\u0027t be released until\nthe list relinquishes the reference to it.\n\n(akpm: fast-track this because it\u0027s needed for the 2.6.13 scsi merge)\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0edb586049e57c56e625536476931117a57671e9",
      "tree": "9d92bb9821d134d199d62de1ff3096ff2b73fdc7",
      "parents": [
        "fd782a4a99d2d3e818b9465c427b10f7f027d7da"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cohuck@de.ibm.com",
        "time": "Wed Jun 22 16:59:51 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 29 22:48:03 2005 -0700"
      },
      "message": "[PATCH] driver core: add bus_find_device \u0026 driver_find_device functions\n\nAdd bus_find_device() and driver_find_device() which allow searching for a\ndevice in the bus\u0027s resp. the driver\u0027s klist and obtain a reference on it.\n\nSigned-off-by: Cornelia Huck \u003ccohuck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "126eddfbf8cae8a20c22708192bffcbd77c8a889",
      "tree": "204287a611f015bb68f96d3be1135d2e93826b35",
      "parents": [
        "4d12d2d953ca5e299de6a653f1d0478f670d7bc6"
      ],
      "author": {
        "name": "gregkh@suse.de",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 22 12:17:13 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:24 2005 -0700"
      },
      "message": "[PATCH] driver core: change export symbol for driver_for_each_device()\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nIndex: linux-2.6.12-rc2/drivers/base/driver.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "4d12d2d953ca5e299de6a653f1d0478f670d7bc6",
      "tree": "ba89978abb57da6a24cc141b869a14b6d6c76884",
      "parents": [
        "36239577cfb6b9a7c111209536b54200b0252ebf"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 20:08:04 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:23 2005 -0700"
      },
      "message": "[PATCH] Fix up bogus comment.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\ndiff -Nru a/drivers/base/driver.c b/drivers/base/driver.c\n"
    },
    {
      "commit": "94e7b1c5ff2055571703e38b059afffe17658432",
      "tree": "469dbd920087ec62acd88b4985437a78c6786c0e",
      "parents": [
        "38fdac3cdce276554b4484a41f8ec2daf81cb2ff"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 12:25:36 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:16 2005 -0700"
      },
      "message": "[PATCH] Add a klist to struct device_driver for the devices bound to it.\n\n- Use it in driver_for_each_device() instead of the regular list_head and stop using\n  the bus\u0027s rwsem for protection.\n- Use driver_for_each_device() in driver_detach() so we don\u0027t deadlock on the\n  bus\u0027s rwsem.\n- Remove -\u003edevices.\n- Move klist access and sysfs link access out from under device\u0027s semaphore, since\n  they\u0027re synchronized through other means.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fae3cd00255e3e51ffd59fedb1bdb91ec96be395",
      "tree": "59e56a65f4b01f496436bd9b0720737ce1937db4",
      "parents": [
        "07e4a3e27fe414980ddc85a358e5a56abc48b363"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 10:59:56 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:13 2005 -0700"
      },
      "message": "[PATCH] Add driver_for_each_device().\n\nNow there\u0027s an iterator for accessing each device bound to a driver.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nIndex: linux-2.6.12-rc2/drivers/base/driver.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
