)]}'
{
  "log": [
    {
      "commit": "b9cafc7d5b8af0c71896f60dfcff40c71bd38a9a",
      "tree": "818da5cabe0236b547d1d1fc3a00e4446d439356",
      "parents": [
        "40fa54226f518a9bc97ed1d711c0016e416e3782"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Sep 14 11:23:28 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 01 14:51:58 2006 -0800"
      },
      "message": "CONFIG_SYSFS_DEPRECATED - bus symlinks\n\nTurn off the bus symlinks if CONFIG_SYSFS_DEPRECATED is enabled\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "116af378201ef793424cd10508ccf18b06d8a021",
      "tree": "2de792e7b9d8a122d88241d1ecfbe7bc92b9b8fe",
      "parents": [
        "0215ffb08ce99e2bb59eca114a99499a4d06e704"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Oct 25 13:44:59 2006 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 01 14:51:58 2006 -0800"
      },
      "message": "Driver core: add notification of bus events\n\nI finally did as you suggested and added the notifier to the struct\nbus_type itself. There are still problems to be expected is something\nattaches to a bus type where the code can hook in different struct\ndevice sub-classes (which is imho a big bogosity but I won\u0027t even try to\nargue that case now) but it will solve nicely a number of issues I\u0027ve\nhad so far.\n\nThat also means that clients interested in registering for such\nnotifications have to do it before devices are added and after bus types\nare registered. Fortunately, most bus types that matter for the various\nusage scenarios I have in mind are registerd at postcore_initcall time,\nwhich means I have a really nice spot at arch_initcall time to add my\nnotifiers.\n\nThere are 4 notifications provided. Device being added (before hooked to\nthe bus) and removed (failure of previous case or after being unhooked\nfrom the bus), along with driver being bound to a device and about to be\nunbound.\n\nThe usage I have for these are:\n\n - The 2 first ones are used to maintain a struct device_ext that is\nhooked to struct device.firmware_data. This structure contains for now a\npointer to the Open Firmware node related to the device (if any), the\nNUMA node ID (for quick access to it) and the DMA operations pointers \u0026\niommu table instance for DMA to/from this device. For bus types I own\n(like IBM VIO or EBUS), I just maintain that structure directly from the\nbus code when creating the devices. But for bus types managed by generic\ncode like PCI or platform (actually, of_platform which is a variation of\nplatform linked to Open Firmware device-tree), I need this notifier.\n\n - The other two ones have a completely different usage scenario. I have\ncases where multiple devices and their drivers depend on each other. For\nexample, the IBM EMAC network driver needs to attach to a MAL DMA engine\nwhich is a separate device, and a PHY interface which is also a separate\ndevice. They are all of_platform_device\u0027s (well, about to be with my\nupcoming patches) but there is no say in what precise order the core\nwill \"probe\" them and instanciate the various modules. The solution I\nfound for that is to have the drivers for emac to use multithread_probe,\nand wait for a driver to be bound to the target MAL and PHY control\ndevices (the device-tree contains reference to the MAL and PHY interface\nnodes, which I can then match to of_platform_devices). Right now, I\u0027ve\nbeen polling, but with that notifier, I can more cleanly wait (with a\ntimeout of course).\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d9fd4d3b317a231e47f31d64d66c8cc7765d458f",
      "tree": "d4a80654a42707bbb541d52ca1fffc565e92e96b",
      "parents": [
        "f70fa6296c2ec8f541f0a9b406ccc2d9d127d639"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Oct 04 07:48:03 2006 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 18 12:49:56 2006 -0700"
      },
      "message": "Driver core: bus: remove indentation level\n\nBefore potentially fixing up these functions, this cosmetic change\nreduces the indentation level to make the code easier to read and\nmaintain.\n\nNo functional changes at all.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f70fa6296c2ec8f541f0a9b406ccc2d9d127d639",
      "tree": "f9fd9bbb13a62683c6b41612cfb34fa3894f8676",
      "parents": [
        "952ab431cd36c7ab573f685af8679c3677cbdc29"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Oct 05 17:03:24 2006 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 18 12:49:55 2006 -0700"
      },
      "message": "Driver core: Don\u0027t ignore error returns from probing\n\nThis patch (as797) fixes device_add() in the driver core.  It needs to\npay attention when the driver for a new device reports an error.\n\nAt the same time, since bus_remove_device() undoes the effects of both\nbus_add_device() and bus_attach_device(), it needs to check whether\nthe bus_attach_device step failed.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "513e7337adc32cdfbffecb99953e45a44e812c2d",
      "tree": "47179553f793f74366650b9b085f1350cc00a8e3",
      "parents": [
        "1bb6881acae1c4f11a6e86f04df32ba45e95031d"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Fri Sep 22 11:37:08 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 18 12:49:55 2006 -0700"
      },
      "message": "driver core fixes: bus_add_device() cleanup on error\n\nCorrect cleanup in the error path of bus_add_device().\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "1bb6881acae1c4f11a6e86f04df32ba45e95031d",
      "tree": "c26795fdd0f062ba741d4bbb82a960c942119e3c",
      "parents": [
        "f0e1761ac528e9d28f3ba06bd268ec41fe872ac8"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Fri Sep 22 11:37:04 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 18 12:49:55 2006 -0700"
      },
      "message": "driver core fixes: bus_add_attrs() retval check\n\nCheck return value of bus_add_attrs() in bus_register().\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\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": "f2eaae197f4590c4d96f31b09b0ee9067421a95c",
      "tree": "5ccb072851da5d1bfdae458c52b57e76eb7dd168",
      "parents": [
        "0f397f865076e3471ec884ee73ad5e34165fac2a"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Sep 18 16:22:34 2006 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:40 2006 -0700"
      },
      "message": "Driver core: Fix potential deadlock in driver core\n\nThere is a potential deadlock in the driver core.  It boils down to\nthe fact that bus_remove_device() calls klist_remove() instead of\nklist_del(), thereby waiting until the reference count of the\nklist_node in the bus\u0027s klist of devices drops to 0.  The refcount\ncan\u0027t reach 0 so long as a modprobe process is trying to bind a new\ndriver to the device being removed, by calling __driver_attach().  The\nproblem is that __driver_attach() tries to acquire the device\u0027s\nparent\u0027s semaphore, but the caller of bus_remove_device() is quite\nlikely to own that semaphore already.\n\nIt isn\u0027t sufficient just to replace klist_remove() with klist_del().\nDoing so runs the risk that the device would remain on the bus\u0027s klist\nof devices for some time, and so could be bound to another driver even\nafter it was unregistered.  What\u0027s needed is a new way to distinguish\nwhether or not a device is registered, based on a criterion other than\nwhether its klist_node is linked into the bus\u0027s klist of devices.  That\nway driver binding can fail when the device is unregistered, even if\nit is still linked into the klist.\n\nThis patch (as782) implements the solution, by adding a new bitflag to\nindiate when a struct device is registered, by testing the flag before\nallowing a driver to bind a device, and by changing the definition of\nthe device_is_registered() inline.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\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": "35acfdd7253025e8441883fd8f879f5240844f95",
      "tree": "d1fb2d170964572c4b5446f73a44db88599c0e46",
      "parents": [
        "9de72ee59029087fc8300633113c75a5fe73a7b8"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Sat Jul 15 01:30:11 2006 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:39 2006 -0700"
      },
      "message": "Driver core: fixed add_bind_files() definition\n\nWhen CONFIG_HOTPLUG is n, add_bind_files() definition is wrong.\nThis patch has fixed it.\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7e4ef085ea4b00cfc34e854edf448c729de8a0a5",
      "tree": "cc8b12d3b25e0b5a6cc2524faccc2d05dcff61c8",
      "parents": [
        "42734dafa43e453a8b6769a5ebd3a01ffc1fd116"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jun 26 22:26:56 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 12 16:09:08 2006 -0700"
      },
      "message": "[PATCH] Driver core: bus.c cleanups\n\nThis patch contains the following cleanups:\n- make the needlessly global bus_subsys static\n- #if 0 the unused find_bus()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\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": "b9d9c82b4d081feb464f62dfc786c8621d09ecd2",
      "tree": "511d15b4d7aaba80a2c0fe49622a3224ca386122",
      "parents": [
        "23681e479129854305da1da32f7f1eaf635ef22c"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@suse.de",
        "time": "Thu Jun 15 15:31:56 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:40:49 2006 -0700"
      },
      "message": "[PATCH] Driver core: add generic \"subsystem\" link to all devices\n\nLike the SUBSYTEM\u003d key we find in the environment of the uevent, this\ncreates a generic \"subsystem\" link in sysfs for every device. Userspace\nusually doesn\u0027t care at all if its a \"class\" or a \"bus\" device. This\nprovides an unified way to determine the subsytem of a device, regardless\nof the way the driver core has created it.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@suse.de\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": "372254018eb1b65ee69210d11686bfc65c8d84db",
      "tree": "d231099272446513886eeab80e94b8fb84881ed9",
      "parents": [
        "a14388904ca67197c9a531dba2358d8131697865"
      ],
      "author": {
        "name": "Ryan Wilson",
        "email": "hap9@epoch.ncsc.mil",
        "time": "Wed Mar 22 16:26:25 2006 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 14 11:41:25 2006 -0700"
      },
      "message": "[PATCH] driver core: driver_bind attribute returns incorrect value\n\nThe manual driver \u003c-\u003e device binding attribute in sysfs doesn\u0027t return\nthe correct value on failure or success of driver_probe_device.\ndriver_probe_device returns 1 on success (the driver accepted the\ndevice) or 0 on probe failure (when the driver didn\u0027t accept the\ndevice but no real error occured). However, the attribute can\u0027t just\nreturn 0 or 1, it must return the number of bytes consumed from buf\nor an error value. Returning 0 indicates to userspace that nothing\nwas written (even though the kernel has tried to do the bind/probe and\nfailed). Returning 1 indicates that only one character was accepted in\nwhich case userspace will re-try the write with a partial string.\n\nA more correct version of driver_bind would return count (to indicate\nthe entire string was consumed) when driver_probe_device returns 1\nand -ENODEV when driver_probe_device returns 0. This patch makes that\nchange.\n\nSigned-off-by: Ryan Wilson \u003chap9@epoch.ncsc.mil\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e935d5da8e5d12fabe5b632736c50eae0427e8c8",
      "tree": "8045ffcaa659365ed1d844e7704b92810660c8b1",
      "parents": [
        "79cb1819e231f811211133a09a5382cb89d7ec67"
      ],
      "author": {
        "name": "Moore, Eric",
        "email": "Eric.Moore@lsil.com",
        "time": "Tue Mar 14 09:18:18 2006 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Tue Mar 14 12:50:44 2006 -0600"
      },
      "message": "[SCSI] drivers/base/bus.c - export reprobe\n\nAdding support for exposing hidden raid components for sg\ninterface. The sdev-\u003eno_uld_attach flag will set set accordingly.\n\nThe sas module supports adding/removing raid volumes using online\nstorage management application interface.\n\nThis patch was provided to me by Christoph Hellwig.\n\nSigned-off-by: Eric Moore \u003cEric.Moore@lsil.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "2139bdd5b15a4cc450adb17da836f33c16477188",
      "tree": "16ef47b6bf3f0720fdda857ff66395b0c3634186",
      "parents": [
        "ce4b50f2fc62267eeaf331c41bc11b92d9bc7865"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@arm.linux.org.uk",
        "time": "Tue Feb 07 12:58:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 07 16:12:31 2006 -0800"
      },
      "message": "[PATCH] drivers/base/bus.c warning fixes\n\ndrivers/base/bus.c:166: warning: `driver_attr_unbind\u0027 defined but not used\ndrivers/base/bus.c:194: warning: `driver_attr_bind\u0027 defined but not used\n\nLooks like these two attributes and supporting functions want to be\n#ifdef HOTPLUG\u0027d\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "874c6241b2e49e52680d32a50d4909c7768d5cb9",
      "tree": "815b08ab6793cd45346c3d5f6a3875f36c0bfc91",
      "parents": [
        "a96b204208443ab7e23c681f7ddabe807a741d0c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 13 15:17:34 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 04 16:18:09 2006 -0800"
      },
      "message": "[PATCH] Driver core: only all userspace bind/unbind if CONFIG_HOTPLUG is enabled\n\nThanks to drivers making their id tables __devinit, we can\u0027t allow\nuserspace to bind or unbind drivers from devices manually through sysfs.\nSo we only allow this if CONFIG_HOTPLUG is enabled.\n\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bf74ad5bc41727d5f2f1c6bedb2c1fac394de731",
      "tree": "1e46f41550a9fe6df40fedeace23f5aff656b478",
      "parents": [
        "6d20b035dee4300e9786c6e1cb77a765c7f9460a"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Nov 17 16:54:12 2005 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 04 16:18:08 2006 -0800"
      },
      "message": "[PATCH] Hold the device\u0027s parent\u0027s lock during probe and remove\n\nThis patch (as604) makes the driver core hold a device\u0027s parent\u0027s lock\nas well as the device\u0027s lock during calls to the probe and remove\nmethods in a driver.  This facility is needed by USB device drivers,\nowing to the peculiar way USB devices work:\n\n\tA device provides multiple interfaces, and drivers are bound\n\tto interfaces rather than to devices;\n\n\tNevertheless a reset, reset-configuration, suspend, or resume\n\taffects the entire device and requires the caller to hold the\n\tlock for the device, not just a lock for one of the interfaces.\n\nSince a USB driver\u0027s probe method is always called with the interface\nlock held, the locking order rules (always lock parent before child)\nprevent these methods from acquiring the device lock.  The solution\nprovided here is to call all probe and remove methods, for all devices\n(not just USB), with the parent lock already acquired.\n\nAlthough currently only the USB subsystem requires these changes, people\nhave mentioned in prior discussion that the overhead of acquiring an\nextra semaphore in all the prove/remove sequences is not overly large.\n\nUp to now, the USB core has been using its own set of private\nsemaphores.  A followup patch will remove them, relying entirely on the\ndevice semaphores provided by the driver core.\n\nThe code paths affected by this patch are:\n\n\tdevice_add and device_del: The USB core already holds the parent\n\tlock, so no actual change is needed.\n\n\tdriver_register and driver_unregister: The driver core will now\n\tlock both the parent and the device before probing or removing.\n\n\tdriver_bind and driver_unbind (in sysfs): These routines will\n\tnow lock both the parent and the device before binding or\n\tunbinding.\n\n\tbus_rescan_devices: The helper routine will lock the parent\n\tbefore probing a device.\n\nI have not tested this patch for conflicts with other subsystems.  As\nfar as I can see, the only possibility of conflict would lie in the\nbus_rescan_devices pathway, and it seems pretty remote.  Nevertheless,\nit would be good for this to get a lot of testing in -mm.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2b08c8d0468866f86da97f836c6ac14338cb81a9",
      "tree": "eca60a3b6811a825cd3642a666aa523a18fe484b",
      "parents": [
        "133747e8d1e912863edfb3869e36b97b9939d4fc"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Nov 23 15:43:50 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Nov 23 23:03:06 2005 -0800"
      },
      "message": "[PATCH] Small fixes to driver core\n\nThis patch (as603) makes a few small fixes to the driver core:\n\nChange spin_lock_irq for a klist lock to spin_lock;\n\nFix reference count leaks;\n\nMinor spelling and formatting changes.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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": "d856f1e337782326c638c70c0b4df2b909350dec",
      "tree": "15c070e3909cbd260b2616001f0a6dde4a0c24fa",
      "parents": [
        "fef6ec8dd96205fb22e3cfe2e4abd69d89413631"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@SteelEye.com",
        "time": "Fri Aug 19 09:14:01 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 05 16:03:13 2005 -0700"
      },
      "message": "[PATCH] klist: fix klist to have the same klist_add semantics as list_head\n\nat the moment, the list_head semantics are\n\nlist_add(node, head)\n\nwhereas current klist semantics are\n\nklist_add(head, node)\n\nThis is bound to cause confusion, and since klist is the newcomer, it\nshould follow the list_head semantics.\n\nI also added missing include guards to klist.h\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d65da6eae10cc77f93ead0188cde0b45f124d912",
      "tree": "2494fac5df0711f16cd4d49cc25133ea9d99b5e7",
      "parents": [
        "67d2c36e901403bb97cb79ddb44d702c3284d0ba"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Aug 17 17:33:11 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 05 16:03:09 2005 -0700"
      },
      "message": "[PATCH] Fix manual binding infinite loop\n\nFix for manual binding of drivers to devices.  Problem is if you pass in\na valid device id, but the driver refuses to bind.  Infinite loop as\nwrite() tries to resubmit the data it just sent.\n\nThanks to Michal Ostrowski \u003cmostrows@watson.ibm.com\u003e for pointing the\nproblem out.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "518e6540831c69422faecceee8f964bd439ac9d0",
      "tree": "0b31e27c6007adac51c8e6e3a832badc1d8e2a1a",
      "parents": [
        "099d44e869f1886b5eb02a5145ca97b5e4142e28"
      ],
      "author": {
        "name": "Greg KH",
        "email": "gregkh@suse.de",
        "time": "Wed Aug 17 17:33:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Aug 17 22:02:25 2005 -0700"
      },
      "message": "[PATCH] Fix manual binding infinite loop\n\nFix for manual binding of drivers to devices.  Problem is if you pass in\na valid device id, but the driver refuses to bind.  Infinite loop as\nwrite() tries to resubmit the data it just sent.\n\nThanks to Michal Ostrowski \u003cmostrows@watson.ibm.com\u003e for pointing the\nproblem out.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "23d3d602cb96addd3c1158424fb01a49ea5e81b1",
      "tree": "2daa85579c964bfe3d1a91fe365d202b8f38422b",
      "parents": [
        "afdce75f1eaebcf358b7594ba7969aade105c3b0"
      ],
      "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: change bus_rescan_devices to return void\n\nNo one was looking at the return value of bus_rescan_devices, and it\nreally wasn\u0027t anything that anyone in the kernel would ever care about.\nSo change it which enabled some counting code to be removed also.\n\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": "151ef38f7c0ec1b0420f04438b0316e3a30bf2e4",
      "tree": "3aa6504e12c08f70cacb7f9de6ef5858b45ee86d",
      "parents": [
        "0edb586049e57c56e625536476931117a57671e9"
      ],
      "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 unbind drivers to devices from userspace\n\nThis adds a single file, \"unbind\", to the sysfs directory of every\ndevice that is currently bound to a driver.  To unbind the driver from\nthe device, write anything to this file and they will be disconnected\nfrom each other.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\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": "d377e85b537a5e166272f937da6ba84350676b6e",
      "tree": "f3e5f347cbaa72a1479d991f7cab83228dd44bf0",
      "parents": [
        "479f6ea85e513551510ad52f37e69e1c596ad356"
      ],
      "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 22 23:01:10 2005 -0700"
      },
      "message": "[PATCH] driver core: Fix up the device_attach() error handling in bus_add_device()\n\nDon\u0027t error out if something \"bad\" happens when trying to bind a driver to a\ndevice.  We want the sysfs attributes to be present for later when we try to\ntear down the device.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ca2b94ba12f3c36fd3d6ed9d38b3798d4dad0d8b",
      "tree": "d9b85e0f423d1cd0a9ad1c72cec7464bcf50c126",
      "parents": [
        "acaefc25d21f850e47ecc5098d1e0bc442c526be"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Wed May 18 10:42:23 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:31 2005 -0700"
      },
      "message": "[PATCH] driver core: fix error handling in bus_add_device\n\nThe error handling in bus_add_device() and device_attach() is simply\nnon-existing. This patch propagates any error from device_attach to\nthe upper layers to allow for a proper recovery.\n\nFrom: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6eded061b1263847aedac7469339e99579aec5e5",
      "tree": "849eadc1c02df67e2d327880ce2ecc20975a856f",
      "parents": [
        "d4a7537122fa47a6ce41c5fdab53d844c78d7023"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 13:02:28 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:18 2005 -0700"
      },
      "message": "[PATCH] Fix up bus code and remove use of rwsem.\n\n- Don\u0027t add devices to bus\u0027s embedded kset, since it\u0027s not used by anyone anymore.\n- Don\u0027t need to take the bus rwsem when calling {device,driver}_attach(), since\n  those functions use the klists and the klists\u0027 spinlocks.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "38fdac3cdce276554b4484a41f8ec2daf81cb2ff",
      "tree": "1bdd0b8b69bd8e13de53036c8ef8b968a0dacc1d",
      "parents": [
        "465c7a3a3a5aabcedd2e43612cac5a12f23da19a"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 12:00:18 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:14 2005 -0700"
      },
      "message": "[PATCH] Add a klist to struct bus_type for its drivers.\n\n- Use it in bus_for_each_drv().\n- Use the klist spinlock instead of the bus rwsem.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "465c7a3a3a5aabcedd2e43612cac5a12f23da19a",
      "tree": "392dabbfe84d1de3e84b1eb238bfd09d0ade6c4c",
      "parents": [
        "9a19fea43616066561e221359596ce532e631395"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 11:49:14 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:14 2005 -0700"
      },
      "message": "[PATCH] Add a klist to struct bus_type for its devices.\n\n- Use it for bus_for_each_dev().\n- Use the klist spinlock instead of the bus rwsem.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\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": "af70316af182f4716cc5eec7e0d27fc731d164bd",
      "tree": "22fa4732c8270db8fd3f681355cd83e4b8088847",
      "parents": [
        "eb51b65005737b777e0709683b061d5f82aefd97"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 10:41:04 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:12 2005 -0700"
      },
      "message": "[PATCH] Add a semaphore to struct device to synchronize calls to its driver.\n\nThis adds a per-device semaphore that is taken before every call from the core to a\ndriver method. This prevents e.g. simultaneous calls to the -\u003esuspend() or -\u003eresume()\nand -\u003eprobe() or -\u003erelease(), potentially saving a whole lot of headaches.\n\nIt also moves us a step closer to removing the bus rwsem, since it protects the fields\nin struct device that are modified by the core.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4a0c20bf8c0fe2116f8fd7d3da6122bf8a01f026",
      "tree": "48b6108a889f7cc007633c4d7d6f2c9fafe18082",
      "parents": [
        "c76d0abd07a9c9cf72bbb5b641e1e97f92ea8f3e"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Fri Apr 29 01:23:47 2005 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:02 2005 -0700"
      },
      "message": "[PATCH] sysfs: (driver/base) if show/store is missing return -EIO\n\nsysfs: fix drivers/base so if an attribute doesn\u0027t implement\n       show or store method read/write will return -EIO\n       instead of 0.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0b405a0f7e4d4d18fd1fe46ddf5ff465443036ab",
      "tree": "49d74df6eddfdd095c650e0af34cde7f4548a2d5",
      "parents": [
        "82428b62aa6294ea640c7e920a9224ecaf46db65"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Thu May 12 12:06:27 2005 -0700"
      },
      "committer": {
        "name": "Greg KH",
        "email": "gregkh@suse.de",
        "time": "Tue May 17 14:54:55 2005 -0700"
      },
      "message": "[PATCH] Driver Core: remove driver model detach_state\n\nThe driver model has a \"detach_state\" mechanism that:\n\n - Has never been used by any in-kernel drive;\n - Is superfluous, since driver remove() methods can do the same thing;\n - Became buggy when the suspend() parameter changed semantics and type;\n - Could self-deadlock when called from certain suspend contexts;\n - Is effectively wasted documentation, object code, and headspace.\n\nThis removes that \"detach_state\" mechanism; net code shrink, as well\nas a per-device saving in the driver model and sysfs.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "b2d84f078a8be40f5ae3b4d2ac001e2a7f45fe4f",
      "tree": "173f941991f1b68da820e9926a3b7ebdd3a2c8b9",
      "parents": [
        "177a4324944478f2799ce4ede2797cb0f602f274"
      ],
      "author": {
        "name": "Roman Kagan",
        "email": "rkagan@mail.ru",
        "time": "Wed Apr 13 21:40:17 2005 +0400"
      },
      "committer": {
        "name": "Greg KH",
        "email": "gregkh@suse.de",
        "time": "Wed May 04 23:44:38 2005 -0700"
      },
      "message": "[PATCH] drivers/base/bus.c: fix iteration in driver_detach()\n\nWith 2.6.11 and 2.6.12-rc2 (and perhaps a few versions before) usb\ndrivers for multi-interface devices, which do\nusb_driver_release_interface() in their disconnect(), make rmmod hang.\n\nIt turns out to be due to a bug in drivers/base/bus.c:driver_detach(),\nthat iterates over the list of attached devices with\nlist_for_each_safe() under an assumption that device_release_driver()\nonly releases the current device, while it may also call\ndevice_release_driver() for other devices on the same list.\n\nThe following patch fixes it.  Please consider applying.\n\nSigned-off-by: Roman Kagan \u003crkagan@mail.ru\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"
    }
  ]
}
