)]}'
{
  "log": [
    {
      "commit": "e9d376f0fa66bd630fe27403669c6ae6c22a868f",
      "tree": "6eadef32eb421647ae98d88341b9aceb259aaf22",
      "parents": [
        "095160aee954688a9bad225952c4bee546541e19"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Thu Feb 05 11:51:38 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "dynamic debug: combine dprintk and dynamic printk\n\nThis patch combines Greg Bank\u0027s dprintk() work with the existing dynamic\nprintk patchset, we are now calling it \u0027dynamic debug\u0027.\n\nThe new feature of this patchset is a richer /debugfs control file interface,\n(an example output from my system is at the bottom), which allows fined grained\ncontrol over the the debug output. The output can be controlled by function,\nfile, module, format string, and line number.\n\nfor example, enabled all debug messages in module \u0027nf_conntrack\u0027:\n\necho -n \u0027module nf_conntrack +p\u0027 \u003e /mnt/debugfs/dynamic_debug/control\n\nto disable them:\n\necho -n \u0027module nf_conntrack -p\u0027 \u003e /mnt/debugfs/dynamic_debug/control\n\nA further explanation can be found in the documentation patch.\n\nSigned-off-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ffa6a7054d172a2f57248dff2de600ca795c5656",
      "tree": "f93c6234bb90295c52fcef09e367ed77ff6c3645",
      "parents": [
        "60530afe1ee8a5532cb09d0ab5bc3f1a6495b780"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Wed Mar 04 12:44:00 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "Driver core: Fix device_move() vs. dpm list ordering, v2\n\ndpm_list currently relies on the fact that child devices will\nbe registered after their parents to get a correct suspend\norder. Using device_move() however destroys this assumption, as\nan already registered device may be moved under a newly registered\none.\n\nThis patch adds a new argument to device_move(), allowing callers\nto specify how dpm_list should be adapted.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f67f129e519fa87f8ebd236b6336fe43f31ee141",
      "tree": "e2832f6d012044f5d05c6130416832235c7d2730",
      "parents": [
        "4995f8ef9d3aac72745e12419d7fbaa8d01b1d81"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Sun Mar 01 21:10:49 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "Driver core: implement uevent suppress in kobject\n\nThis patch implements uevent suppress in kobject and removes it\nfrom struct device, based on the following ideas:\n\n1,Uevent sending should be one attribute of kobject, so suppressing it\nin kobject layer is more natural than in device layer. By this way,\nwe can do it for other objects embedded with kobject.\n\n2,It may save several bytes for each instance of struct device.(On my\nomap3(32bit ARM) based box, can save 8bytes per device object)\n\nThis patch also introduces dev_set|get_uevent_suppress() helpers to\nset and query uevent_suppress attribute in case to help kobject\nas private part of struct device in future.\n\n[This version is against the latest driver-core patch set of Greg,please\nignore the last version.]\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "006f4571a15fae3a0575f2a0f9e9b63b3d1012f8",
      "tree": "22c2e30f830b0440032c1347b13bf96734a76022",
      "parents": [
        "e0edd3c65aa5b53e20280565a7ce11675eb7ed6b"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Sun Mar 08 23:13:32 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "driver core: move platform_data into platform_device\n\nThis patch moves platform_data from struct device into\nstruct platform_device, based on the two ideas:\n\n1. Now all platform_driver is registered by platform_driver_register,\n   which makes probe()/release()/... of platform_driver passed parameter\n   of platform_device *, so platform driver can get platform_data from\n   platform_device;\n\n2. Other kind of devices do not need to use platform_data, we can\n   decrease size of device if moving it to platform_device.\n\nTaking into consideration of thousands of files to be fixed and they\ncan\u0027t be finished in one night(maybe it will take a long time), so we\nkeep platform_data in device to allow two kind of cases coexist until\nall platform devices pass its platfrom data from\nplatform_device-\u003eplatform_data.\n\nAll patches to do this kind of conversion are welcome.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ae1b41715ee2aae356fbcca032838b71d70b855f",
      "tree": "d053c68c0d15a219d58298ebb020b8b6bcfcff8b",
      "parents": [
        "8940b4f312dced51b45004819b776ec3aa7fcd5d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 16 12:26:21 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "driver core: move knode_bus into private structure\n\nNothing outside of the driver core should ever touch knode_bus, so\nmove it out of the public eye.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8940b4f312dced51b45004819b776ec3aa7fcd5d",
      "tree": "f994df6952a12ad5a3b46762e8a53eaa99f215b6",
      "parents": [
        "f791b8c836307b58cbf62133a6a772ed1a92fb33"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 16 12:25:49 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "driver core: move knode_driver into private structure\n\nNothing outside of the driver core should ever touch knode_driver, so\nmove it out of the public eye.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f791b8c836307b58cbf62133a6a772ed1a92fb33",
      "tree": "db4e3eb6c7f90e43f4aa73009a14e285014b349a",
      "parents": [
        "fb069a5d132fb926ed17af3211a114ac7cf27d7a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 16 12:24:56 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "driver core: move klist_children into private structure\n\nNothing outside of the driver core should ever touch klist_children, or\nknode_parent, so move them out of the public eye.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fb069a5d132fb926ed17af3211a114ac7cf27d7a",
      "tree": "c104d9df7c83c27e3785265fb7412fd9332bc10a",
      "parents": [
        "b23530ebc339c4092ae2c9f37341a5398fea8b89"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 16 12:23:36 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "driver core: create a private portion of struct device\n\nThis is to be used to move things out of struct device that no code\noutside of the driver core should ever touch.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b23530ebc339c4092ae2c9f37341a5398fea8b89",
      "tree": "c8f45452c649273271ac292715d4a76baa5e9148",
      "parents": [
        "04256b4a8fc73f54cd14f20867882c299728a446"
      ],
      "author": {
        "name": "Ming Lei",
        "email": "tom.leiming@gmail.com",
        "time": "Sat Feb 21 16:45:07 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "driver core: remove polling for driver_probe_done(v5)\n\nThis patch removes 100ms polling for driver_probe_done in\nwait_for_device_probe(), and uses wait_event() instead.\nRemoving polling in fs initialization may lead to\na faster boot.\n\nThis patch also changes the return type of wait_for_device_done()\nfrom int to void.\n\nThis patch is against Arjan\u0027s patch in linux-next tree.\n\nSigned-off-by: Ming Lei \u003ctom.leiming@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nReviewed-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1fa5ae857bb14f6046205171d98506d8112dd74e",
      "tree": "218821345d2c9394bd6184bdb0cd0cb2f1f30d4c",
      "parents": [
        "6866ac9db02ac1ec71f2aa720a1019581f69a725"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Jan 25 15:17:37 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:23 2009 -0700"
      },
      "message": "driver core: get rid of struct device\u0027s bus_id string array\n\nNow that all users of bus_id is gone, we can remove it from struct\ndevice.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "216773a787c3c46ef26bf1742c1fdba37d26be45",
      "tree": "aac387553fd53cb0c06b5cc2ee86329ce793bed6",
      "parents": [
        "d2f8d7ee1a9b4650b4e43325b321801264f7c37a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Feb 14 01:59:06 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "Consolidate driver_probe_done() loops into one place\n\nthere\u0027s a few places that currently loop over driver_probe_done(), and\nI\u0027m about to add another one. This patch abstracts it into a helper\nto reduce duplication.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "926beadb3dfaddccb3348a5b9e6c2a1f8290a220",
      "tree": "97e2005e61e33635315eb7cfc991a8952a4d38f0",
      "parents": [
        "e2d4077678c7ec7661003c268120582adc544897"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 09 15:06:12 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 09 15:06:12 2009 -0800"
      },
      "message": "Revert \"driver core: create a private portion of struct device\"\n\nThis reverts commit 2831fe6f9cc4e16c103504ee09a47a084297c0f3.\n\nTurns out that device_initialize shouldn\u0027t fail silently.\nThis series needs to be reworked in order to get into proper\nshape.\n\nReported-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e2d4077678c7ec7661003c268120582adc544897",
      "tree": "73397637de1d8274ae3f908a9534634afc9ea903",
      "parents": [
        "cda5e83fdea476dce9c0a9b1152cd6ca46832cc4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 09 14:55:37 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 09 14:55:37 2009 -0800"
      },
      "message": "Revert \"driver core: move klist_children into private structure\"\n\nThis reverts commit 11c3b5c3e08f4d855cbef52883c266b9ab9df879.\n\nTurns out that device_initialize shouldn\u0027t fail silently.\nThis series needs to be reworked in order to get into proper\nshape.\n\nReported-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "cda5e83fdea476dce9c0a9b1152cd6ca46832cc4",
      "tree": "38095e8b88c8c163cb8b61e8f071d444752fad6b",
      "parents": [
        "4db8e282f2d1dfa43d51ce2a4817901312c9134d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 09 14:44:18 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 09 14:44:18 2009 -0800"
      },
      "message": "Revert \"driver core: move knode_driver into private structure\"\n\nThis reverts commit 93e746db183b3bdbbda67900f79b5835f9cb388f.\n\nTurns out that device_initialize shouldn\u0027t fail silently.\nThis series needs to be reworked in order to get into proper\nshape.\n\nReported-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4db8e282f2d1dfa43d51ce2a4817901312c9134d",
      "tree": "c2d2ee15e5d74186ad79220035b222df7c8330c5",
      "parents": [
        "73d59314e6ed268d6f322ae1bdd723b23fa5a4ed"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 09 14:32:46 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 09 14:32:46 2009 -0800"
      },
      "message": "Revert \"driver core: move knode_bus into private structure\"\n\nThis reverts commit b9daa99ee533578e3f88231e7a16784dcb44ec42.\n\nTurns out that device_initialize shouldn\u0027t fail silently.\nThis series needs to be reworked in order to get into proper\nshape.\n\nReported-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0aa0dc41bfd993491c2344870eee7a3b218551fb",
      "tree": "bf0896c7e0bb9f5b7e6253fc15c8846b6f188d08",
      "parents": [
        "7232800ba8aca1c070d43a81cc49991f230b5da1"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Mon Dec 15 12:58:26 2008 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:33 2009 -0800"
      },
      "message": "driver core: add root_device_register()\n\nAdd support for allocating root device objects which group\ndevice objects under /sys/devices directories.\n\nAlso add a sysfs \u0027module\u0027 symlink which points to the owner\nof the root device object. This symlink will be used in virtio\nto allow userspace to determine which virtio bus implementation\na given device is associated with.\n\n[Includes suggestions from Cornelia Huck]\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d0d85ff989222f08dd1fa66321fef5567bbc4a7b",
      "tree": "77af68b3dcd51d95c231025dcb3e4dd3bd21b285",
      "parents": [
        "b9daa99ee533578e3f88231e7a16784dcb44ec42"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Thu Dec 04 16:55:47 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:33 2009 -0800"
      },
      "message": "Make DEBUG take precedence over DYNAMIC_PRINTK_DEBUG\n\nStatically defined DEBUG should take precedence over\ndynamically enabled debugging; otherwise adding DEBUG\n(like, for example, via CONFIG_DEBUG_KOBJECT) does not\nhave the expected result of printing pr_debug() and dev_dbg()\nmessages unconditionally.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nAcked-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b9daa99ee533578e3f88231e7a16784dcb44ec42",
      "tree": "10f572ac695927866ec8293efdf4b937c11c4597",
      "parents": [
        "93e746db183b3bdbbda67900f79b5835f9cb388f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 16 12:26:21 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:33 2009 -0800"
      },
      "message": "driver core: move knode_bus into private structure\n\nNothing outside of the driver core should ever touch knode_bus, so\nmove it out of the public eye.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "93e746db183b3bdbbda67900f79b5835f9cb388f",
      "tree": "658cb2c8cac313b7e2cc94f914dac52996432c93",
      "parents": [
        "11c3b5c3e08f4d855cbef52883c266b9ab9df879"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 16 12:25:49 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:32 2009 -0800"
      },
      "message": "driver core: move knode_driver into private structure\n\nNothing outside of the driver core should ever touch knode_driver, so\nmove it out of the public eye.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "11c3b5c3e08f4d855cbef52883c266b9ab9df879",
      "tree": "43278db9cb198f3800eaa73c3c051d875c92709d",
      "parents": [
        "2831fe6f9cc4e16c103504ee09a47a084297c0f3"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 16 12:24:56 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:32 2009 -0800"
      },
      "message": "driver core: move klist_children into private structure\n\nNothing outside of the driver core should ever touch klist_children, or\nknode_parent, so move them out of the public eye.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2831fe6f9cc4e16c103504ee09a47a084297c0f3",
      "tree": "36869b2a4ad9dce0fb0812f44355233e907afa95",
      "parents": [
        "2e5ba26a483218b51b7b327fb235b348890aea15"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 16 12:23:36 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:32 2009 -0800"
      },
      "message": "driver core: create a private portion of struct device\n\nThis is to be used to move things out of struct device that no code\noutside of the driver core should ever touch.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "929d2fa5955ab27aa21fac615b23e0e92e8dc3a0",
      "tree": "7cca230fb8187f2b90543f89715581f4ad81ea77",
      "parents": [
        "7f4f5d4516b441d712fa0ffe5380618fb7fc545e"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Oct 16 15:51:35 2008 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:30 2009 -0800"
      },
      "message": "driver core: Rearrange struct device for better packing\n\nThis minor rearrangement saves 16 bytes from sizeof(struct device)\naccording to pahole.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "adf094931ffb25ef4b381559918f1a34181a5273",
      "tree": "bd343d4c15b21dff6a73359fd2d82ff77e30e0d4",
      "parents": [
        "238c6d54830c624f34ac9cf123ac04aebfca5013"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Oct 06 22:46:05 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:29 2009 -0800"
      },
      "message": "PM: Simplify the new suspend/hibernation framework for devices\n\nPM: Simplify the new suspend/hibernation framework for devices\n\nFollowing the discussion at the Kernel Summit, simplify the new\ndevice PM framework by merging \u0027struct pm_ops\u0027 and\n\u0027struct pm_ext_ops\u0027 and removing pointers to \u0027struct pm_ext_ops\u0027\nfrom \u0027struct platform_driver\u0027 and \u0027struct pci_driver\u0027.\n\nAfter this change, the suspend/hibernation callbacks will only\nreside in \u0027struct device_driver\u0027 as well as at the bus type/\ndevice class/device type level.  Accordingly, PCI and platform\ndevice drivers are now expected to put their suspend/hibernation\ncallbacks into the \u0027struct device_driver\u0027 embedded in\n\u0027struct pci_driver\u0027 or \u0027struct platform_driver\u0027, respectively.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7d1d8999b4bec0ba09f935e648a688bb25596d06",
      "tree": "31bdfc0e4d33e3311298c0f563bdfa58ff1a437c",
      "parents": [
        "d955cafb5c288aee4d71fc8759943e3f6cc9331d"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Wed Oct 22 20:21:31 2008 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Wed Oct 22 20:21:31 2008 +0200"
      },
      "message": "i2c: Constify i2c_get_clientdata\u0027s parameter\n\ni2c_get_clientdata doesn\u0027t change the i2c_client it is passed as a\nparameter, so it can be constified. Same for i2c_get_adapdata.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "99178b036c97293a65004ff5ec5cff9f833aaecd",
      "tree": "c83ac6855710038ad9846f79b952b7fdcca528f8",
      "parents": [
        "26853ab6f9a4c482be4b638477335704724d4854"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 26 11:00:57 2008 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:52 2008 -0700"
      },
      "message": "Driver core: add bus_sort_breadthfirst() function\n\nThe PCI core wants to reorder the devices in the bus list.  So move this\nfunctionality out of the pci core and into the driver core so that\nanyone else can also do this if needed.  This also lets us change how\nstruct device is attached to drivers in the future without messing with\nthe PCI core.\n\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e61396627f91abb855ddd8925be9172fb5871944",
      "tree": "c6a05c04a4ec4b8f554ff372f559316e92112244",
      "parents": [
        "b31ca3f5dfc89c3f1f654b30f0760d0e2fb15e45"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Sep 20 19:08:39 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:50 2008 -0700"
      },
      "message": "debug: Introduce a dev_WARN() function\n\nin the line of dev_printk(), this patch introduces a dev_WARN() function,\nthat takes a struct device and then a printk format/args set of arguments.\nUnlike dev_printk(), the effect is that of WARN() in that a full warning\nmessage (including filename/line, module list, versions and a backtrace)\nis printed in addition to the device name and the arguments.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "346e15beb5343c2eb8216d820f2ed8f150822b08",
      "tree": "6433cf2980bbfbed4a9482c5edb156fc8371e071",
      "parents": [
        "33376c1c043c05077b4ac79c33804266f6c45e49"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Tue Aug 12 16:46:19 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:47 2008 -0700"
      },
      "message": "driver core: basic infrastructure for per-module dynamic debug messages\n\nBase infrastructure to enable per-module debug messages.\n\nI\u0027ve introduced CONFIG_DYNAMIC_PRINTK_DEBUG, which when enabled centralizes\ncontrol of debugging statements on a per-module basis in one /proc file,\ncurrently, \u003cdebugfs\u003e/dynamic_printk/modules. When, CONFIG_DYNAMIC_PRINTK_DEBUG,\nis not set, debugging statements can still be enabled as before, often by\ndefining \u0027DEBUG\u0027 for the proper compilation unit. Thus, this patch set has no\naffect when CONFIG_DYNAMIC_PRINTK_DEBUG is not set.\n\nThe infrastructure currently ties into all pr_debug() and dev_dbg() calls. That\nis, if CONFIG_DYNAMIC_PRINTK_DEBUG is set, all pr_debug() and dev_dbg() calls\ncan be dynamically enabled/disabled on a per-module basis.\n\nFuture plans include extending this functionality to subsystems, that define \ntheir own debug levels and flags.\n\nUsage:\n\nDynamic debugging is controlled by the debugfs file, \n\u003cdebugfs\u003e/dynamic_printk/modules. This file contains a list of the modules that\ncan be enabled. The format of the file is as follows:\n\n\t\u003cmodule_name\u003e \u003cenabled\u003d0/1\u003e\n\t\t.\n\t\t.\n\t\t.\n\n\t\u003cmodule_name\u003e : Name of the module in which the debug call resides\n\t\u003cenabled\u003d0/1\u003e : whether the messages are enabled or not\n\nFor example:\n\n\tsnd_hda_intel enabled\u003d0\n\tfixup enabled\u003d1\n\tdriver enabled\u003d0\n\nEnable a module:\n\n\t$echo \"set enabled\u003d1 \u003cmodule_name\u003e\" \u003e dynamic_printk/modules\n\nDisable a module:\n\n\t$echo \"set enabled\u003d0 \u003cmodule_name\u003e\" \u003e dynamic_printk/modules\n\nEnable all modules:\n\n\t$echo \"set enabled\u003d1 all\" \u003e dynamic_printk/modules\n\nDisable all modules:\n\n\t$echo \"set enabled\u003d0 all\" \u003e dynamic_printk/modules\n\nFinally, passing \"dynamic_printk\" at the command line enables\ndebugging for all modules. This mode can be turned off via the above\ndisable command.\n\n[gkh: minor cleanups and tweaks to make the build work quietly]\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "7fb6b5d51daf3613045258ee8add07022d8c39d3",
      "tree": "16a30bc96df18f8ec77b087aada417bef41d8a44",
      "parents": [
        "3ee074bf432d24a92894397ac48ad2f2bb95efdc"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 20:03:34 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:45 2008 -0700"
      },
      "message": "device create: remove device_create_drvdata\n\nNow that the tree is cleaned up, device_create_drvdata can be safely\nremoved.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5a3ceb861663040f9ef0176df4aaa494bba5e352",
      "tree": "035472164252c3b54071f044c161b312b6bc8b44",
      "parents": [
        "a1ed5b0cffe4b16a93a6a3390e8cee0fbef94f86"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:50:19 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:04 2008 +0200"
      },
      "message": "driver-core: use klist for class device list and implement iterator\n\nIterating over entries using callback usually isn\u0027t too fun especially\nwhen the entry being iterated over can\u0027t be manipulated freely.  This\npatch converts class-\u003ep-\u003eclass_devices to klist and implements class\ndevice iterator so that the users can freely build their own control\nstructure.  The users are also free to call back into class code\nwithout worrying about locking.\n\nclass_for_each_device() and class_find_device() are converted to use\nthe new iterators, so their users don\u0027t have to worry about locking\nanymore either.\n\nNote: This depends on klist-dont-iterate-over-deleted-entries patch\nbecause class_intf-\u003eadd/remove_dev() depends on proper synchronization\nwith device removal.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c906a48adc74fc455378137ac5124b13e7030a15",
      "tree": "bcbbebf937f74e0e123517dd9d2c1742d61dd3fc",
      "parents": [
        "3b98aeaf3a75f544dc945694f4fcf6e1c4bab89d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 30 10:45:12 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 21 10:15:37 2008 -0700"
      },
      "message": "driver core: add init_name to struct device\n\nThis gives us a way to handle both the bus_id and init_name values being\nused for a while during the transition period.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "bf9ca69fc8d19d4034391d3df4c35dccdef9d28c",
      "tree": "795984a46805dfea4d7975b0cf298d75c894df88",
      "parents": [
        "26d02d1db7d84729b1e49789341e69a493c60ceb"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Wed Jul 30 12:29:21 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 21 10:15:36 2008 -0700"
      },
      "message": "dev_printk(): constify the `dev\u0027 argument\n\nAdd const markings to dev_name and dev_driver_string to make it clear that\ndev_printk doesn\u0027t modify dev.  This is a prerequisite to adding more\nconst markings to other functions make it clearer, which functions can\nmodify dev and which can\u0027t.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b98cb4b7fe0e83238501b48489e46b3e0dce9aaf",
      "tree": "236fe1b938c4372520c93a39595fef85937b83c2",
      "parents": [
        "ca52a49846f1451163c0dc14c40cd06ff808df3e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 02 06:02:41 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:53 2008 -0700"
      },
      "message": "driver core: remove DEVICE_ID_SIZE define\n\nThere is no such thing as a \"device id size\" in the driver core, so\nremove the define and fix up any users of this odd define in the rest of\nthe kernel.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ca52a49846f1451163c0dc14c40cd06ff808df3e",
      "tree": "88a3edfad7c5db3394657c2a5ce943d44e442e05",
      "parents": [
        "aab0de245150c09e61c30962feb16aacde508dc3"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri May 02 06:02:41 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:53 2008 -0700"
      },
      "message": "driver core: remove DEVICE_NAME_SIZE define\n\nThere is no such thing as a \"device name size\" in the driver core, so\nremove the define and fix up any users of this odd define in the rest of\nthe kernel.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "aab0de245150c09e61c30962feb16aacde508dc3",
      "tree": "cd9cfa1e2c09aeb4cdeee605efa45fef90f0d38a",
      "parents": [
        "f75b1c60fc1e53c4004a79ea0be071aa3318cdcc"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri May 02 06:02:41 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:52 2008 -0700"
      },
      "message": "driver core: remove KOBJ_NAME_LEN define\n\nKobjects do not have a limit in name size since a while, so stop\npretending that they do.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d2a3b9146e4f40c2e872d7567c996ef95083d802",
      "tree": "c95bd0a155e1c868fcaffeb0949dd3441203f72a",
      "parents": [
        "1e41250863cd4de5ffa0678c405d001ca5b62796"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Wed May 28 09:28:39 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:52 2008 -0700"
      },
      "message": "class: add lockdep infrastructure\n\nThis adds the infrastructure to properly handle lockdep issues when the\ninternal class semaphore is changed to a mutex.\n\nMatthew wrote the original patch, and Greg fixed it up to work properly\nwith the class_create() function.\n\n\nFrom: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7c71448b8aa80123fc521563d5f7c63a099d97ab",
      "tree": "2605e4ce90c6ee0201eae83dc9b612321564feb7",
      "parents": [
        "16be63fd1670000b96b76cb55b6f1bead21b4c4b"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 22 18:17:41 2008 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:51 2008 -0700"
      },
      "message": "class: move driver core specific parts to a private structure\n\nThis moves the portions of struct class that are dynamic (kobject and\nlock and lists) out of the main structure and into a dynamic, private,\nstructure.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "695794ae0c5bdd9bd06e35b118801e2e9be04f9e",
      "tree": "71011d17230e67798c6e474ffac10cb93d72919e",
      "parents": [
        "93562b537659fc0f63920fd4d9d24f54e434f4c4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 22 17:21:08 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:47 2008 -0700"
      },
      "message": "Driver Core: add ability for class_find_device to start in middle of list\n\nThis mirrors the functionality that driver_find_device has as well.\n\nWe add a start variable, and all callers of the function are fixed up at\nthe same time.\n\nThe block layer will be using this new functionality in a follow-on\npatch.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "93562b537659fc0f63920fd4d9d24f54e434f4c4",
      "tree": "6b7678f91af838f0c1fb85105b68b6c7f7e027e0",
      "parents": [
        "4e10673944a5c386378ff9d692ae37e19993f9d5"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 22 17:21:08 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:47 2008 -0700"
      },
      "message": "Driver Core: add ability for class_for_each_device to start in middle of list\n\nThis mirrors the functionality that driver_for_each_device has as well.\n\nWe add a start variable, and all callers of the function are fixed up at\nthe same time.\n\nThe block layer will be using this new functionality in a follow-on\npatch.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4e10673944a5c386378ff9d692ae37e19993f9d5",
      "tree": "2b63ac2f30869d140d56279e55228c97fcf277c8",
      "parents": [
        "ccea44fadca396b0f89aed5bdeb60e4abb212566"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 20:03:34 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:47 2008 -0700"
      },
      "message": "device create: convert device_create_drvdata to device_create\n\nNow that device_create() has been audited, rename things back to the\noriginal call to be sane.\n\nKeep the device_create_drvdata macro around to make merges easier.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ccea44fadca396b0f89aed5bdeb60e4abb212566",
      "tree": "0babd82c934836b5499ec0ed663c708592a8a6ae",
      "parents": [
        "3bfd49c8ab1859ae0f5fa1df2b3781c99115f442"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 21 12:52:33 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:47 2008 -0700"
      },
      "message": "driver core: remove device_create()\n\nThere are no more users of this, and it is racy.  Use\ndevice_create_drvdata() or device_create_vargs() instead.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e105b8bfc769b0545b6f0f395179d1e43cbee822",
      "tree": "23a1f0839547829c4ca6e89cd40adf285eb9feb6",
      "parents": [
        "93ded9b8fd42abe2c3607097963d8de6ad9117eb"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Apr 21 10:51:07 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:40 2008 -0700"
      },
      "message": "sysfs: add /sys/dev/{char,block} to lookup sysfs path by major:minor\n\nWhy?:\nThere are occasions where userspace would like to access sysfs\nattributes for a device but it may not know how sysfs has named the\ndevice or the path.  For example what is the sysfs path for\n/dev/disk/by-id/ata-ST3160827AS_5MT004CK?  With this change a call to\nstat(2) returns the major:minor then userspace can see that\n/sys/dev/block/8:32 links to /sys/block/sdc.\n\nWhat are the alternatives?:\n1/ Add an ioctl to return the path: Doable, but sysfs is meant to reduce\n   the need to proliferate ioctl interfaces into the kernel, so this\n   seems counter productive.\n\n2/ Use udev to create these symlinks: Also doable, but it adds a\n   udev dependency to utilities that might be running in a limited\n   environment like an initramfs.\n\n3/ Do a full-tree search of sysfs.\n\n[kay.sievers@vrfy.org: fix duplicate registrations]\n[kay.sievers@vrfy.org: cleanup suggestions]\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nReviewed-by: SL Baur \u003csteve@xemacs.org\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Mark Lord \u003clkml@rtr.ca\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1eede070a59e1cc73da51e1aaa00d9ab86572cfc",
      "tree": "eafccca4f2a1ae2e8ebb06d2dff9528d5a289da4",
      "parents": [
        "bb71ad880204b79d60331d3384103976e086cb9f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 20 23:00:01 2008 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jun 10 10:59:50 2008 -0700"
      },
      "message": "Introduce new top level suspend and hibernation callbacks\n\nIntroduce \u0027struct pm_ops\u0027 and \u0027struct pm_ext_ops\u0027 (\u0027ext\u0027 meaning\n\u0027extended\u0027) representing suspend and hibernation operations for bus\ntypes, device classes, device types and device drivers.\n\nModify the PM core to use \u0027struct pm_ops\u0027 and \u0027struct pm_ext_ops\u0027\nobjects, if defined, instead of the -\u003esuspend(), -\u003eresume(),\n-\u003esuspend_late(), and -\u003eresume_early() callbacks (the old callbacks\nwill be considered as legacy and gradually phased out).\n\nThe main purpose of doing this is to separate suspend (aka S2RAM and\nstandby) callbacks from hibernation callbacks in such a way that the\nnew callbacks won\u0027t take arguments and the semantics of each of them\nwill be clearly specified.  This has been requested for multiple\ntimes by many people, including Linus himself, and the reason is that\nwithin the current scheme if -\u003eresume() is called, for example, it\u0027s\ndifficult to say why it\u0027s been called (ie. is it a resume from RAM or\nfrom hibernation or a suspend/hibernation failure etc.?).\n\nThe second purpose is to make the suspend/hibernation callbacks more\nflexible so that device drivers can handle more than they can within\nthe current scheme.  For example, some drivers may need to prevent\nnew children of the device from being registered before their\n-\u003esuspend() callbacks are executed or they may want to carry out some\noperations requiring the availability of some other devices, not\ndirectly bound via the parent-child relationship, in order to prepare\nfor the execution of -\u003esuspend(), etc.\n\nUltimately, we\u0027d like to stop using the freezing of tasks for suspend\nand therefore the drivers\u0027 suspend/hibernation code will have to take\ncare of the handling of the user space during suspend/hibernation.\nThat, in turn, would be difficult within the current scheme, without\nthe new -\u003eprepare() and -\u003ecomplete() callbacks.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "413c239fad68258157f903b3ffd9bfcc53f5e34b",
      "tree": "7508df475d5f1ab505e27e98573953c1e394f0c6",
      "parents": [
        "0a2ce2ffc358da96792d514c1024b72c52be9cc1"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Fri May 30 10:16:40 2008 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 29 21:10:01 2008 -0700"
      },
      "message": "driver-core: prepare for 2.6.27 api change by adding dev_set_name\n\nCreate the dev_set_name function now so that various subsystems can\nstart changing over to it before other changes in 2.6.27 will make it\ncompulsory.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8882b39421bae317e3ee864edd845e994307ce16",
      "tree": "cef24e2a04ad6716d37af2fabfe5f0a72dfe44b7",
      "parents": [
        "c110a2bd82676a8f124cf4dfc39339fd366f0e59"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 15 13:44:08 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 20 13:31:53 2008 -0700"
      },
      "message": "Driver core: add device_create_vargs and device_create_drvdata\n\nWe want to have the drvdata field set properly when creating the device\nas sysfs callbacks can assume it is present and it can race the later\nsetting of this field.\n\nSo, create two new functions, deviec_create_vargs() and\ndevice_create_drvdata() that take this new field.\n\ndevice_create_drvdata() will go away in 2.6.27 as the drvdata field will\njust be moved to the device_create() call as it should be.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0a3ad00ca09632c6d0675f606276e92bdf1b306c",
      "tree": "a164d56118136d8f53be9f64afa41dc42fb7ad93",
      "parents": [
        "30f2f0eb4bd2c43d10a8b0d872c6e5ad8f31c9a0"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Fri May 09 15:24:08 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 14 10:37:58 2008 -0700"
      },
      "message": "Driver core: struct class remove children list\n\nbecause of the class_device was removed, now do the children list removing\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "06916639e2fed9ee475efef2747a1b7429f8fe76",
      "tree": "e3ae286fe04886b83808337c60ab19c5eb2f97c0",
      "parents": [
        "886c35fbcf6fb2eee15687efc2d64d99b6ad9a4a"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri May 02 06:02:41 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 02 10:12:28 2008 -0700"
      },
      "message": "driver-core: add dev_name() to help transition away from using bus_id\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c3b19ff06e0808555403491d61e8f0cbbb53e933",
      "tree": "04fbb1a3a6944aa32d306f72cc8ca16d2446ba9a",
      "parents": [
        "4356d73d028ad0726cfaf31ad30c5d28fcd98795"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Mar 12 20:47:35 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Apr 30 16:52:49 2008 -0700"
      },
      "message": "driver core: remove no longer used \"struct class_device\"\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e80ab411e589e00550e2e6e5a6a02d59cc730357",
      "tree": "870225ff7b5b8d03e82a996963213a4bb9cce248",
      "parents": [
        "529a41e36673b518c9e091f3a8d932b6b9e3c461",
        "ee959b00c335d7780136c5abda37809191fe52c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:49:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 21 15:49:58 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: (36 commits)\n  SCSI: convert struct class_device to struct device\n  DRM: remove unused dev_class\n  IB: rename \"dev\" to \"srp_dev\" in srp_host structure\n  IB: convert struct class_device to struct device\n  memstick: convert struct class_device to struct device\n  driver core: replace remaining __FUNCTION__ occurrences\n  sysfs: refill attribute buffer when reading from offset 0\n  PM: Remove destroy_suspended_device()\n  Firmware: add iSCSI iBFT Support\n  PM: Remove legacy PM (fix)\n  Kobject: Replace list_for_each() with list_for_each_entry().\n  SYSFS: Explicitly include required header file slab.h.\n  Driver core: make device_is_registered() work for class devices\n  PM: Convert wakeup flag accessors to inline functions\n  PM: Make wakeup flags available whenever CONFIG_PM is set\n  PM: Fix misuse of wakeup flag accessors in serial core\n  Driver core: Call device_pm_add() after bus_add_device() in device_add()\n  PM: Handle device registrations during suspend/resume\n  block: send disk \"change\" event for rescan_partitions()\n  sysdev: detect multiple driver registrations\n  ...\n\nFixed trivial conflict in include/linux/memory.h due to semaphore header\nfile change (made irrelevant by the change to mutex).\n"
    },
    {
      "commit": "b844eba292b477cda14582bfc6f535deed57a82d",
      "tree": "b2418a9a4fc672654f4592ae0a3e2853d82271c3",
      "parents": [
        "138fe4e069798d9aa948a5402ff15e58f483ee4e"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Mar 23 20:28:24 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:28 2008 -0700"
      },
      "message": "PM: Remove destroy_suspended_device()\n\nAfter 2.6.24 there was a plan to make the PM core acquire all device\nsemaphores during a suspend/hibernation to protect itself from\nconcurrent operations involving device objects.  That proved to be\ntoo heavy-handed and we found a better way to achieve the goal, but\nbefore it happened, we had introduced the functions\ndevice_pm_schedule_removal() and destroy_suspended_device() to allow\ndrivers to \"safely\" destroy a suspended device and we had adapted some\ndrivers to use them.  Now that these functions are no longer necessary,\nit seems reasonable to remove them and modify their users to use the\nnormal device unregistration instead.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3f62e5700b2a679ae987b32a68126dd6dcf2488f",
      "tree": "4f8eda958d328b6fc068409c0fb464bc7c21266b",
      "parents": [
        "9a3df1f7de0ecaf77a1dde86f2a4dc020f37f87e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Mar 13 17:07:03 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:26 2008 -0700"
      },
      "message": "Driver core: make device_is_registered() work for class devices\n\ndevice_is_registered() can use the kobject value for this, so it will\nnow work with devices that are associated with only a class, not a bus\nand a driver.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9a3df1f7de0ecaf77a1dde86f2a4dc020f37f87e",
      "tree": "599a884cf4b42c516226c0f845cd32d0295b74ed",
      "parents": [
        "d288e47c471e1090e80c62ad95882fafbf3f499d"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Mar 19 22:39:13 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:26 2008 -0700"
      },
      "message": "PM: Convert wakeup flag accessors to inline functions\n\nThis patch (as1058) improves the wakeup macros in include/linux/pm.h.\nAll but the trivial ones are converted to inline routines, which\nrequires moving them to a separate header file since they depend on\nthe definition of struct device.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1429db83e276c2a16c7ea83bdcf0dcd3a36e406d",
      "tree": "e3960d6e7c19f5c29accbf5db11edb93d2cea28f",
      "parents": [
        "00a41db522c77af33ea5ee9837d4f043ce150249"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Feb 26 19:08:42 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:19 2008 -0700"
      },
      "message": "driver core: Convert debug functions declared inline __attribute__((format (printf,x,y) to statement expression macros\n\nWhen DEBUG is not defined, pr_debug and dev_dbg and some\nother local debugging functions are specified as:\n\n\"inline __attribute__((format (printf, x, y)))\"\n\nThis is done to validate printk arguments when not debugging.\n\nConverting these functions to macros or statement expressions\n\"do { if (0) printk(fmt, ##arg); } while (0)\"\nor\n\"({ if (0) printk(fmt, ##arg); 0; })\nmakes at least gcc 4.2.2 produce smaller objects.\n\nThis has the additional benefit of allowing the optimizer to\navoid calling functions like print_mac that might have been\narguments to the printk.\n\ndefconfig x86 current:\n\n$ size vmlinux\n   text    data     bss     dec     hex filename\n4716770  474560  618496 5809826  58a6a2 vmlinux\n\nall converted: (More patches follow)\n\n$ size vmlinux\n   text    data     bss     dec     hex filename\n4716642  474560  618496 5809698  58a622 vmlinux\n\nEven kernel/sched.o, which doesn\u0027t even use these\nfunctions, becomes smaller.\n\nIt appears that merely having an indirect include\nof \u003clinux/device.h\u003e can cause bigger objects.\n\n$ size sched.inline.o sched.if0.o\n   text    data     bss     dec     hex filename\n  31385    2854     328   34567    8707 sched.inline.o\n  31366    2854     328   34548    86f4 sched.if0.o\n\nThe current preprocessed only kernel/sched.i file contains:\n\n# 612 \"include/linux/device.h\"\nstatic inline __attribute__((always_inline)) int __attribute__ ((format (printf, 2, 3)))\ndev_dbg(struct device *dev, const char *fmt, ...)\n{\n return 0;\n}\n# 628 \"include/linux/device.h\"\nstatic inline __attribute__((always_inline)) int __attribute__ ((format (printf, 2, 3)))\ndev_vdbg(struct device *dev, const char *fmt, ...)\n{\n return 0;\n}\n\nRemoving these unused inlines from sched.i shrinks sched.o\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6188e10d38b8d7244ee7776d5f1f88c837b4b93f",
      "tree": "6675e02c47fb684a613e10513816b5dcc5de28a9",
      "parents": [
        "d7b1acd3b524b39f418e463e836b48ac041954d6"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Fri Apr 18 22:21:05 2008 -0400"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:22:54 2008 -0400"
      },
      "message": "Convert asm/semaphore.h users to linux/semaphore.h\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "6b7b651055221127304a4e373ee9b762398d54d7",
      "tree": "06a8383d5d20011a5ffe04b4e78234a8fcc98f51",
      "parents": [
        "7bbdc3d51cf793dd81c38f794f4cb73df58d1527"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Mon Feb 04 22:27:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:10 2008 -0800"
      },
      "message": "iommu sg merging: add device_dma_parameters structure\n\nIOMMUs merges scatter/gather segments without considering a low level\ndriver\u0027s restrictions. The problem is that IOMMUs can\u0027t access to the\nlimitations because they are in request_queue.\n\nThis patchset introduces a new structure, device_dma_parameters,\nincluding dma information. A pointer to device_dma_parameters is added\nto struct device. The bus specific structures (like pci_dev) includes\ndevice_dma_parameters. Low level drivers can use dma_set_max_seg_size\nto tell IOMMUs about the restrictions.\n\nWe can move more dma stuff in struct device (like dma_mask) to struct\ndevice_dma_parameters later (needs some cleanups before that).\n\nThis includes patches for all the IOMMUs that could merge sg (x86_64,\nppc, IA64, alpha, sparc64, and parisc) though only the ppc patch was\ntested. The patches for other IOMMUs are only compile tested.\n\nThis patch:\n\nAdd a new structure, device_dma_parameters, including dma information.  A\npointer to device_dma_parameters is added to struct device.\n\n- there are only max_segment_size and segment_boundary_mask there but we\u0027ll\n  move more dma stuff in struct device (like dma_mask) to struct\n  device_dma_parameters later.  segment_boundary_mask is not supported yet.\n\n- new accessors for the dma parameters are added.  So we can easily change\n  where to place struct device_dma_parameters in the future.\n\n- dma_get_max_seg_size returns 64K if dma_parms in struct device isn\u0027t set\n  up properly.  64K is the default max_segment_size in the block layer.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9617c3e460bbccb6d9496a1f1e6903eb81f336e9",
      "tree": "b77a19e6b082365c74bf0f1b3ee3909bbbf7f4cc",
      "parents": [
        "18bbe0c26ccb7445d19465b0d3585d23445307f1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jan 25 01:30:25 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Feb 02 15:14:48 2008 -0800"
      },
      "message": "PM: Export device_pm_schedule_removal\n\nMove the declaration of device_pm_schedule_removal() to device.h\nand make it exported, as it will be used directly by some drivers\nfor unregistering device objects during suspend/resume cycles in a\nsafe way.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1f9ffc049d7a88c8489b883b6fc0a25185062002",
      "tree": "0dddb114d2de5f380ab055c039da0549adb42b12",
      "parents": [
        "123ca9575b1f5342c05a4b84d6af8ba7587c2981"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jan 27 10:29:20 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jan 27 15:01:39 2008 -0800"
      },
      "message": "Driver core: add bus_find_device_by_name function\n\nThe driver core, and some other parts of the kernel just want to find a\ndevice based on a name for a specific bus.  Give them a simple wrapper\nto prevent them from having to always roll their own.\n\nThis will be used in the PPC patch later in this series.\n\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d462943afee8bff610258a82dba666e8ab72c9c8",
      "tree": "9046b34170b01ca0a134be0e7ad498f97611e121",
      "parents": [
        "5ed2c832ed256b18d90c2462369c62fd79312e6c"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 21:04:46 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 21:04:46 2008 -0800"
      },
      "message": "Driver core: fix coding style issues in device.h\n\nFinally clean up the odd spaces and other mess in device.h\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fd04897bb20be29d60f7e426a053545aebeaa61a",
      "tree": "7cd86b2d9de79a70bdeb32997240af5e28be6d03",
      "parents": [
        "63b6971a0876b744e2fcf3c9df15d130501e1deb"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Jan 22 15:27:08 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:44 2008 -0800"
      },
      "message": "Driver Core: add class iteration api\n\nAdd the following class iteration functions for driver use:\n\tclass_for_each_device\n\tclass_find_device\n\tclass_for_each_child\n\tclass_find_child\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "e5dd12784617f0f1fae5f96a7fac1ec4c49fadbe",
      "tree": "c81e2a2f3aa1c60b92951d398774f1391bdc6a1c",
      "parents": [
        "c63469a3985a9771c18a916b8d42845d044ea0b1"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Nov 28 15:59:15 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:35 2008 -0800"
      },
      "message": "Driver core: move the static kobject out of struct driver\n\nThis patch removes the kobject, and a few other driver-core-only fields\nout of struct driver and into the driver core only.  Now drivers can be\nsafely create on the stack or statically (like they currently are.)\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cbe9c595f1de2e2a98403be2c14bfbc2486e84c4",
      "tree": "c3e3a30bb18e1597dda4bc28c11c3add049e1e02",
      "parents": [
        "23b9c1ab5baf368a32b7242bf110ef1f48700d04"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 19 15:54:39 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:34 2008 -0800"
      },
      "message": "Driver: add driver_add_kobj for looney iseries_veth driver\n\nThe iseries driver wants to hang kobjects off of its driver, so, to\npreserve backwards compatibility, we need to add a call to the driver\ncore to allow future changes to work properly.\n\nHopefully no one uses this function in the future and the iseries_veth\ndriver authors come to their senses so I can remove this hack...\n\nCc: Dave Larson \u003clarson1@us.ibm.com\u003e\nCc: Santiago Leon \u003csantil@us.ibm.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "57c745340a60c51d2b9af3d4dcf7e0ede284855b",
      "tree": "92640edef147d32663807207c0c0604e228949e7",
      "parents": [
        "2b937303188807b498d1a3163f60305f0941538e"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Wed Dec 05 12:50:23 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:34 2008 -0800"
      },
      "message": "driver core: Introduce default attribute groups.\n\nThis is lot like default attributes for devices (and indeed,\na lot of the code is lifted from there).\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c6f7e72a3f4641095ade9ded287d910c980c6148",
      "tree": "d2d7d946b978ce9f5586a02c3520aa76e928a551",
      "parents": [
        "b249072ee6897fe4f8d461c7bb4b926223263c28"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 19:41:16 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:33 2008 -0800"
      },
      "message": "driver core: remove fields from struct bus_type\n\nstruct bus_type is static everywhere in the kernel.  This moves the\nkobject in the structure out of it, and a bunch of other private only to\nthe driver core fields are now moved to a private structure.  This lets\nus dynamically create the backing kobject properly and gives us the\nchance to be able to document to users exactly how to use the struct\nbus_type as there are no fields they can improperly access.\n\nThanks to Kay for the build fixes on this patch.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b249072ee6897fe4f8d461c7bb4b926223263c28",
      "tree": "a6dde5703458677302516145c47f308e52cda189",
      "parents": [
        "0fed80f7a63abd7168907267af69ee31f6bcf301"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 19:41:16 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:33 2008 -0800"
      },
      "message": "driver core: add way to get to bus device klist\n\nThis allows an easier way to get to the device klist associated with a\nstruct bus_type (you have three to choose from...)  This will make it\neasier to move these fields to be dynamic in a future patch.\n\nThe only user of this is the PCI core which horribly abuses this\ninterface to rearrange the order of the pci devices.  This should be\ndone using the existing bus device walking functions, but that\u0027s left\nfor future patches.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0fed80f7a63abd7168907267af69ee31f6bcf301",
      "tree": "2380e2180aa01d883a5c2a2a0528c40f36d23d91",
      "parents": [
        "cc972e896b303f453f5893ecf8eca0d0e395ab64"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 19:41:16 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:33 2008 -0800"
      },
      "message": "driver core: add way to get to bus kset\n\nThis allows an easier way to get to the kset associated with a struct\nbus_type (you have three to choose from...)  This will make it easier to\nmove these fields to be dynamic in a future patch.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cc972e896b303f453f5893ecf8eca0d0e395ab64",
      "tree": "66eb0b8ce2046625c551d45f0f2d69f6b8821a5b",
      "parents": [
        "e32cc7366d88eeba12d22272a73dd83fb570ccb0"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 13:31:26 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:31 2008 -0800"
      },
      "message": "driver core: remove owner field from struct bus_type\n\nThis isn\u0027t used by anything in the driver core, and by no one in the 204\ndifferent usages of it in the kernel tree.  Remove this field so no one\ngets any idea that it is needed to be used.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "15f2f9b3a9db65aaf908fe7ee17bbe262ae3550f",
      "tree": "a0553775a92887b82aa2869535f2d832344e2c42",
      "parents": [
        "99e0d2fc6c60ca44f56203eeda9fc0e07b508f06"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 02 16:19:59 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:23 2008 -0800"
      },
      "message": "firmware: remove firmware_(un)register()\n\nThese functions are no longer called or needed, so we can remove them.\n\nAs I rewrote the whole firmware.c file, add my copyright.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6dcec2511ff55b4abaca7ad3433011a7c04c2430",
      "tree": "aeb9c18a877987478a1594d42b8f041ebb388875",
      "parents": [
        "3d8995963dfec66ef6270e729bf75903e9043f9d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 13:31:26 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:16 2008 -0800"
      },
      "message": "kset: convert struct bus_device-\u003edrivers to use kset_create\n\nDynamically create the kset instead of declaring it statically.\n\nHaving 3 static kobjects in one structure is not only foolish, but ripe\nfor nasty race conditions if handled improperly.  We also rename the\nfield to catch any potential users of it (not that there should be\noutside of the driver core...)\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3d8995963dfec66ef6270e729bf75903e9043f9d",
      "tree": "3abf600f400fb1bbc26f0be4f43af6cb22d24ce4",
      "parents": [
        "039a5dcd2fc45188a2d522df630db4f7ef903a0f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 13:31:26 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:16 2008 -0800"
      },
      "message": "kset: convert struct bus_device-\u003edevices to use kset_create\n\nDynamically create the kset instead of declaring it statically.\n\nHaving 3 static kobjects in one structure is not only foolish, but ripe\nfor nasty race conditions if handled improperly.  We also rename the\nfield to catch any potential users of it (not that there should be\noutside of the driver core...)\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7b8712e563df4fefc25d3107fa3fb3abb7331ff4",
      "tree": "bf82403231e24461e9168af38d38c8a53e6b2c36",
      "parents": [
        "30a468b1c1b9911ae515ff8972ee10c50cca3021"
      ],
      "author": {
        "name": "Emil Medve",
        "email": "Emilian.Medve@Freescale.com",
        "time": "Tue Oct 30 14:37:14 2007 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:08 2008 -0800"
      },
      "message": "driver core: Make the dev_*() family of macros in device.h complete\n\nRemoved duplicates defined elsewhere\n\nSigned-off-by: Emil Medve \u003cEmilian.Medve@Freescale.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "775b64d2b6ca37697de925f70799c710aab5849a",
      "tree": "09e91c89228c8d3c6928a1b2ef56711190c69836",
      "parents": [
        "7a83d456a86d559a6347115d206d23774bc152d9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 12 20:40:46 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:04 2008 -0800"
      },
      "message": "PM: Acquire device locks on suspend\n\nThis patch reorganizes the way suspend and resume notifications are\nsent to drivers.  The major changes are that now the PM core acquires\nevery device semaphore before calling the methods, and calls to\ndevice_add() during suspends will fail, while calls to device_del()\nduring suspends will block.\n\nIt also provides a way to safely remove a suspended device with the\nhelp of the PM core, by using the device_pm_schedule_removal() callback\nintroduced specifically for this purpose, and updates two drivers (msr\nand cpuid) that need to use it.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d919fd433b5823d1cf9d0688eb2eec183de9b74c",
      "tree": "037cac29c344e0a2009a241d2168825f399b600a",
      "parents": [
        "5307cc1aa53850f017c8053db034cf950b670ac9"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 31 12:51:29 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 31 12:51:29 2007 -0700"
      },
      "message": "Revert \"Driver core: remove class_device_*_bin_file\"\n\nThis reverts commit fcd239d3d5575e5cc63aab5c33cf6dc66904f6d6.\n\nI messed up, ia64 still uses these files in the current tree, and now\ncan not build the pci code, which all ia64 boxes seem to require :)\n\nThis fixes that mistake.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fcd239d3d5575e5cc63aab5c33cf6dc66904f6d6",
      "tree": "346728fb9798b588af49c65efd7d095af07b55ea",
      "parents": [
        "e403149c92a2a0643211debbbb0a9ec7cc04cff7"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Oct 17 15:52:43 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 30 21:52:33 2007 -0700"
      },
      "message": "Driver core: remove class_device_*_bin_file\n\nThese functions are not used by anyone, so remove them from the tree.\n\nThe class_device code will be removed soon anyway, so no future users\nwill ever be possible.\n\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "7eff2e7a8b65c25920207324e56611150eb1cd9a",
      "tree": "02a0eeba9d25d996233e30c18f258dfae0ae2139",
      "parents": [
        "8380770c842faef3001e44662953d64ad9a93663"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Aug 14 15:15:12 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:01 2007 -0700"
      },
      "message": "Driver core: change add_uevent_var to use a struct\n\nThis changes the uevent buffer functions to use a struct instead of a\nlong list of parameters. It does no longer require the caller to do the\nproper buffer termination and size accounting, which is currently wrong\nin some places. It fixes a known bug where parts of the uevent\nenvironment are overwritten because of wrong index calculations.\n\nMany thanks to Mathieu Desnoyers for finding bugs and improving the\nerror handling.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "8380770c842faef3001e44662953d64ad9a93663",
      "tree": "631ce7dae6fe0edb36942e6165f679638f6beb68",
      "parents": [
        "3b6662f192fc521b9657f63e68d20ec99979dae6"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon Jul 30 02:28:56 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:50:59 2007 -0700"
      },
      "message": "Driver core: make sysfs uevent-attributes static\n\nAttributes do not have an owner(module) anymore, so there is no need\nto carry the attributes in every single bus instance.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "58b3b71dfaaecbf7cff1fe10c049d663f0313e5f",
      "tree": "38f34ce39e1c93d6d54730ead4e414a5070e3b45",
      "parents": [
        "602033ed5907a59ce86f709082a35be047743a86"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jul 26 16:29:55 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 12:13:06 2007 -0700"
      },
      "message": "Fix ThinkPad T42 poweroff failure introduced by by \"PM: Introduce pm_power_off_prepare\"\n\nCommit bd804eba1c8597cbb7cd5a5f9fe886aae16a079a (\"PM: Introduce\npm_power_off_prepare\") caused problems in the poweroff path, as reported by\nYOSHIFUJI Hideaki / 吉藤英明.\n\nGenerally, sysdev_shutdown() should be called after the ACPI preparation for\npowering the system off.  To make it happen, we can separate sysdev_shutdown()\nfrom device_shutdown() and call it directly wherever necessary.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-by: YOSHIFUJI Hideaki / 吉藤英明 \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aebdc3b450a3febf7d7d00cd2235509055ec7082",
      "tree": "3e9d53857d610d2b7eab3e2cce3cae2220202f52",
      "parents": [
        "bc37e2830339cbfa42ac8579a7bf62fc4cdd360d"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Thu Jul 12 22:08:22 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:49:50 2007 -0700"
      },
      "message": "dev_vdbg(), available with -DVERBOSE_DEBUG\n\nThis defines a dev_vdbg() call, which is enabled with -DVERBOSE_DEBUG.\nWhen enabled, dev_vdbg() acts just like dev_dbg().  When disabled, it is a\nNOP ...  just like dev_dbg() without -DDEBUG.  The specific code was moved\nout of a USB patch, but lots of drivers have similar support.\n\nThat is, code can now be written to use an additional level of debug\noutput, selected at compile time.  Many driver authors have found this\nidiom to be very useful.  A typical usage model is for \"normal\" debug\nmessages to focus on fault paths and not be very \"chatty\", so that those\nmessages can be left on during normal operation without much of a\nperformance or syslog load.  On the other hand \"verbose\" messages would be\nnoisy enough that they wouldn\u0027t normally be enabled; they might even affect\ntimings enough to change system or driver behavior.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ad6a1e1c66009ba9dcd2f5c90ffa1fb4ce72fce0",
      "tree": "260f2a1707246998ba6f83ac1fa5a518626bbb1e",
      "parents": [
        "7b595756ec1f49e0049a9e01a1298d53a7faaa15"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Thu Jun 14 03:45:17 2007 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:06 2007 -0700"
      },
      "message": "driver-core: make devt_attr and uevent_attr static\n\ndevt_attr and uevent_attr are either allocated dynamically with or\nembedded in device and class_device as they needed their owner field\nset to the module implementing the driver.  Now that sysfs implements\nimmediate disconnect and owner field removed from struct attribute,\nthere is no reason to do this.  Remove these attributes from\n[class_]device and use static attribute structures instead.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "49a4ec188f9a96c9a5567956718213d38a456a19",
      "tree": "29ac9f610ed355b3e3f752206c03180054df9bd7",
      "parents": [
        "eb81d93046e7de51d47b8f1303d80e6f51ac9e33"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 08 00:29:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:10 2007 -0700"
      },
      "message": "fix hotplug for legacy platform drivers\n\nWe\u0027ve had various reports of some legacy \"probe the hardware\" style\nplatform drivers having nasty problems with hotplug support.\n\nThe core issue is that those legacy drivers don\u0027t fully conform to the\ndriver model.  They assume a role that should be the responsibility of\ninfrastructure code: creating device nodes.\n\nThe \"modprobe\" step in hotplugging relies on drivers to have split those\nroles into different modules.  The lack of this split causes the problems.\nWhen a driver creates nodes for devices that don\u0027t exist (sending a hotplug\nevent), then exits (aborting one modprobe) before the \"modprobe $MODALIAS\"\nstep completes (by failing, since it\u0027s in the middle of a modprobe), the\nresult can be an endless loop of modprobe invocations ...  badness.\n\nThis fix uses the newish per-device flag controlling issuance of \"add\"\nevents.  (A previous version of this patch used a per-device \"driver can\nhotplug\" flag, which only scrubbed $MODALIAS from the environment rather\nthan suppressing the entire hotplug event.) It also shrinks that flag to\none bit, saving a word in \"struct device\".\n\nSo the net of this patch is removing some nasty failures with legacy\ndrivers, while retaining hotplug capability for the majority of platform\ndrivers.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5b339915762d30b21995aa7263e74081f2f1110a",
      "tree": "4e076dbd27025054b21dddd78a1cb3fef3de34d7",
      "parents": [
        "89661adaaee2f85116b399e642129ccd4dafd195",
        "823bccfc4002296ba88c3ad0f049e1abd8108d30"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 18:04:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri May 04 18:04:48 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6:\n  remove \"struct subsystem\" as it is no longer needed\n  sysfs: printk format warning\n  DOC: Fix wrong identifier name in Documentation/driver-model/devres.txt\n  platform: reorder platform_device_del\n  Driver core: fix show_uevent from taking up way too much stack\n"
    },
    {
      "commit": "5adc55da4a7758021bcc374904b0f8b076508a11",
      "tree": "41f113f25532c3ffc1e3194114fbc68d67ce2001",
      "parents": [
        "032de8e2fe3c0eec5fb0ffe4d38aa602dad397dc"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Mar 27 03:02:51 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 19:02:38 2007 -0700"
      },
      "message": "PCI: remove the broken PCI_MULTITHREAD_PROBE option\n\nThis patch removes the PCI_MULTITHREAD_PROBE option that had already \nbeen marked as broken.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "823bccfc4002296ba88c3ad0f049e1abd8108d30",
      "tree": "5338ae0b32409446af4cd00c5107d9405d5bf0b6",
      "parents": [
        "2609e7b9bebfd433254c02538ba803dc516ff674"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 13 13:15:19 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 02 18:57:59 2007 -0700"
      },
      "message": "remove \"struct subsystem\" as it is no longer needed\n\nWe need to work on cleaning up the relationship between kobjects, ksets and\nktypes.  The removal of \u0027struct subsystem\u0027 is the first step of this,\nespecially as it is not really needed at all.\n\nThanks to Kay for fixing the bugs in this patch.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "404d5b185b4eb56d6fa2f7bd27833f8df1c38ce4",
      "tree": "1130df0503191529ee7088ccf3868d3be81ebc2d",
      "parents": [
        "61a2f59af6c8ffd9d6dd53f0da32563d4434e790"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Thu Apr 26 00:12:10 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:34 2007 -0700"
      },
      "message": "dev_dbg: check dev_dbg() arguments\n\nDuplicate what Zach Brown did for pr_debug in commit\n8b2a1fd1b394c60eaa2587716102dd5e9b4e5990\n\n[akpm@linux-foundation.org: fix a couple of things which broke]\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "523ded71de0c5e66973335bf99a80edfda9f401b",
      "tree": "20f47e8ed91018977d9fb7f4169a6ef8db407b82",
      "parents": [
        "fa1a8c23eb7d3ded8a3c6d0e653339a2bc7fca9e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Apr 26 00:12:04 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:32 2007 -0700"
      },
      "message": "device_schedule_callback() needs a module reference\n\nThis patch (as896b) fixes an oversight in the design of\ndevice_schedule_callback().  It is necessary to acquire a reference to the\nmodule owning the callback routine, to prevent the module from being\nunloaded before the callback can run.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Satyam Sharma \u003csatyam.sharma@gmail.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f89cbc399ecd924c4bd879344e662aace2274b4f",
      "tree": "d44c6c9952e1433566a3e6a4eb0123e33d10d97d",
      "parents": [
        "bf62456eb91f3d2ef0736081583d09b0b3c8b7ea"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@insightbb.com",
        "time": "Tue Apr 03 01:08:40 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:29 2007 -0700"
      },
      "message": "Driver core: add suspend() and resume() to struct device_type\n\nDriver core: add suspend() and resume() to struct device_type\n\nIn cases when there are devices of different types in the same class\nwe can\u0027t use class\u0027s implementation of suspend and resume methods and\nwe need to add them to struct device_type instead.\n\nAlso fix error handling in resume code (we should not try to call\nclass\u0027s resume method iof bus\u0027s resume method for the device failed.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "74e9f5fa1570f956c96dd5d3f1053daedbbf01a0",
      "tree": "095bfed9efced3538507d16eb93010d91c074f5f",
      "parents": [
        "c6a46696f97ff260a4ecce5e287f8de4b9d7fe14"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 09 12:14:34 2002 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:29 2007 -0700"
      },
      "message": "Driver core: remove unneeded completion from driver release path\n\nThe completion in the driver release path is due to ancient history in\nthe _very_ early 2.5 days when we were not tracking the module reference\ncount of attributes.  It is not needed at all and can be removed.\n\nNote, we now have an empty release function for the driver structure.\nThis is due to the fact that drivers are statically allocated in the\nsystem at this point in time, something which I want to change in the\nfuture.  But remember, drivers are really code, which is reference\ncounted by the module, unlike devices, which are data and _must_ be\nreference counted properly in order to work correctly.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "21c7f30b1d3f8a3de3128478daca3ce203fc8733",
      "tree": "ff84247ba68f82906182a214273dd330c6d1970f",
      "parents": [
        "460f7e9a1bde2c74f060f7ce0a308dab4be6a56b"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Mon Feb 05 16:15:25 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:28 2007 -0700"
      },
      "message": "driver core: per-subsystem multithreaded probing\n\nMake multithreaded probing work per subsystem instead of per driver.\n\nIt doesn\u0027t make much sense to probe the same device for multiple drivers in\nparallel (after all, only one driver can bind to the device).  Instead, create\na probing thread for each device that probes the drivers one after another. \nAlso make the decision to use multi-threaded probe per bus instead of per\ndevice and adapt the pci code.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "414264f959cf46f49f974b3510400e12ac3624a6",
      "tree": "ead43994761620cbf7cb22525610627786562098",
      "parents": [
        "621a1672f7377e08a942f205d6742d8af1292aab"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon Mar 12 21:08:57 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:28 2007 -0700"
      },
      "message": "Driver core: add name to device_type\n\nIf \"name\" of a device_type is specified, the uevent will\ncontain the device_type name in the DEVTYPE variable.\nThis helps userspace to distingiush between different types\nof devices, belonging to the same subsystem.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "621a1672f7377e08a942f205d6742d8af1292aab",
      "tree": "9249308b3df0675f713058e3f5ac0442ce2a5e1e",
      "parents": [
        "b8c5cec23d5c33b767a1cddebd4f8813a9563e3c"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@insightbb.com",
        "time": "Sat Mar 10 01:37:34 2007 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:28 2007 -0700"
      },
      "message": "driver core: Use attribute groups in struct device_type\n\nDriver core: use attribute groups in struct device_type\n\nAttribute groups are more flexible than attribute lists\n(an attribute list can be represented by anonymous group)\nso switch struct device_type to use them.\n\nAlso rework attribute creation for devices so that they all\ncleaned up properly in case of errors.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Kay Sievers \u003ckay.sievers@novell.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b8c5cec23d5c33b767a1cddebd4f8813a9563e3c",
      "tree": "cffec2c5df58866aa6e7ed5540c2718a166c3246",
      "parents": [
        "a456b7023e0abf80bb03b0bdf5471b48878e5c49"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Feb 16 17:33:36 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:28 2007 -0700"
      },
      "message": "Driver core: udev triggered device-\u003c\u003edriver binding\n\nWe get two per-bus sysfs files:\n  ls-l /sys/subsystem/usb\n  drwxr-xr-x 2 root root    0 2007-02-16 16:42 devices\n  drwxr-xr-x 7 root root    0 2007-02-16 14:55 drivers\n  -rw-r--r-- 1 root root 4096 2007-02-16 16:42 drivers_autoprobe\n  --w------- 1 root root 4096 2007-02-16 16:42 drivers_probe\n\nThe flag \"drivers_autoprobe\" controls the behavior of the bus to bind\ndevices by default, or just initialize the device and leave it alone.\n\nThe command \"drivers_probe\" accepts a bus_id and the bus tries to bind a\ndriver to this device.\n\nSystems who want to control the driver binding with udev, switch off the\nbus initiated probing:\n  echo 0 \u003e /sys/subsystem/usb/drivers_autoprobe\n  echo 0 \u003e /sys/subsystem/pcmcia/drivers_autoprobe\n  ...\n\nand initiate the probing with udev rules like:\n  ACTION\u003d\u003d\"add\", SUBSYSTEM\u003d\u003d\"usb\", ATTR{subsystem/drivers_probe}\u003d\"$kernel\"\n  ACTION\u003d\u003d\"add\", SUBSYSTEM\u003d\u003d\"pcmcia\", ATTR{subsystem/drivers_probe}\u003d\"$kernel\"\n  ...\n\nCustom driver binding can happen in earlier rules by something like:\n  ACTION\u003d\u003d\"add\", SUBSYSTEM\u003d\u003d\"usb\", \\\n  ATTRS{idVendor}\u003d\u003d\"1234\", ATTRS{idProduct}\u003d\u003d\"5678\" \\\n  ATTR{subsystem/drivers/\u003ccustom-driver\u003e/bind}\u003d\"$kernel\"\n\nThis is intended to solve the modprobe.conf mess with \"install-rules\", custom\nbind/unbind-scripts and all the weird things people invented over the years.\nIt should also provide the functionality \"libusual\" was supposed to do.\n\nWith udev, one can just write a udev rule to drive all USB-disks at the\nthird port of USB-hub by the \"ub\" driver, and everything else by\nusb-storage. One can also instruct udev to bind different wireless\ndrivers to identical cards - just selected by the pcmcia slot-number, and\nwhatever ...\n\nTo use the mentioned rules, it needs udev version 106, to be able to\nwrite ATTR{}\u003d\"$kernel\" to sysfs files.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "864062457a2e444227bd368ca5f2a2b740de604f",
      "tree": "38e516852ee9825b5ffe0b1f2e8abea0a88b1674",
      "parents": [
        "00ed8e3dda47f8421b11da17e353d7db8c878121"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Mar 14 03:25:56 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:28 2007 -0700"
      },
      "message": "driver core: fix namespace issue with devices assigned to classes\n\n  - uses a kset in \"struct class\" to keep track of all directories\n    belonging to this class\n  - merges with the /sys/devices/virtual logic.\n  - removes the namespace-dir if the last member of that class\n    leaves the directory.\n\nThere may be locking or refcounting fixes left, I stopped when it seemed\nto work with network and sound modules. :)\n\nFrom: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0c84ce268b69855919b6ac7edc8f11caf21e9c88",
      "tree": "64e1fca7d80026db60ed4dde751d553193587034",
      "parents": [
        "bcd9b89c02295b075fda4bdb666f6641f8212226"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Sun Apr 01 23:49:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 02 10:06:09 2007 -0700"
      },
      "message": "[PATCH] driver core: fix built-in drivers sysfs links\n\nbuilt-in drivers had broken sysfs links that caused bootup hangs for\ncertain driver unregistry sequences.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9a9cdfb078d755e648d53ec25b7370f84ee5729",
      "tree": "308380483fd6241b1d0ef5916b9329c1c5df00f6",
      "parents": [
        "6ab27c6bf38d5ff71dafeca77b79e7c284804b75"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Mar 15 15:50:34 2007 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Mar 15 15:29:26 2007 -0700"
      },
      "message": "[PATCH] sysfs and driver core: add callback helper, used by SCSI and S390\n\nThis patch (as868) adds a helper routine for device drivers that need\nto set up a callback to perform some action in a different process\u0027s\ncontext.  This is intended for use by attribute methods that want to\nunregister themselves or their parent device.  Attribute method calls\nare mutually exclusive with unregistration, so such actions cannot be\ntaken directly.\n\nTwo attribute methods are converted to use the new helper routine: one\nfor SCSI device deletion and one for System/390 ccwgroup devices.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Oliver Neukum \u003coneukum@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "40cf67c5fcc513406558c01b91129280208e57bf",
      "tree": "99d1a152875e3ba751c7566bd1f755b18e33cb0e",
      "parents": [
        "9654640d0af8f2de40ff3807d3695109d3463f54"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 03 14:31:12 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 23 14:52:08 2007 -0800"
      },
      "message": "Driver core: remove class_device_rename\n\nNo one uses it, and it wasn\u0027t exported to modules, so remove it.  The\nonly other user of it was the network code, which is now converted to\nuse struct device instead.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "874ff01bd9183ad16495acfd54e93a619d12b8b5",
      "tree": "e9527e94649fadfa705dae64018e027e51681b88",
      "parents": [
        "ebbe46f73a11a667df59cb8e58b371c0a35f29d0",
        "86aae08faa0069a559ba543ff3dab33fe95f891b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 19 13:29:02 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 19 13:29:02 2007 -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: (25 commits)\n  Documentation/kernel-docs.txt update.\n  arch/cris: typo in KERN_INFO\n  Storage class should be before const qualifier\n  kernel/printk.c: comment fix\n  update I/O sched Kconfig help texts - CFQ is now default, not AS.\n  Remove duplicate listing of Cris arch from README\n  kbuild: more doc. cleanups\n  doc: make doc. for maxcpus\u003d more visible\n  drivers/net/eexpress.c: remove duplicate comment\n  add a help text for BLK_DEV_GENERIC\n  correct a dead URL in the IP_MULTICAST help text\n  fix the BAYCOM_SER_HDX help text\n  fix SCSI_SCAN_ASYNC help text\n  trivial documentation patch for platform.txt\n  Fix typos concerning hierarchy\n  Fix comment typo \"spin_lock_irqrestore\".\n  Fix misspellings of \"agressive\".\n  drivers/scsi/a100u2w.c: trivial typo patch\n  Correct trivial typo in log2.h.\n  Remove useless FIND_FIRST_BIT() macro from cardbus.c.\n  ...\n"
    },
    {
      "commit": "405ae7d381302468ecc803f2148a2ae40a04c999",
      "tree": "7b1915220ae6595a28755fbbb32ee95d233a3da9",
      "parents": [
        "ca820181fc187af316a18b2700582663662c4012"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 17 19:13:42 2007 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Feb 17 19:13:42 2007 +0100"
      },
      "message": "Replace remaining references to \"driverfs\" with \"sysfs\".\n\nGlobally, s/driverfs/sysfs/g.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "89790fd789e024b23eb1fbccedd84a2015441ce0",
      "tree": "fbe1fcec760de172f99d9be5dc112d9c5ec1443f",
      "parents": [
        "8a03d9a498eaf02c8a118752050a5154852c13bf"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Feb 12 22:33:06 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 16 15:19:15 2007 -0800"
      },
      "message": "Driver.h copyright update\n\nIt was pointed out that I had not updated my copyright on driver.h\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9ac7849e35f705830f7b016ff272b0ff1f7ff759",
      "tree": "7f17cdff87e154937a15cc2ec8da9b4e6018ce8e",
      "parents": [
        "77a527eadb425b60db3f5f0aae6a4c51c38e35e5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Jan 20 16:00:26 2007 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Fri Feb 09 17:39:36 2007 -0500"
      },
      "message": "devres: device resource management\n\nImplement device resource management, in short, devres.  A device\ndriver can allocate arbirary size of devres data which is associated\nwith a release function.  On driver detach, release function is\ninvoked on the devres data, then, devres data is freed.\n\ndevreses are typed by associated release functions.  Some devreses are\nbetter represented by single instance of the type while others need\nmultiple instances sharing the same release function.  Both usages are\nsupported.\n\ndevreses can be grouped using devres group such that a device driver\ncan easily release acquired resources halfway through initialization\nor selectively release resources (e.g. resources for port 1 out of 4\nports).\n\nThis patch adds devres core including documentation and the following\nmanaged interfaces.\n\n* alloc/free\t: devm_kzalloc(), devm_kzfree()\n* IO region\t: devm_request_region(), devm_release_region()\n* IRQ\t\t: devm_request_irq(), devm_free_irq()\n* DMA\t\t: dmam_alloc_coherent(), dmam_free_coherent(),\n\t\t  dmam_declare_coherent_memory(), dmam_pool_create(),\n\t\t  dmam_pool_destroy()\n* PCI\t\t: pcim_enable_device(), pcim_pin_device(), pci_is_managed()\n* iomap\t\t: devm_ioport_map(), devm_ioport_unmap(), devm_ioremap(),\n\t\t  devm_ioremap_nocache(), devm_iounmap(), pcim_iomap_table(),\n\t\t  pcim_iomap(), pcim_iounmap()\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b7a3e813fb84624166f034e25234f98de5846bfc",
      "tree": "5936d2755e6f4fcdbf3a34c743a7840cdc72b9a2",
      "parents": [
        "f9f852df2faf76a2667949ddb4947d4b8f99f02f"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@novell.com",
        "time": "Sat Oct 07 21:54:55 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:14 2007 -0800"
      },
      "message": "Driver core: allow to delay the uevent at device creation time\n\nFor the block subsystem, we want to delay all uevents until the\ndisk has been scanned and allpartitons are already created before\nthe first event is sent out.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@novell.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f9f852df2faf76a2667949ddb4947d4b8f99f02f",
      "tree": "3dfdbae06ef17c83266cc18ed77fcd1c51328c15",
      "parents": [
        "239378f16aa1ab5c502e42a06359d2de4f88ebb4"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@novell.com",
        "time": "Sat Oct 07 21:54:55 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:14 2007 -0800"
      },
      "message": "Driver core: add device_type to struct device\n\nThis allows us to add type specific attributes, uevent vars and\nrelease funtions.\n\nA subsystem can carry different types of devices like the \"block\"\nsubsys has disks and partitions. Both types create a different set\nof attributes, but belong to the same subsystem.\n\nThis corresponds to the low level objects:\n  kobject   -\u003e device       (object/device data)\n  kobj_type -\u003e device_type  (type of object/device we are embedded in)\n  kset      -\u003e class/bus    (list of objects/devices of a subsystem)\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@novell.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "f30c53a873d0d227493197064b8886af2d57bbd6",
      "tree": "cd051f14effbbb015a1bae6fe5bfabcf14037f13",
      "parents": [
        "c744aeae9d173a953b771a7ad5c872f91fa99dec"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon Jan 15 20:22:02 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 07 10:37:12 2007 -0800"
      },
      "message": "MODULES: add the module name for built in kernel drivers\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "1f21782e63da81f56401a813a52091ef2703838f"
}
