)]}'
{
  "log": [
    {
      "commit": "5a3ceb861663040f9ef0176df4aaa494bba5e352",
      "tree": "035472164252c3b54071f044c161b312b6bc8b44",
      "parents": [
        "a1ed5b0cffe4b16a93a6a3390e8cee0fbef94f86"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:50:19 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:04 2008 +0200"
      },
      "message": "driver-core: use klist for class device list and implement iterator\n\nIterating over entries using callback usually isn\u0027t too fun especially\nwhen the entry being iterated over can\u0027t be manipulated freely.  This\npatch converts class-\u003ep-\u003eclass_devices to klist and implements class\ndevice iterator so that the users can freely build their own control\nstructure.  The users are also free to call back into class code\nwithout worrying about locking.\n\nclass_for_each_device() and class_find_device() are converted to use\nthe new iterators, so their users don\u0027t have to worry about locking\nanymore either.\n\nNote: This depends on klist-dont-iterate-over-deleted-entries patch\nbecause class_intf-\u003eadd/remove_dev() depends on proper synchronization\nwith device removal.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f75b1c60fc1e53c4004a79ea0be071aa3318cdcc",
      "tree": "75728a6393f2e7568cd17ffd749fd3c4a4e1d95f",
      "parents": [
        "d2a3b9146e4f40c2e872d7567c996ef95083d802"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Wed May 28 09:28:39 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:52 2008 -0700"
      },
      "message": "class: change internal semaphore to a mutex\n\nNow that the lockdep infrastructure in the class core is in place, we\nshould be able to properly change the internal class semaphore to be a\nmutex.\n\nDavid wrote the original patch, and Greg fixed it up to apply properly\ndue to all of the recent changes in this area.\n\nFrom: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1e41250863cd4de5ffa0678c405d001ca5b62796",
      "tree": "028f4929e755ede7daa185e1bb9b776440aa310f",
      "parents": [
        "d9a0157328507c5f563e16a583cd0a063854aebb"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 28 09:28:39 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:52 2008 -0700"
      },
      "message": "class: fix docbook comments for class_private structure\n\nRemoves a field that has been deleted, and adds a description fo the\nclass_dirs field which was previously undocumented.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d9a0157328507c5f563e16a583cd0a063854aebb",
      "tree": "c309114c3408674cb3e719d2c626380c657a3d12",
      "parents": [
        "1fbfee6c6dc0f4a4c587b6b163ee79643fc9aaa7"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 28 09:28:39 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:52 2008 -0700"
      },
      "message": "class: rename \"sem\" to \"class_sem\" in internal class structure\n\nThis renames the struct class \"sem\" field to be \"class_sem\" to make\nthings easier when struct bus_type and struct class merge in the future.\nIt also makes grepping for fields easier as well.\n\nBased on an idea from Kay.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1fbfee6c6dc0f4a4c587b6b163ee79643fc9aaa7",
      "tree": "897a68a94e12a9ba92b090f9da5a27086d29b8da",
      "parents": [
        "184f1f779d5a2e62de4a0b34842ddf8546beca8f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 28 09:28:39 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:52 2008 -0700"
      },
      "message": "class: rename \"subsys\" to \"class_subsys\" in internal class structure\n\nThis renames the struct class \"subsys\" field to be \"class_subsys\" to\nmake things easier when struct bus_type and struct class merge in the\nfuture.  It also makes grepping for fields easier as well.\n\nBased on an idea from Kay.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "184f1f779d5a2e62de4a0b34842ddf8546beca8f",
      "tree": "49528aa1de99e2176daddd293ef0c92a37e4d859",
      "parents": [
        "97ae69fdbaa71a8f7dbc20bf10fb349d1759152f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 28 09:28:39 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:51 2008 -0700"
      },
      "message": "class: rename \"interfaces\" to \"class_interfaces\" in internal class structure\n\nThis renames the struct class \"interfaces\" field to be\n\"class_interfaces\" to make things easier when struct bus_type and struct\nclass merge in the future.  It also makes grepping for fields easier as\nwell.\n\nBased on an idea from Kay.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "97ae69fdbaa71a8f7dbc20bf10fb349d1759152f",
      "tree": "9d8c3842cf7e1d43d67c265e5e69a964df541cd1",
      "parents": [
        "7c71448b8aa80123fc521563d5f7c63a099d97ab"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 28 09:28:39 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:51 2008 -0700"
      },
      "message": "class: rename \"devices\" to \"class_devices\" in internal class structure\n\nThis renames the struct class \"devices\" field to be \"class_devices\" to\nmake things easier when struct bus_type and struct class merge in the\nfuture.  It also makes grepping for fields easier as well.\n\nBased on an idea from Kay.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7c71448b8aa80123fc521563d5f7c63a099d97ab",
      "tree": "2605e4ce90c6ee0201eae83dc9b612321564feb7",
      "parents": [
        "16be63fd1670000b96b76cb55b6f1bead21b4c4b"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 22 18:17:41 2008 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:51 2008 -0700"
      },
      "message": "class: move driver core specific parts to a private structure\n\nThis moves the portions of struct class that are dynamic (kobject and\nlock and lists) out of the main structure and into a dynamic, private,\nstructure.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c3b19ff06e0808555403491d61e8f0cbbb53e933",
      "tree": "04fbb1a3a6944aa32d306f72cc8ca16d2446ba9a",
      "parents": [
        "4356d73d028ad0726cfaf31ad30c5d28fcd98795"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Mar 12 20:47:35 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 30 16:52:49 2008 -0700"
      },
      "message": "driver core: remove no longer used \"struct class_device\"\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\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": "92b421416f8194aec87b1439487b5544e9ac8187",
      "tree": "d0f29e8252bb50fd30e59936b023956af516ce4a",
      "parents": [
        "9148fe8767dc8612b2e66d11126744d6436cc94e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Dec 31 10:05:43 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:42 2008 -0800"
      },
      "message": "driver core: fix build with SYSFS\u003dn\n\nWhen SYSFS\u003dn and MODULES\u003dy, build ends with:\n\nlinux-2.6.24-rc6-mm1/drivers/base/module.c: In function \u0027module_add_driver\u0027:\nlinux-2.6.24-rc6-mm1/drivers/base/module.c:49: error: \u0027module_kset\u0027 undeclared (first use in this function)\nmake[3]: *** [drivers/base/module.o] Error 1\n\nBelow is one possible fix.\nBuild-tested with all 4 config combinations of SYSFS \u0026 MODULES.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "db1118a460c7bfd20278955cbf56c0b283a9701f",
      "tree": "80b3f5f86b73bd30b32d3df711dd2345bbadcdfa",
      "parents": [
        "44bfe16e1083d66f97a5289e359c52ee2c8b19a7"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Thu Dec 06 02:24:40 2007 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:41 2008 -0800"
      },
      "message": "Driver core: use LIST_HEAD instead of call to INIT_LIST_HEAD in __init\n\nLIST_HEAD has been widely used, so switch to this simpler method.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\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": "c63469a3985a9771c18a916b8d42845d044ea0b1",
      "tree": "7d54c8741aec9d71864203ce430d289d40c4c975",
      "parents": [
        "cbe9c595f1de2e2a98403be2c14bfbc2486e84c4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Nov 28 12:23:18 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 driver specific module code into the driver core\n\nThe module driver specific code should belong in the driver core, not in\nthe kernel/ directory.  So move this code.  This is done in preparation\nfor some struct device_driver rework that should be confined to the\ndriver core code only.\n\nThis also lets us keep from exporting these functions, as no external\ncode should ever be calling it.\n\nThanks to Andrew Morton for the !CONFIG_MODULES fix.\n\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": "881c6cfd7c5edfe6129006e2404654bfe5911050",
      "tree": "cb8fa388d2b7c833d77e6ac4957310844a4e96af",
      "parents": [
        "b0d78e5549b44b3d64bf8b3ffe95280025ed102e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 09:29:06 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:15 2008 -0800"
      },
      "message": "kset: convert /sys/devices to use kset_create\n\nDynamically create the kset instead of declaring it statically.  We also\nrename devices_subsys to devices_kset to catch all users of the\nvariable.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5901d0145c6b9e791bacd049eea11c9db9a3006e",
      "tree": "1f474118fa9a644efc36c7e9adef7799ae8e1edd",
      "parents": [
        "fc1ede5888ab8a9b3e7f8567b945beed35222885"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Sep 13 02:53:13 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:02 2007 -0700"
      },
      "message": "Driver core: remove get_bus()\n\nget_bus() should not be globally visable as it is not used by anything\nother than drivers/base/bus.c.  This patch removes the visability of it,\nand renames it to match all of the other *_get() functions in the\nkernel.\n\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fc1ede5888ab8a9b3e7f8567b945beed35222885",
      "tree": "eddc7763a7e90d7644e655ec94e82f6c25af5e05",
      "parents": [
        "1ef4cfac01fb5e98900f5bdb2a722aac1daff11b"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Sep 13 02:53:13 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:02 2007 -0700"
      },
      "message": "Driver core: remove put_bus()\n\nput_bus() should not be globally visable as it is not used by anything\nother than drivers/base/bus.c.  This patch removes the visability of it,\nand renames it to match all of the other *_put() functions in the\nkernel.\n\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2a0134554e12f530c6eccb1dab3f0f8954f855c9",
      "tree": "96c94e51d3d26d8f8c9fbaf52d6fe1103cc1323d",
      "parents": [
        "ab71c6f0767bcbc618f3db51f668d5b951c00b60"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jun 18 01:42:54 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:02 2007 -0700"
      },
      "message": "Driver core: fix devres_release_all() return value\n\nEvery file should include the headers containing the prototypes for\nit\u0027s global functions.\n\nSince the GNU C compiler is now able to detect that the function \nprototype of devres_release_all() in the header and the actual function \ndisagree regarding the return value, this patch also fixes this bug.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "823bccfc4002296ba88c3ad0f049e1abd8108d30",
      "tree": "5338ae0b32409446af4cd00c5107d9405d5bf0b6",
      "parents": [
        "2609e7b9bebfd433254c02538ba803dc516ff674"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 13 13:15:19 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 18:57:59 2007 -0700"
      },
      "message": "remove \"struct subsystem\" as it is no longer needed\n\nWe need to work on cleaning up the relationship between kobjects, ksets and\nktypes.  The removal of \u0027struct subsystem\u0027 is the first step of this,\nespecially as it is not really needed at all.\n\nThanks to Kay for fixing the bugs in this patch.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c6a46696f97ff260a4ecce5e287f8de4b9d7fe14",
      "tree": "335de50c9868cd575f535677e430677d33cbaaa1",
      "parents": [
        "eed40d3ad2ba652c08422d62a5ff6f62ac0be16d"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Feb 05 16:15:26 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:29 2007 -0700"
      },
      "message": "driver core: don\u0027t fail attaching the device if it cannot be bound\n\nDon\u0027t fail bus_attach_device() if the device cannot be bound.\n\nIf dev-\u003edriver has been specified, reset it to NULL if device_bind_driver()\nfailed and add the device as an unbound device.  As a result,\nbus_attach_device() now cannot fail, and we can remove some checking from\ndevice_add().\n\nAlso remove an unneeded check in bus_rescan_devices_helper().\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.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": "9ac7849e35f705830f7b016ff272b0ff1f7ff759",
      "tree": "7f17cdff87e154937a15cc2ec8da9b4e6018ce8e",
      "parents": [
        "77a527eadb425b60db3f5f0aae6a4c51c38e35e5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Jan 20 16:00:26 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 09 17:39:36 2007 -0500"
      },
      "message": "devres: device resource management\n\nImplement device resource management, in short, devres.  A device\ndriver can allocate arbirary size of devres data which is associated\nwith a release function.  On driver detach, release function is\ninvoked on the devres data, then, devres data is freed.\n\ndevreses are typed by associated release functions.  Some devreses are\nbetter represented by single instance of the type while others need\nmultiple instances sharing the same release function.  Both usages are\nsupported.\n\ndevreses can be grouped using devres group such that a device driver\ncan easily release acquired resources halfway through initialization\nor selectively release resources (e.g. resources for port 1 out of 4\nports).\n\nThis patch adds devres core including documentation and the following\nmanaged interfaces.\n\n* alloc/free\t: devm_kzalloc(), devm_kzfree()\n* IO region\t: devm_request_region(), devm_release_region()\n* IRQ\t\t: devm_request_irq(), devm_free_irq()\n* DMA\t\t: dmam_alloc_coherent(), dmam_free_coherent(),\n\t\t  dmam_declare_coherent_memory(), dmam_pool_create(),\n\t\t  dmam_pool_destroy()\n* PCI\t\t: pcim_enable_device(), pcim_pin_device(), pci_is_managed()\n* iomap\t\t: devm_ioport_map(), devm_ioport_unmap(), devm_ioremap(),\n\t\t  devm_ioremap_nocache(), devm_iounmap(), pcim_iomap_table(),\n\t\t  pcim_iomap(), pcim_iounmap()\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "f86db396ff455ed586751d21816a1ebd431264e5",
      "tree": "dfbeb27206b673ed46482b18ee6d779786be7ed1",
      "parents": [
        "370226449ced358e52d198081120826ef52c166b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Mon Aug 14 22:43:20 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:39 2006 -0700"
      },
      "message": "drivers/base: check errors\n\nAdd lots of return-value checking.\n\n\u003cpcornelia.huck@de.ibm.com\u003e: fix bus_rescan_devices()]\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "aa49b9136e3d44cc264811d77eef4ded88456717",
      "tree": "9f84c71790724ba53384a651ca523b35382c054c",
      "parents": [
        "cad1e55d4d19a49c2b82b74562a6e4e555b05f38"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 20 13:59:20 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:40:49 2006 -0700"
      },
      "message": "[PATCH] Driver core: change make_class_name() to take kobjects\n\nThis is needed for a future patch for the device code to create the\nproper symlinks for devices that are \"class devices\".\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4039483fd3065920f035eed39ec59085421c0a4f",
      "tree": "fc89410a8cd031c3f71a7319987fa6fc9b09336c",
      "parents": [
        "e391553222211e07dfbe2f01c413b4e6d0ae32aa"
      ],
      "author": {
        "name": "Michael Holzheu",
        "email": "holzheu@de.ibm.com",
        "time": "Tue May 09 12:53:49 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:40:48 2006 -0700"
      },
      "message": "[PATCH] Driver Core: Add /sys/hypervisor when needed\n\nTo have a home for all hypervisors, this patch creates /sys/hypervisor.\nA new config option SYS_HYPERVISOR is introduced, which should to be set\nby architecture dependent hypervisors (e.g. s390 or Xen).\n\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Michael Holzheu \u003cholzheu@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1740757e8f94c6899705eb6f5434de9404992778",
      "tree": "012bf37dae6c7705a50f88bbdd8d28d975a5dc46",
      "parents": [
        "a0245f7ad5214cb00131d7cd176446e067c913dc"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 02 16:59:59 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:40:48 2006 -0700"
      },
      "message": "[PATCH] Driver Core: remove unused exports\n\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "53877d06d53a412d901bb323f080296c363d8b51",
      "tree": "ceffbd4dd9342e1742bf59165880888f7f961f33",
      "parents": [
        "27c0ff868f2ad3c9732ce45abbb8dd7e1723931f"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@suse.de",
        "time": "Tue Apr 04 20:42:26 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:40:47 2006 -0700"
      },
      "message": "[PATCH] Driver core: bus device event delay\n\nsplit bus_add_device() and send device uevents after sysfs population\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f67d115fe48f494d4b7f4f2024217fe52578915f",
      "tree": "80c9ef160714e121b582a901d00bf792373780d3",
      "parents": [
        "e485981e52b476c1b6a00873c2f8b75b3168718f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Jan 19 17:30:17 2006 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Feb 06 12:17:17 2006 -0800"
      },
      "message": "[PATCH] drivers/base/: proper prototypes\n\nThis patch contains the following changes:\n- move prototypes to base.h\n- sys.c should #include \"base.h\" for getting the prototype of it\u0027s\n  global function system_bus_init()\n\nNote that hidden in this patch there\u0027s a bugfix:\n\nCaller and callee disagreed regarding the return type of\nsysdev_shutdown().\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a1bdc7aad8b557176ccecff1da137ebe3090871e",
      "tree": "191866ea2adb807a9fef6305a8e745a8b3ceeea3",
      "parents": [
        "a7fadbe10ccf430e7a8add8b45c561d864087343"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Thu Oct 13 17:54:41 2005 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 09:52:55 2005 -0700"
      },
      "message": "[PATCH] drivers/base - fix sparse warnings\n\nThere are a number of sparse warnings from the latest sparse\nsnapshot being generated from the drivers/base build. The\nmain culprits are due to the initialisation functions not\nbeing declared in a header file.\n\nAlso, the firmware.c file should include \u003clinux/device.h\u003e\nto get the prototype of  firmware_register() and\nfirmware_unregister().\n\nThis patch moves the init function declerations from the\ninit.c file to the base.h, and ensures it is included in\nall the relevant c sources. It also adds \u003clinux/device.h\u003e\nto the included headers for firmware.c.\n\nThe patch does not solve all the sparse errors generated,\nbut reduces the count significantly.\n\ndrivers/base/core.c:161:1: warning: symbol \u0027devices_subsys\u0027 was not declared. Should it be static?\ndrivers/base/core.c:417:12: warning: symbol \u0027devices_init\u0027 was not declared. Should it be static?\ndrivers/base/sys.c:253:6: warning: symbol \u0027sysdev_shutdown\u0027 was not declared. Should it be static?\ndrivers/base/sys.c:326:5: warning: symbol \u0027sysdev_suspend\u0027 was not declared. Should it be static?\ndrivers/base/sys.c:428:5: warning: symbol \u0027sysdev_resume\u0027 was not declared. Should it be static?\ndrivers/base/sys.c:450:12: warning: symbol \u0027system_bus_init\u0027 was not declared. Should it be static?\ndrivers/base/bus.c:133:1: warning: symbol \u0027bus_subsys\u0027 was not declared. Should it be static?\ndrivers/base/bus.c:667:12: warning: symbol \u0027buses_init\u0027 was not declared. Should it be static?\ndrivers/base/class.c:759:12: warning: symbol \u0027classes_init\u0027 was not declared. Should it be static?\ndrivers/base/platform.c:313:12: warning: symbol \u0027platform_bus_init\u0027 was not declared. Should it be static?\ndrivers/base/cpu.c:110:12: warning: symbol \u0027cpu_dev_init\u0027 was not declared. Should it be static?\ndrivers/base/firmware.c:17:5: warning: symbol \u0027firmware_register\u0027 was not declared. Should it be static?\ndrivers/base/firmware.c:23:6: warning: symbol \u0027firmware_unregister\u0027 was not declared. Should it be static?\ndrivers/base/firmware.c:28:12: warning: symbol \u0027firmware_init\u0027 was not declared. Should it be static?\ndrivers/base/init.c:28:13: warning: symbol \u0027driver_init\u0027 was not declared. Should it be static?\ndrivers/base/dmapool.c:174:10: warning: implicit cast from nocast type\ndrivers/base/attribute_container.c:439:1: warning: symbol \u0027attribute_container_init\u0027 was not declared. Should it be static?\ndrivers/base/power/runtime.c:76:6: warning: symbol \u0027dpm_set_power_state\u0027 was not declared. Should it be static?\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "afdce75f1eaebcf358b7594ba7969aade105c3b0",
      "tree": "5374a0e85e03c8706a1dd95478b9d0a3312917e0",
      "parents": [
        "151ef38f7c0ec1b0420f04438b0316e3a30bf2e4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 22 16:09:05 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 29 22:48:04 2005 -0700"
      },
      "message": "[PATCH] driver core: Add the ability to bind drivers to devices from userspace\n\nThis adds a single file, \"bind\", to the sysfs directory of every driver\nregistered with the driver core.  To bind a device to a driver, write\nthe bus id of the device you wish to bind to that specific driver to the\n\"bind\" file (remember to not add a trailing \\n).  If that bus id matches\na device on that bus, and it does not currently have a driver bound to\nit, the probe sequence will be initiated with that driver and device.\n\nNote, this requires that the driver itself be willing and able to accept\nthat device (usually through a device id type table).  This patch does\nnot make it possible to override the driver\u0027s id table.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "07e4a3e27fe414980ddc85a358e5a56abc48b363",
      "tree": "eb32858e7facf8b24a2f0fc2d4e829d6ee715c09",
      "parents": [
        "af70316af182f4716cc5eec7e0d27fc731d164bd"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 10:52:54 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:13 2005 -0700"
      },
      "message": "[PATCH] Move device/driver code to drivers/base/dd.c\n\nThis relocates the driver binding/unbinding code to drivers/base/dd.c. This is done\nfor two reasons: One, it\u0027s not code related to the bus_type itself; it uses some from\nthat, some from devices, and some from drivers. And Two, it will make it easier to do\nsome of the upcoming lock removal on that code..\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\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"
    }
  ]
}
