)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
