)]}'
{
  "log": [
    {
      "commit": "3e95637a48820ff8bedb33e6439def96ccff1de5",
      "tree": "69930bc984892d68574e3623a0cbd88928fa6d06",
      "parents": [
        "e9a7d305faec364ba973d6c22c9b1e802ef79204"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Jun 16 17:10:48 2006 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:40:49 2006 -0700"
      },
      "message": "[PATCH] Driver Core: Make dev_info and friends print the bus name if there is no driver\n\nThis patch (as721) makes dev_info and related macros print the device\u0027s\nbus name if the device doesn\u0027t have a driver, instead of printing just a\nblank.  If the device isn\u0027t on a bus either... well, then it does leave\na blank space.  But it will be easier for someone else to change if they\nwant.\n\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "23681e479129854305da1da32f7f1eaf635ef22c",
      "tree": "5677e3d851e8d65feeb64c9852e4dbb60e75ff41",
      "parents": [
        "aa49b9136e3d44cc264811d77eef4ded88456717"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 14 12:14:34 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:40:49 2006 -0700"
      },
      "message": "[PATCH] Driver core: allow struct device to have a dev_t\n\nThis is the first step in moving class_device to being replaced by\nstruct device.  It allows struct device to export a dev_t and makes it\neasy to dynamically create and destroy struct device as long as they are\nassociated with a specific class.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\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": "66643de455c27973ac31ad6de9f859d399916842",
      "tree": "7ebed7f051879007d4b11d6aaa9e65a1bcb0b08f",
      "parents": [
        "2c23d62abb820e19c54012520f08a198c2233a85",
        "387e2b0439026aa738a9edca15a57e5c0bcb4dfc"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 24 09:22:21 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed May 24 09:22:21 2006 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tinclude/asm-powerpc/unistd.h\n\tinclude/asm-sparc/unistd.h\n\tinclude/asm-sparc64/unistd.h\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "1498221d51a43d5fa1a580618591497d90f957d9",
      "tree": "20554a3fa474c9d09f649958b85b90a3de718477",
      "parents": [
        "5528e568a760442e0ec8fd2dea1f0791875a066b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Sat May 06 17:55:11 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 06 17:55:11 2006 -0700"
      },
      "message": "[CLASS DEVICE]: add attribute_group creation\n\nExtend the support of attribute groups in class_device\u0027s to allow\ngroups to be created as part of the registration process. This allows\nnetwork device\u0027s to avoid race between registration and creating\ngroups.\n\nNote that unlike attributes that are a property of the class object,\nthe groups are a property of the class_device object. This is done\nbecause there are different types of network devices (wireless for\nexample).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "8b4b6707ee32f929846d947d18b1b9bf42e988aa",
      "tree": "aa27dd01e2d74cb68efc4ab57eb4d1f4e563ae33",
      "parents": [
        "d04ef3a795b3b7b376a02713ed5e211e9ae1f917",
        "116f232b3794a8b6ebde21aef5004b18cc1cfa86"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 10:58:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 10:58:05 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:\n  fixed path to moved file in include/linux/device.h\n  Fix spelling in E1000_DISABLE_PACKET_SPLIT Kconfig description\n  Documentation/dvb/get_dvb_firmware: fix firmware URL\n  Documentation: Update to BUG-HUNTING\n  Remove superfluous NOTIFY_COOKIE_LEN define\n  add \"tags\" to .gitignore\n  Fix \"frist\", \"fisrt\", typos\n  fix rwlock usage example\n  It\u0027s UTF-8\n"
    },
    {
      "commit": "116f232b3794a8b6ebde21aef5004b18cc1cfa86",
      "tree": "8d9d46605b1109cfbfd1c147dd8afce61a4c2fe7",
      "parents": [
        "9e6b48732d53bd986178bca3bce18d2329e4b0ca"
      ],
      "author": {
        "name": "Rytchkov Alexey",
        "email": "lilo0@nm.ru",
        "time": "Wed Mar 22 00:58:53 2006 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Mar 22 00:58:53 2006 +0100"
      },
      "message": "fixed path to moved file in include/linux/device.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "d04cdb64212eb5ae6a98026a97dda626e40e8e9a",
      "tree": "b6a7dbb21ccfceb915844e9a330b3d3dfcaf3c5b",
      "parents": [
        "2f8600dff2b140096a7df781884e918a16aa90e0",
        "ec1248e70edc5cf7b485efcc7b41e44e10f422e5"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Tue Mar 21 13:05:45 2006 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.il.steeleye.com",
        "time": "Tue Mar 21 13:05:45 2006 -0600"
      },
      "message": "Merge ../linux-2.6\n"
    },
    {
      "commit": "4f2928d0a439553f0288d9483faf417430629635",
      "tree": "96efd4b28d84fd409add525a7c2f834b22dd0d23",
      "parents": [
        "30560ba6eda308c13a361d08eb5d4eaab94ab37e"
      ],
      "author": {
        "name": "Tilman Schmidt",
        "email": "tilman@imap.cc",
        "time": "Fri Feb 24 11:05:45 2006 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 20 13:42:59 2006 -0800"
      },
      "message": "[PATCH] Driver core: add macros notice(), dev_notice()\n\nBoth usb.h and device.h have collections of convenience macros for\nprintk() with the KERN_ERR, KERN_WARNING, and KERN_NOTICE severity\nlevels. This patch adds macros for the KERN_NOTICE level which was\nso far uncatered for.\n\nThese macros already exist privately in drivers/isdn/gigaset/gigaset.h\n(currently in the process of being submitted for the kernel tree)\nbut they really belong with their brothers and sisters in\ninclude/linux/{device,usb}.h.\n\nSigned-off-by: Tilman Schmidt \u003ctilman@imap.cc\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": "594c8281f90560faf9632d91bb9d402cbe560e63",
      "tree": "abeb32df086cfd204accad33b11040381c31689d",
      "parents": [
        "bd37e5a951ad2123d3f51f59c407b5242946b6ba"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@arm.linux.org.uk",
        "time": "Thu Jan 05 14:29:51 2006 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 13 11:26:04 2006 -0800"
      },
      "message": "[PATCH] Add bus_type probe, remove, shutdown methods.\n\nAdd bus_type probe, remove and shutdown methods to replace the\ncorresponding methods in struct device_driver.  This matches\nthe way we handle the suspend/resume methods.\n\nSince the bus methods override the device_driver methods, warn\nif a device driver is registered whose methods will not be\ncalled.\n\nThe long-term idea is to remove the device_driver methods entirely.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "312c004d36ce6c739512bac83b452f4c20ab1f62",
      "tree": "e61e8331680a0da29557fe21414d3b31e62c9293",
      "parents": [
        "5f123fbd80f4f788554636f02bf73e40f914e0d6"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@suse.de",
        "time": "Wed Nov 16 09:00:00 2005 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 04 16:18:08 2006 -0800"
      },
      "message": "[PATCH] driver core: replace \"hotplug\" by \"uevent\"\n\nLeave the overloaded \"hotplug\" word to susbsystems which are handling\nreal devices. The driver core does not \"plug\" anything, it just exports\nthe state to userspace and generates events.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d052d1beff706920e82c5d55006b08e256b5df09",
      "tree": "dac91b70361b405ab8e15207f514a2f3e991e93d",
      "parents": [
        "8a212ab6b8a4ccc6f3c3d1beba5f92655c576404"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Sat Oct 29 19:07:23 2005 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Oct 29 19:07:23 2005 +0100"
      },
      "message": "Create platform_device.h to contain all the platform device details.\nConvert everyone who uses platform_bus_type to include\nlinux/platform_device.h.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9480e307cd88ef09ec9294c7d97ebec18e6d2221",
      "tree": "967e26d3a23c24dd52b114d672312c207714308c",
      "parents": [
        "a3a3395e487abc4c1371fe319a8ecbb3913a70a4"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@arm.linux.org.uk",
        "time": "Fri Oct 28 09:52:56 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 09:52:56 2005 -0700"
      },
      "message": "[PATCH] DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacks\n\nIn PM v1, all devices were called at SUSPEND_DISABLE level.  Then\nall devices were called at SUSPEND_SAVE_STATE level, and finally\nSUSPEND_POWER_DOWN level.  However, with PM v2, to maintain\ncompatibility for platform devices, I arranged for the PM v2\nsuspend/resume callbacks to call the old PM v1 suspend/resume\ncallbacks three times with each level in order so that existing\ndrivers continued to work.\n\nSince this is obsolete infrastructure which is no longer necessary,\nwe can remove it.  Here\u0027s an (untested) patch to do exactly that.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "74be227f728ed68bfc270153665b43fc1f0fa845",
      "tree": "c10fbdaa10a57162885881e080ac1cee71c0d9c1",
      "parents": [
        "53f4654272df7c51064825024340554b39c9efba"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 27 22:25:43 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 09:52:52 2005 -0700"
      },
      "message": "[PATCH] Driver Core: document struct class_device properly\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "51d172d5f3a193e4b8f76179b2e55d7a36b94117",
      "tree": "4bb508d85d9de2588235caddf197da57a47b5d6e",
      "parents": [
        "a7fd67062efc5b0fc9a61368c607fa92d1d57f9e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 27 22:25:43 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 09:52:51 2005 -0700"
      },
      "message": "[PATCH] Driver Core: add the ability for class_device structures to be nested\n\nThis patch allows struct class_device to be nested, so that another\nstruct class_device can be the parent of a new one, instead of only\nhaving the struct class be the parent.  This will allow us to\n(hopefully) fix up the input and video class subsystem mess.\n\nBut please people, don\u0027t go crazy and start making huge trees of class\ndevices, you should only need 2 levels deep to get everything to work\n(remember to use a class_interface to get notification of a new class\ndevice being added to the system.)\n\nOh, this also allows us to have the possibility of potentially, someday,\nmoving /sys/block into /sys/class.  The main hindrance is that pesky\n/dev numberspace issue...\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a7fd67062efc5b0fc9a61368c607fa92d1d57f9e",
      "tree": "8b91f198640608bd99f4e4764394e5134220abcf",
      "parents": [
        "d8539d81aeee4dbdc0624a798321e822fb2df7ae"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@suse.de",
        "time": "Sat Oct 01 14:49:43 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 09:52:51 2005 -0700"
      },
      "message": "[PATCH] add sysfs attr to re-emit device hotplug event\n\nA \"coldplug + udevstart\" can be simple like this:\n  for i in /sys/block/*/*/uevent; do echo 1 \u003e $i; done\n  for i in /sys/class/*/*/uevent; do echo 1 \u003e $i; done\n  for i in /sys/bus/*/devices/*/uevent; do echo 1 \u003e $i; done\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d8539d81aeee4dbdc0624a798321e822fb2df7ae",
      "tree": "3fc46e80f2fdec0a7ca714dfa3fb8f08648d3bb8",
      "parents": [
        "7bd7b091429705eb281d60c553cc643aada8045a"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Thu Sep 15 02:01:36 2005 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 09:52:51 2005 -0700"
      },
      "message": "[PATCH] Driver core: pass interface to class interface methods\n\nDriver core: pass interface to class intreface methods\n\nPass interface as argument to add() and remove() class interface\nmethods. This way a subsystem can implement generic add/remove\nhandlers and then call interface-specific ones.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d305ef5d2a4e77bfa66160513f4a7494126a506b",
      "tree": "f70f435571fb6c4d520fea0f3c769a2a6df73f84",
      "parents": [
        "4c898c7f2f286b204fefc5dddb568f755d195d0c"
      ],
      "author": {
        "name": "Daniel Ritz",
        "email": "daniel.ritz@gmx.ch",
        "time": "Thu Sep 22 00:47:24 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Sep 22 07:58:24 2005 -0700"
      },
      "message": "[PATCH] driver core: add helper device_is_registered()\n\nadd the helper and use it instead of open coding the klist_node_attached() check\n(which is a layering violation IMHO)\n\nidea by Alan Stern.\n\nSigned-off-by: Daniel Ritz \u003cdaniel.ritz@gmx.ch\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5028770a42e7bc4d15791a44c28f0ad539323807",
      "tree": "74800e35129775413c13ce7caf036ca19e3ce56c",
      "parents": [
        "9f02d6b7b43d46a74dd385f06090104ecd0fb807",
        "d8683a0cb5d09cb7f19feefa708424a84577e68f"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Jul 12 17:21:56 2005 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Jul 12 17:21:56 2005 -0400"
      },
      "message": "[ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc...\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "4e10d12a3d88c88fba3258809aa42d14fd8cf1d1",
      "tree": "195f69e8e25dec0f7344aab2bbdb353b9639df79",
      "parents": [
        "fb9802fa59b196d7f90bb3c2e33c555c6bdc4c54"
      ],
      "author": {
        "name": "David Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Fri Mar 18 18:45:35 2005 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Mon Jul 11 23:28:24 2005 -0400"
      },
      "message": "[ACPI] Bind PCI devices with ACPI devices\n\nImplement the framework for binding physical devices\nwith ACPI devices. A physical bus like PCI bus\nshould create a \u0027acpi_bus_type\u0027, with:\n\n.find_device:\n        For device which has parent such as normal PCI devices.\n\n.find_bridge:\n        It\u0027s for special devices, such as PCI root bridge\n\tor IDE controller.  Such devices generally haven\u0027t a\n\tparent or -\u003ebus. We use the special method\n\tto get an ACPI handle.\n\nUses new field in struct device: firmware_data\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d4277\n\nSigned-off-by: David Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\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": "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": "54b6f35c99974e99e64c05c2895718355123c55f",
      "tree": "321d08c397bc26b49c706ca5b86de7003c2329c0",
      "parents": [
        "ca2b94ba12f3c36fd3d6ed9d38b3798d4dad0d8b"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:39:34 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:31 2005 -0700"
      },
      "message": "[PATCH] Driver core: change device_attribute callbacks\n\nThis patch adds the device_attribute paramerter to the\ndevice_attribute store and show sysfs callback functions, and passes a\nreference to the attribute when the callbacks are called.\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0d3e5a2e39b6ba2974e9e7c2a429018c45de8e76",
      "tree": "30e584b73c356adce49dcc9df75332abaef95470",
      "parents": [
        "b86c1df1f98d16c999423a3907eb40a9423f481e"
      ],
      "author": {
        "name": "Patrick Mochel",
        "email": "mochel@digitalimplant.org",
        "time": "Tue Apr 05 23:46:33 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:27 2005 -0700"
      },
      "message": "[PATCH] Driver Core: fix bk-driver-core kills ppc64\n\nThere\u0027s no check to see if the device is already bound to a driver, which\ncould do bad things.  The first thing to go wrong is that it will try to match\na driver with a device already bound to one.  In some cases (it appears with\nUSB with drivers/usb/core/usb.c::usb_match_id()), some drivers will match a\ndevice based on the class type, so it would be common (especially for HID\ndevices) to match a device that is already bound.\n\nThe fun comes when -\u003eprobe() is called, it fails, then\ndriver_probe_device() does this:\n\n\tdev-\u003edriver \u003d NULL;\n\nLater on, that pointer could be be dereferenced without checking and cause\nhell to break loose.\n\nThis problem could be nasty. It\u0027s very hardware dependent, since some\ndevices could have a different set of matching qualifiers than others.\n\nNow, I don\u0027t quite see exactly where/how you were getting that crash.\nYou\u0027re dereferencing bad memory, but I\u0027m not sure which pointer was bad\nand where it came from, but it could have come from a couple of different\nplaces.\n\nThe patch below will hopefully fix it all up for you. It\u0027s against\n2.6.12-rc2-mm1, and does the following:\n\n- Move logic to driver_probe_device() and comments uncommon returns:\n  1 - If device is bound\n  0 - If device not bound, and no error\n  error - If there was an error.\n\n- Move locking to caller of that function, since we want to lock a\n  device for the entire time we\u0027re trying to bind it to a driver (to\n  prevent against a driver being loaded at the same time).\n\n- Update __device_attach() and __driver_attach() to do that locking.\n\n- Check if device is already bound in __driver_attach()\n\n- Update the converse device_release_driver() so it locks the device\n  around all of the operations.\n\n- Mark driver_probe_device() as static and remove export. It\u0027s an\n  internal function, it should stay that way, and there are no other\n  callers. If there is ever a need to export it, we can audit it as\n  necessary.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "36239577cfb6b9a7c111209536b54200b0252ebf",
      "tree": "f8fa5034fbb31d273d0889119cbc20e4c4b0c983",
      "parents": [
        "9a881f166f473373589ce6f3fdc47b44a1450e2d"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 19:08:30 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:23 2005 -0700"
      },
      "message": "[PATCH] Use a klist for device child lists.\n\n- Use klist iterator in device_for_each_child(), making it safe to use for\n  removing devices.\n- Remove unused list_to_dev() function.\n- Kills all usage of devices_subsys.rwsem.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "63c4f204ffc8219696bda88eb20c9873d007a2fc",
      "tree": "4a787908743ae0360b4e4356326c8912e6954a40",
      "parents": [
        "7dc35cdf69149a7f2b5216ada9bafe359746ac1c"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 13:08:05 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:18 2005 -0700"
      },
      "message": "[PATCH] Remove struct device::driver_list.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7dc35cdf69149a7f2b5216ada9bafe359746ac1c",
      "tree": "bdbcaff7bc9d2ac391aae54bc4cb23ecbf93038f",
      "parents": [
        "6eded061b1263847aedac7469339e99579aec5e5"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 13:03:35 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:18 2005 -0700"
      },
      "message": "[PATCH] Remove struct device::bus_list.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "cb85b6f1cc811ecb9ed4b950206d8941ba710e68",
      "tree": "f017c851e25078c8445ec7045556eb41e364ffdb",
      "parents": [
        "94e7b1c5ff2055571703e38b059afffe17658432"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 10:48:35 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:16 2005 -0700"
      },
      "message": "[PATCH] Remove the unused device_find().\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "94e7b1c5ff2055571703e38b059afffe17658432",
      "tree": "469dbd920087ec62acd88b4985437a78c6786c0e",
      "parents": [
        "38fdac3cdce276554b4484a41f8ec2daf81cb2ff"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 12:25:36 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:16 2005 -0700"
      },
      "message": "[PATCH] Add a klist to struct device_driver for the devices bound to it.\n\n- Use it in driver_for_each_device() instead of the regular list_head and stop using\n  the bus\u0027s rwsem for protection.\n- Use driver_for_each_device() in driver_detach() so we don\u0027t deadlock on the\n  bus\u0027s rwsem.\n- Remove -\u003edevices.\n- Move klist access and sysfs link access out from under device\u0027s semaphore, since\n  they\u0027re synchronized through other means.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "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": "fae3cd00255e3e51ffd59fedb1bdb91ec96be395",
      "tree": "59e56a65f4b01f496436bd9b0720737ce1937db4",
      "parents": [
        "07e4a3e27fe414980ddc85a358e5a56abc48b363"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 10:59:56 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:13 2005 -0700"
      },
      "message": "[PATCH] Add driver_for_each_device().\n\nNow there\u0027s an iterator for accessing each device bound to a driver.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nIndex: linux-2.6.12-rc2/drivers/base/driver.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "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": "cd987d38cc59053e0bab8150ffaca33b109067f3",
      "tree": "68cf99616bd548bff80ca12f37912d9cc4b31edd",
      "parents": [
        "2fc68447df5c76cf254037047b4b02551bd5d760"
      ],
      "author": {
        "name": "gregkh@suse.de",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 23 11:12:38 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:11 2005 -0700"
      },
      "message": "[PATCH] class: remove class_simple code, as no one in the tree is using it anymore.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e9ba6365fd4f0d9e7d022c883bd044fbaa48257f",
      "tree": "062476167b5c9cd5ed08a01f223e71c2ece795ee",
      "parents": [
        "70f2817a43c89b784dc2ec3d06ba5bf3064f8235"
      ],
      "author": {
        "name": "gregkh@suse.de",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 15 11:54:21 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:04 2005 -0700"
      },
      "message": "[PATCH] CLASS: move a \"simple\" class logic into the class core.\n\nOne step on improving the class api so that it can not be used incorrectly.\nThis also fixes the module owner issue with the dev files that happened when\nthe devt logic moved to the class core.\n\nBased on a patch originally written by Kay Sievers \u003ckay.sievers@vrfy.org\u003e\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8d790d74085833ba2a3e84b5bcd683be4981c29a",
      "tree": "fe3be944882cb1ec272e4fb6782c6caa404a6187",
      "parents": [
        "419cab3fc69588ebe35b845cc3a584ae172463de"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Tue Apr 26 02:34:05 2005 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:01 2005 -0700"
      },
      "message": "[PATCH] make driver\u0027s name be const char *\n\nDriver core:\n  change driver\u0027s, bus\u0027s, class\u0027s and platform device\u0027s names\n  to be const char * so one can use\n            const char *drv_name \u003d \"asdfg\";\n  when initializing structures.\n  Also kill couple of whitespaces.\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": "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"
    }
  ]
}
