)]}'
{
  "log": [
    {
      "commit": "4dc86ae1f925b2121d4e75058675895f83e54c71",
      "tree": "21214eec08565e2f0a7afdb56d1d9293a3136b28",
      "parents": [
        "9ddd3a31aedcdb55d5509b595c04b187041c8adb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 10:05:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 09 10:05:33 2010 -0700"
      },
      "message": "Revert \"memory-hotplug: add 0x prefix to HEX block_size_bytes\"\n\nThis reverts commit ba168fc37dea145deeb8fa9e7e71c748d2e00d74.\n\nIt changes user-visible sysfs interfaces, and breaks some existing user\nspace applications which apparently rely on the fact that the output\ndoes not contain the \"0x\" prefix.\n\nRequested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18e5b539b451158be7aae6c390a20f0d3e5b9213",
      "tree": "4b1e8261c9afa01ebc2f45e594e2a9834aaf7ced",
      "parents": [
        "0fdf86754f70e813845af4abaa805165ce57a0bb"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 06 19:23:33 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Apr 07 06:41:41 2010 +0900"
      },
      "message": "nodemask: include slab.h from drivers/base/node.c\n\nNODEMASK_ALLOC/FREE are mapped to kmalloc/free if NODES_SHIFT \u003e 8.\nAmong its several users, drivers/base/node.c wasn\u0027t including slab.h\nleading to build failure if NODES_SHIFT \u003e 8.  Include slab.h from\ndrivers/base/node.c.\n\nThis isn\u0027t an ideal solution but including slab.h directly from\nnodemask.h is not an option because nodemask.h gets included\neverywhere.  For now, make it work by including slab.h from its users.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7da23b86e14b77c094b11a9fa5ef5b3758fc9193",
      "tree": "3da1b6c3c105daf61f1fe1c785821213ab6a9dde",
      "parents": [
        "749d229761ff0135cc4e16b8a28b41ae2f6b2c35",
        "421e33d0045ac0aa119c033b78742e0fbf4c3b21"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 15:37:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 05 15:37:12 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:\n  [SCSI] qla1280: retain firmware for error recovery\n  [SCSI] attirbute_container: Initialize sysfs attributes with sysfs_attr_init\n  [SCSI] advansys: fix regression with request_firmware change\n  [SCSI] qla2xxx: Updated version number to 8.03.02-k2.\n  [SCSI] qla2xxx: Prevent sending mbx commands from sysfs during isp reset.\n  [SCSI] qla2xxx: Disable MSI on qla24xx chips other than QLA2432.\n  [SCSI] qla2xxx: Check to make sure multique and CPU affinity support is not enabled at the same time.\n  [SCSI] qla2xxx: Correct vp_idx checking during PORT_UPDATE processing.\n  [SCSI] qla2xxx: Honour \"Extended BB credits\" bit for CNAs.\n  [SCSI] scsi_transport_fc: Make sure commands are completed when rport is offline\n  [SCSI] libiscsi: Fix recovery slowdown regression\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "ebd09ec93c90c8ec571d7e166832fb1fc705bf5e",
      "tree": "f5ec7e8471e4828187ed32d8148f7e6be28d8306",
      "parents": [
        "cf7474451c3a3cf07811abbf2a39536d33046c36"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Mar 20 12:44:12 2010 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sat Mar 27 15:15:24 2010 -0400"
      },
      "message": "[SCSI] attirbute_container: Initialize sysfs attributes with sysfs_attr_init\n\nAll of the SCSI transport classes are suddenly spitting lockdep\nwarnings.  According to Eric Biderman this is because lockdep needs\nstatic initialisers and the attribute container way of doing things\nend up with dynamic sysfs attributes.  Fix this by calling\nsysfs_attr_init which sets the lockdep key correctly.\n\nTested-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e7176a37d436a214f6a7727ea7986c654cbee8f0",
      "tree": "6efc0a74883b326ff7575a36793120027018195c",
      "parents": [
        "7d7ba8d31eb293016bc91a5c8fc36b21fd917265"
      ],
      "author": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Mon Mar 15 21:43:11 2010 +0100"
      },
      "committer": {
        "name": "Dominik Brodowski",
        "email": "linux@dominikbrodowski.net",
        "time": "Wed Mar 24 11:00:02 2010 +0100"
      },
      "message": "power: support _noirq actions on device types and classes\n\nThe new-style dev_pm_ops provide callbacks for both IRQs enabled\nand disabled. However, the _noirq variants were only called for\nbuses registered with a device, not for classes and types.\n\nIn order to properly use dev_pm_ops in class pcmcia_socket_class,\nsupport _noirq actions also on classes and types.\n\nSigned-off-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2eb645e7b5662da47646f76b41b4141f2c9bf13a",
      "tree": "b5b99f8111a72a81d085cc3e3acca706de43062e",
      "parents": [
        "8fdb7e9f612b7c6ba6c3ba460c14263b5ce90f79",
        "12ee3c0a0ac42bed0939420468fd35f5cdceae4f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 19 13:39:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 19 13:39:42 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  driver core: numa: fix BUILD_BUG_ON for node_read_distance\n  driver-core: document ERR_PTR() return values\n  kobject: documentation: Update to refer to kset-example.c.\n  sysdev: the cpu probe/release attributes should be sysdev_class_attributes\n  kobject: documentation: Fix erroneous example in kobject doc.\n  driver-core: fix missing kernel-doc in firmware_class\n  Driver core: Early platform kernel-doc update\n  sysfs: fix sysfs lockdep warning in mlx4 code\n  sysfs: fix sysfs lockdep warning in infiniband code\n  sysfs: fix sysfs lockdep warning in ipmi code\n  sysfs: Initialised pci bus legacy_mem field before use\n  sysfs: use sysfs_bin_attr_init in firmware class driver\n"
    },
    {
      "commit": "12ee3c0a0ac42bed0939420468fd35f5cdceae4f",
      "tree": "c97f04d93fcca34d9ab7548f2b5070235202d52d",
      "parents": [
        "f0eae0ed3b7d4182a6b4dd03540a738518ea3163"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Wed Mar 10 14:50:21 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:12:22 2010 -0700"
      },
      "message": "driver core: numa: fix BUILD_BUG_ON for node_read_distance\n\nnode_read_distance() has a BUILD_BUG_ON() to prevent buffer overruns when\nthe number of nodes printed will exceed the buffer length.\n\nEach node only needs four chars: three for distance (maximum distance is\n255) and one for a seperating space or a trailing newline.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f0eae0ed3b7d4182a6b4dd03540a738518ea3163",
      "tree": "f7432690b4df967f10643fa82f05f57aecba142f",
      "parents": [
        "178a5b35b2777346206d4b577b36d10061732f8c"
      ],
      "author": {
        "name": "Jani Nikula",
        "email": "ext-jani.1.nikula@nokia.com",
        "time": "Thu Mar 11 18:11:45 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:12:21 2010 -0700"
      },
      "message": "driver-core: document ERR_PTR() return values\n\nA number of functions in the driver core return ERR_PTR() values on\nerror. Document this in the kernel-doc of the functions.\n\nSigned-off-by: Jani Nikula \u003cext-jani.1.nikula@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "67fc233f4fb67907861b4077cea5294035f80dc7",
      "tree": "794f100bf32e481cab7be1443514d08caadc1c5a",
      "parents": [
        "462bd295a3d74c7d1641501bda549bccf404be5b"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Mar 16 10:33:32 2010 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:12:19 2010 -0700"
      },
      "message": "sysdev: the cpu probe/release attributes should be sysdev_class_attributes\n\nThis fixes these warnings:\n\ndrivers/base/cpu.c:264: warning: initialization from incompatible pointer type\ndrivers/base/cpu.c:265: warning: initialization from incompatible pointer type\n\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e59817bf089a3893e05a059026c668fb65f8c748",
      "tree": "ccbd5b168e41a632592535978a4d38c32ce642ef",
      "parents": [
        "4d26e139f0b7d4c0700d6993506f1f60e2f2caa5"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Mar 10 11:47:58 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:12:16 2010 -0700"
      },
      "message": "driver-core: fix missing kernel-doc in firmware_class\n\nFix kernel-doc warning in firmware_class.c:\n\nWarning(drivers/base/firmware_class.c:94): No description found for parameter \u0027attr\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4d26e139f0b7d4c0700d6993506f1f60e2f2caa5",
      "tree": "e5d12b0243ca14fc0c60dac0bd291dbc2766f6dc",
      "parents": [
        "3691c964fa1a8f0eb5e5f00c644ef1bdd7e35a95"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@opensource.se",
        "time": "Wed Mar 10 20:50:38 2010 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:12:16 2010 -0700"
      },
      "message": "Driver core: Early platform kernel-doc update\n\nThis patch updates the kernel-doc notation for early\nplatform functions.\n\nSigned-off-by: Magnus Damm \u003cdamm@opensource.se\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e1955ca0ee55286cbc65a8ed7471d540ae83dac8",
      "tree": "ad0996ea95c7967d84894ae1bb3c710300b9bdf8",
      "parents": [
        "a3d3203e4bb40f253b1541e310dc0f9305be7c84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Mar 09 19:30:28 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:12:10 2010 -0700"
      },
      "message": "sysfs: use sysfs_bin_attr_init in firmware class driver\n\nAnnotate dynamic sysfs attribute in fw_setup_device(). This gets\nrid of the following lockdep warning:\n\nbnx2 0000:08:00.0: firmware: requesting bnx2/bnx2-mips-06-5.0.0.j6.fw\nBUG: key ffff880008293470 not in .data!\n------------[ cut here ]------------\nWARNING: at kernel/lockdep.c:2706 lockdep_init_map+0x562/0x620()\nModules linked in: bnx2(+) sg tpm_bios floppy rtc_lib usb_storage i2c_piix4 joydev button container shpchp i2c_core sr_mod cdrom pci_hotplug usbhid hid ohci_hcd ehci_hcd sd_mod usbcore edd ext3 mbcache jbd fan ata_generic sata_svw pata_serverworks libata scsi_mod thermal processor\nPid: 1915, comm: work_for_cpu Not tainted 2.6.34-rc1-default #81\nCall Trace:\n [\u003cffffffff8107c1d2\u003e] ? lockdep_init_map+0x562/0x620\n [\u003cffffffff81049fd8\u003e] warn_slowpath_common+0x78/0xd0\n [\u003cffffffff8104a03f\u003e] warn_slowpath_null+0xf/0x20\n [\u003cffffffff8107c1d2\u003e] lockdep_init_map+0x562/0x620\n [\u003cffffffff8117a236\u003e] ? sysfs_new_dirent+0x76/0x120\n [\u003cffffffff8126edb2\u003e] ? put_device+0x12/0x20\n [\u003cffffffff811797cc\u003e] sysfs_add_file_mode+0x6c/0xd0\n [\u003cffffffff8117983c\u003e] sysfs_add_file+0xc/0x10\n [\u003cffffffff8117bf61\u003e] sysfs_create_bin_file+0x21/0x30\n [\u003cffffffff81279c61\u003e] _request_firmware+0x2f1/0x650\n [\u003cffffffff8127a04e\u003e] request_firmware+0xe/0x10\n [\u003cffffffffa01ec19e\u003e] bnx2_init_one+0x8f5/0x177e [bnx2]\n [\u003cffffffff81389eab\u003e] ? _raw_spin_unlock_irq+0x2b/0x40\n [\u003cffffffff81040ed9\u003e] ? finish_task_switch+0x69/0x100\n [\u003cffffffff81040e70\u003e] ? finish_task_switch+0x0/0x100\n [\u003cffffffff81064b40\u003e] ? do_work_for_cpu+0x0/0x30\n [\u003cffffffff811e6302\u003e] local_pci_probe+0x12/0x20\n [\u003cffffffff81064b53\u003e] do_work_for_cpu+0x13/0x30\n [\u003cffffffff81064b40\u003e] ? do_work_for_cpu+0x0/0x30\n [\u003cffffffff81068c56\u003e] kthread+0x96/0xa0\n [\u003cffffffff81003e64\u003e] kernel_thread_helper+0x4/0x10\n [\u003cffffffff8138a350\u003e] ? restore_args+0x0/0x30\n [\u003cffffffff81068bc0\u003e] ? kthread+0x0/0xa0\n [\u003cffffffff81003e60\u003e] ? kernel_thread_helper+0x0/0x10\n---[ end trace a2ecee9c9602d195 ]---\n\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "bc32df00894f0e1dbf583cc3dab210d2969b078a",
      "tree": "1276c26359ac5c4cd231d1d61a4e9649971f4d35",
      "parents": [
        "e5d6151115aee73825c1752aff7cd09adfece839"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Mar 15 00:35:03 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 17 18:43:47 2010 -0700"
      },
      "message": "memory hotplug: allow setting of phys_device\n\n/sys/devices/system/memory/memoryX/phys_device is supposed to contain the\nnumber of the physical device that the corresponding piece of memory\nbelongs to.\n\nIn case a physical device should be replaced or taken offline for whatever\nreason it is necessary to set all corresponding memory pieces offline.\nThe current implementation always sets phys_device to \u00270\u0027 and there is no\nway or hook to change that.  Seems like there was a plan to implement that\nbut it wasn\u0027t finished for whatever reason.\n\nSo add a weak function which architectures can override to actually set\nthe phys_device from within add_memory_block().\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e9394ce2412254ec69fd2a4f3e44a66eade2297",
      "tree": "355f25148b4ce3f5cfebeaf0939d71cb6beaf88b",
      "parents": [
        "62e877b893e6350c900d381f353aa62ed48dcc97"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 17 10:57:05 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "Driver core: create lock/unlock functions for struct device\n\nIn the future, we are going to be changing the lock type for struct\ndevice (once we get the lockdep infrastructure properly worked out)  To\nmake that changeover easier, and to possibly burry the lock in a\ndifferent part of struct device, let\u0027s create some functions to lock and\nunlock a device so that no out-of-core code needs to be changed in the\nfuture.\n\nThis patch creates the device_lock/unlock/trylock() functions, and\nconverts all in-tree users to them.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nCc: Ming Lei \u003ctom.leiming@gmail.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Magnus Damm \u003cdamm@igel.co.jp\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Alex Chiang \u003cachiang@hp.com\u003e\nCc: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nCc: Yu Zhao \u003cyu.zhao@intel.com\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nCc: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: CHENG Renquan \u003crqcheng@smu.edu.sg\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nCc: Frans Pop \u003celendil@planet.nl\u003e\nCc: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "2354dcc7218853a6537ec722be40fde9a11c413b",
      "tree": "6afea7dfd2026c7e87d1c7665b86d617cdf1cbd6",
      "parents": [
        "7cb32942d91a501b2df944928ccc9e6590ab237b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 12 19:22:26 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "driver core: Use sysfs_rename_link in device_rename\n\nDon\u0027t open code the renaming of symlinks in sysfs\ninstead use the new helper function sysfs_rename_link\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3c31f07ad0dab02fe17195d32a965d57fd947707",
      "tree": "940eca4b37ca74dfb2e83d5d65bd60abd50da08d",
      "parents": [
        "d6e976c0d258c9547a308bd8a9a82ec93e2bc6e2"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Sun Feb 14 14:18:53 2010 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:51 2010 -0800"
      },
      "message": "Driver core: Fix first line of kernel-doc for a few functions\n\nThe function name must be followed by a space, hypen, space, and a\nshort description.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "831fad2f75f0d7bfc339de81173e7068a3c72276",
      "tree": "bb566ec230d6bbc1c7ce942e8e1355c9876e24ea",
      "parents": [
        "52cf25d0ab7f78eeecc59ac652ed5090f69b619e"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue Jan 26 09:35:00 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "Driver core: make struct platform_driver.id_table const\n\nThis fixes a warning on several pxa based machines:\n\n\tarch/arm/mach-pxa/ssp.c:475: warning: initialization discards qualifiers from pointer target type\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nAcked-by: Vikram Dhillon \u003cdhillonv10@gmail.com\u003e\nAcked-by: Eric Miao \u003ceric.y.miao@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "52cf25d0ab7f78eeecc59ac652ed5090f69b619e",
      "tree": "031d1ffb3890bd69c0260c864c512e0be62ac05c",
      "parents": [
        "6c1733aca0b48db4d0e660d54976a1cca25b5eaf"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Tue Jan 19 02:58:23 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "Driver core: Constify struct sysfs_ops in struct kobj_type\n\nConstify struct sysfs_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nAcked-by: David Teigland \u003cteigland@redhat.com\u003e\nAcked-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6c1733aca0b48db4d0e660d54976a1cca25b5eaf",
      "tree": "8fbc86bb7c8058643a6cdbe865e7d66ad6d8ac5e",
      "parents": [
        "c607cf0c20903f22919c187d1db4f3256c58f0c5"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 21 15:07:59 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "sysdev: fix up the probe/release attributes\n\nThese should be sysdev attributes, not class attributes.  This patch\nshould resolve the problem.\n\nThanks to Stephen Rothwell for pointing out the problem.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9cd43611ccfb46632bfa7d19f688924ea93f1613",
      "tree": "e11ecee403235ba9d8855892fa7ad55d9b63e221",
      "parents": [
        "985fc176a6c03836454629be2f2a611ccc7c7002"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Thu Dec 31 14:52:51 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "kobject: Constify struct kset_uevent_ops\n\nConstify struct kset_uevent_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "985fc176a6c03836454629be2f2a611ccc7c7002",
      "tree": "30cf29aaaaa56d93c5478bde11bf3daea29d846a",
      "parents": [
        "1e5289c97bba2d8ee7239a416bc3f28743362cd9"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@atheros.com",
        "time": "Wed Jan 13 21:18:15 2010 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "driver-core: firmware_class: remove base.h header inclusion\n\nbase.h is used by base drivers for sharing internal structures.\nTurns out firmware_class does not depend on it at all so remove it.\n\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3f5468c9ae293cbca43e4ffe6ca3b3235189042a",
      "tree": "8aa6cfd42558301b02bf651d58f9f69519ce6231",
      "parents": [
        "7934779a69f1184f29d786b89e77dd14519bd226"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Jan 14 22:54:37 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:48 2010 -0800"
      },
      "message": "Driver-Core: require valid action string in uevent trigger\n\nNo longer fall back to \"add\" and warn, but always require a valid\naction-string written to the \"uevent\" file.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7934779a69f1184f29d786b89e77dd14519bd226",
      "tree": "5f642d352c7c19feccae1bb18f557e35526f8ae8",
      "parents": [
        "4237e5fd3e07da268029cd4862cf551d9a74e33f"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Jan 14 22:49:39 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:48 2010 -0800"
      },
      "message": "Driver-Core: disable /sbin/hotplug by default\n\nNo recent mainstream system uses the /sbin/hotplug fork-bomb any more.\nDisable it by default to reflect how it is used these days.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4237e5fd3e07da268029cd4862cf551d9a74e33f",
      "tree": "22a1729bcfec67a63e2bf33485d11a3b77045300",
      "parents": [
        "5e31d76f2817bd50258a092a7c5b15b3006fd61c"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Jan 14 22:47:57 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:48 2010 -0800"
      },
      "message": "Driver-Core: devtmpfs - remove EXPERIMENTAL and flush out the description\n\nAll major distros enable devtmpfs on recent systems, so remove\nthe EXPERIMENTAL flag, and make the description a bit more instructive.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5e31d76f2817bd50258a092a7c5b15b3006fd61c",
      "tree": "736c73c564635d767a1592cc540a23695b96c6a3",
      "parents": [
        "0933e2d98d1b170ef62d48e18157f5dc43b58217"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Jan 13 14:16:36 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:48 2010 -0800"
      },
      "message": "Driver-Core: devtmpfs - reset inode permissions before unlinking\n\nBefore unlinking the inode, reset the current permissions of possible\nreferences like hardlinks, so granted permissions can not be retained\nacross the device lifetime by creating hardlinks, in the unusual case\nthat there is a user-writable directory on the same filesystem.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "869dfc875e32fd832385fd52ce54525a10401ed6",
      "tree": "39885759145d7f7c5137fd5e5259181c064ba34c",
      "parents": [
        "28812fe11a21826ba4c97c6c7971a619987cd912"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:48:08 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:48 2010 -0800"
      },
      "message": "driver core: Add class_attr_string for simple read-only string\n\nSeveral drivers just export a static string as class attributes.\n\nUse the new extensible attribute support to define a simple\nCLASS_ATTR_STRING() macro for this.\n\nThis will allow to remove code from drivers in followon patches.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "28812fe11a21826ba4c97c6c7971a619987cd912",
      "tree": "c78daefd595989bbc660ea48d8bc2dc5750321d3",
      "parents": [
        "5fbcae57db69128c14080a7a5a42d0626bfe155c"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:48:07 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:48 2010 -0800"
      },
      "message": "driver-core: Add attribute argument to class_attribute show/store\n\nPassing the attribute to the low level IO functions allows all kinds\nof cleanups, by sharing low level IO code without requiring\nan own function for every piece of data.\n\nAlso drivers can extend the attributes with own data fields\nand use that in the low level function.\n\nThis makes the class attributes the same as sysdev_class attributes\nand plain attributes.\n\nThis will allow further cleanups in drivers.\n\nFull tree sweep converting all users.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8564a6c140317de04a71eb203bdbb58845d69f9c",
      "tree": "92a9044e3ea45ea25fb7ec0993f4a499c7625e63",
      "parents": [
        "1e395ab3d9b6aa09c5f0aa46a1b0a6fc5bd33133"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:48:06 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:47 2010 -0800"
      },
      "message": "sysdev: Fix type of sysdev class attribute in memory driver\n\nThis attribute is really a sysdev_class attribute, not a plain class attribute.\n\nThey are identical in layout currently, but this might not always be \nthe case.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3701cde6e35245e26f63252f46c62e8a790fa996",
      "tree": "f4fde55198c52db97f46286a41275d66c081e29c",
      "parents": [
        "e1a7e29a266ba3313a873d302b352521403bd155"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:48:04 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:47 2010 -0800"
      },
      "message": "sysdev: Use sysdev_class attribute arrays in node driver\n\nConvert the node driver to sysdev_class attribute arrays. This\ngreatly cleans up the code and remove a lot of code.\n\nSaves ~150 bytes of code on x86-64.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "e1a7e29a266ba3313a873d302b352521403bd155",
      "tree": "37d3e07b7975eb5850743fc95fa3c02ac0fcef75",
      "parents": [
        "38457ab3a0d36320370c715145ba6da514127194"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:48:03 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:47 2010 -0800"
      },
      "message": "sysdev: Convert node driver\n\nUse sysdev_class attribute arrays in node driver\n\nConvert the node driver to sysdev_class attribute arrays. This\ngreatly cleans up the code and remove a lot of code.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "38457ab3a0d36320370c715145ba6da514127194",
      "tree": "0c3f729c450b18b439dc6ce7a1542d9e8d3dd8e3",
      "parents": [
        "1c205ae18db53ff72985dd79f3baaf2dbaba6db7"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:48:02 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:47 2010 -0800"
      },
      "message": "sysfs: Add attribute array to sysdev classes\n\nAdd a attribute array that is automatically registered and unregistered\nto struct sysdev_class. This is similar to what struct class has.\n\nA lot of drivers add list of attributes, so it\u0027s better to do \nthis easily in the common sysdev layer.\n\nThis adds a new field to struct sysdev_class. I audited the \nwhole tree and there are no dynamically allocated sysdev classes,\nso this is fully compatible. \n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "265d2e2e31c5f6dc1b20ae1653a17fdba706f79e",
      "tree": "ef5de928828081f97e7d85650993bc6e0c281f2b",
      "parents": [
        "b15f562fc2f5429f27e5dfb0b0ee5ec44f661986"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:48:00 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:47 2010 -0800"
      },
      "message": "sysdev: Convert cpu driver sysdev class attributes\n\nUsing the new attribute argument convert the cpu driver class attributes\nto carry the node state. Then use a shared function to do what a lot of\nindividual functions did before.\n\nThis eliminates an ugly macro.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "b15f562fc2f5429f27e5dfb0b0ee5ec44f661986",
      "tree": "545b4c0a9a0ea0647a61b80a9461b6f72736e7f1",
      "parents": [
        "c9be0a36f9bf392a7984473124a67a12964df11f"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:47:59 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:47 2010 -0800"
      },
      "message": "sysdev: Convert node driver class attributes to be data driven\n\nUsing the new attribute argument convert the node driver class\nattributes to carry the node state. Then use a shared function to do\nwhat a lot of individual functions did before.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c9be0a36f9bf392a7984473124a67a12964df11f",
      "tree": "23fcf49f277d9a093b2b29831811219410ad7b05",
      "parents": [
        "3d03ba4d1dd2246adff5a9ff1194a539b3bc05a7"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:47:58 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:47 2010 -0800"
      },
      "message": "sysdev: Pass attribute in sysdev_class attributes show/store\n\nPassing the attribute to the low level IO functions allows all kinds\nof cleanups, by sharing low level IO code without requiring\nan own function for every piece of data.\n\nAlso drivers can extend the attributes with own data fields\nand use that in the low level function.\n\nSimilar to sysdev_attributes and normal attributes.\n\nThis is a tree-wide sweep, converting everything in one go.\n\nNo functional changes in this patch other than passing the new\nargument everywhere.\n\nTested on x86, the non x86 parts are uncompiled.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "ecdf6ceb8cf4756bd4214bf9755755752b6015f5",
      "tree": "828af56bdfe60396e77bbc05f28e231ffe70fe9b",
      "parents": [
        "20ef9f46a9abe3c25d9f2834f6cc86bfab46d609"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Dec 29 20:11:20 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:46 2010 -0800"
      },
      "message": "Driver core: add platform_create_bundle() helper\n\nMany legacy-style module create singleton platform devices themselves,\nalong with corresponding platform driver. Instead of replicating error\nhandling code in all such drivers, provide a helper that allocates and\nregisters a single platform device and a driver and binds them together.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "77d3d7c1d561f49f755d7390f0764dff90765974",
      "tree": "4a510d5dedd5681fb76353bbaae6d622452fd749",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Feb 05 17:57:02 2010 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:46 2010 -0800"
      },
      "message": "driver-core: fix race condition in get_device_parent()\n\nsysfs is creating several devices in cuse class concurrently and with\nCONFIG_SYSFS_DEPRECATED turned off, it triggers the following oops.\n\n BUG: unable to handle kernel NULL pointer dereference at 0000000000000038\n IP: [\u003cffffffff81158b0a\u003e] sysfs_addrm_start+0x4a/0xf0\n PGD 75bb067 PUD 75be067 PMD 0\n Oops: 0000 [#1] PREEMPT SMP\n last sysfs file: /sys/devices/system/cpu/cpu7/topology/core_siblings\n CPU 1\n Modules linked in: cuse fuse\n Pid: 4737, comm: osspd Not tainted 2.6.31-work #77\n RIP: 0010:[\u003cffffffff81158b0a\u003e]  [\u003cffffffff81158b0a\u003e] sysfs_addrm_start+0x4a/0xf0\n RSP: 0018:ffff88000042f8f8  EFLAGS: 00010296\n RAX: ffff88000042ffd8 RBX: 0000000000000000 RCX: 0000000000000000\n RDX: 0000000000000000 RSI: ffff880007eef660 RDI: 0000000000000001\n RBP: ffff88000042f918 R08: 0000000000000000 R09: 0000000000000000\n R10: 0000000000000001 R11: ffffffff81158b0a R12: ffff88000042f928\n R13: 00000000fffffff4 R14: 0000000000000000 R15: ffff88000042f9a0\n FS:  00007fe93905a950(0000) GS:ffff880008600000(0000) knlGS:0000000000000000\n CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n CR2: 0000000000000038 CR3: 00000000077c9000 CR4: 00000000000006e0\n DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n Process osspd (pid: 4737, threadinfo ffff88000042e000, task ffff880007eef040)\n Stack:\n  ffff880005da10e8 0000000011cc8d6e ffff88000042f928 ffff880003d28a28\n \u003c0\u003e ffff88000042f988 ffffffff811592d7 0000000000000000 0000000000000000\n \u003c0\u003e 0000000000000000 0000000000000000 ffff88000042f958 0000000011cc8d6e\n Call Trace:\n  [\u003cffffffff811592d7\u003e] create_dir+0x67/0xe0\n  [\u003cffffffff811593a8\u003e] sysfs_create_dir+0x58/0xb0\n  [\u003cffffffff8128ca7c\u003e] ? kobject_add_internal+0xcc/0x220\n  [\u003cffffffff812942e1\u003e] ? vsnprintf+0x3c1/0xb90\n  [\u003cffffffff8128cab7\u003e] kobject_add_internal+0x107/0x220\n  [\u003cffffffff8128cd37\u003e] kobject_add_varg+0x47/0x80\n  [\u003cffffffff8128ce53\u003e] kobject_add+0x53/0x90\n  [\u003cffffffff81357d84\u003e] device_add+0xd4/0x690\n  [\u003cffffffff81356c2b\u003e] ? dev_set_name+0x4b/0x70\n  [\u003cffffffffa001a884\u003e] cuse_process_init_reply+0x2b4/0x420 [cuse]\n  ...\n\nThe problem is that kobject_add_internal() first adds a kobject to the\nkset and then try to create sysfs directory for it.  If the creation\nfails, it remove the kobject from the kset.  get_device_parent()\naccesses class_dirs kset while only holding class_dirs.list_lock to\nsee whether the cuse class dir exists.  But when it exists, it may not\nhave finished initialization yet or may fail and get removed soon.  In\nthe above case, the former happened so the second one ends up trying\nto create subdirectory under NULL sysfs_dirent.\n\nFix it by grabbing a mutex in get_device_parent().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Colin Guthrie \u003ccguthrie@mandriva.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "d690b2cd222afc75320b9b8e9da7df02e9e630ca",
      "tree": "41b7f13c7176bc74d7836a7ec585a5a456302ea9",
      "parents": [
        "87d1b3e60b55ef65f10054ccc319e5d67cf010e9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Mar 06 21:28:37 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Mar 06 21:28:37 2010 +0100"
      },
      "message": "PM: Provide generic subsystem-level callbacks\n\nThere are subsystems whose power management callbacks only need to\ninvoke the callbacks provided by device drivers.  Still, their system\nsleep PM callbacks should play well with the runtime PM callbacks,\nso that devices suspended at run time can be left in that state for\na system sleep transition.\n\nProvide a set of generic PM callbacks for such subsystems and\ndefine convenience macros for populating dev_pm_ops structures.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "f8824cee405c62ba465b85365201166d9cf86a14",
      "tree": "90020be3264ff98bad2f14759127a2d9693673d8",
      "parents": [
        "97df8c12995c5bac73e3bfeea4c5be155c1f4401"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 27 23:47:38 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:11 2010 +0100"
      },
      "message": "PM: Allow device drivers to use dpm_wait()\n\nThere are some dependencies between devices (in particular, between\nEHCI USB controllers and their OHCI/UHCI siblings) which are not\nreflected by the structure of the device tree.  With synchronous\nsuspend and resume these dependencies are taken into accout\nautomatically, because the devices in question are always registered\nin the right order, but to meet these constraints with asynchronous\nsuspend and resume the drivers of these devices will need to use\ndpm_wait() in their suspend/resume routines, so introduce a helper\nfunction allowing them to do that.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "97df8c12995c5bac73e3bfeea4c5be155c1f4401",
      "tree": "74de2a645bbdfc28048892f4964172a3e2cde781",
      "parents": [
        "5a2eb8585f3b38e01e30aacaa8b985a1520a993d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:25:31 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:11 2010 +0100"
      },
      "message": "PM: Start asynchronous resume threads upfront\n\nIt has been shown by testing that total device resume time can be\nreduced significantly (by as much as 50% or more) if the async\nthreads executing some devices\u0027 resume routines are all started\nbefore the main resume thread starts to handle the \"synchronous\"\ndevices.\n\nThis is a consequence of the fact that the slowest devices tend to be\nlocated at the end of dpm_list, so their resume routines are started\nvery late.  Consequently, they have to wait for all the preceding\n\"synchronous\" devices before their resume routines can be started\nby the main resume thread, even if they are \"asynchronous\".  By\nstarting their async threads upfront we effectively move those\ndevices towards the beginning of dpm_list, without breaking their\nordering with respect to their parents and children.  As a result,\ntheir resume routines are started much earlier and we are able to\nsave much more device resume time this way.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "5a2eb8585f3b38e01e30aacaa8b985a1520a993d",
      "tree": "471b33cc48cf48ed491e8b3f2934bfb3fa9e81e1",
      "parents": [
        "0e06b4a891c6a108412fe24b4500f499da2cf8a1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:25:23 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:10 2010 +0100"
      },
      "message": "PM: Add facility for advanced testing of async suspend/resume\n\nAdd configuration switch CONFIG_PM_ADVANCED_DEBUG for compiling in\nextra PM debugging/testing code allowing one to access some\nPM-related attributes of devices from the user space via sysfs.\n\nIf CONFIG_PM_ADVANCED_DEBUG is set, add sysfs attribute power/async\nfor every device allowing the user space to access the device\u0027s\npower.async_suspend flag and modify it, if desired.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "0e06b4a891c6a108412fe24b4500f499da2cf8a1",
      "tree": "ed254631bdc24e676b95b633d310b284a2df9c45",
      "parents": [
        "5af84b82701a96be4b033aaa51d86c72e2ded061"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:25:15 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:10 2010 +0100"
      },
      "message": "PM: Add a switch for disabling/enabling asynchronous suspend/resume\n\nAdd sysfs attribute /sys/power/pm_async allowing the user space to\ndisable/enable asynchronous suspend/resume of devices.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "5af84b82701a96be4b033aaa51d86c72e2ded061",
      "tree": "ac5751c7d2e9c17bf41dabdbeba964a05f09af18",
      "parents": [
        "8cc6b39ff36b4bbce2d7471da088df122b0e9033"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:23:32 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:09 2010 +0100"
      },
      "message": "PM: Asynchronous suspend and resume of devices\n\nTheoretically, the total time of system sleep transitions (suspend\nto RAM, hibernation) can be reduced by running suspend and resume\ncallbacks of device drivers in parallel with each other.  However,\nthere are dependencies between devices such that we\u0027re not allowed\nto suspend the parent of a device before suspending the device\nitself.  Analogously, we\u0027re not allowed to resume a device before\nresuming its parent.\n\nThe most straightforward way to take these dependencies into accout\nis to start the async threads used for suspending and resuming\ndevices at the core level, so that async_schedule() is called for\neach suspend and resume callback supposed to be executed\nasynchronously.\n\nFor this purpose, introduce a new device flag, power.async_suspend,\nused to mark the devices whose suspend and resume callbacks are to be\nexecuted asynchronously (ie. in parallel with the main suspend/resume\nthread and possibly in parallel with each other) and helper function\ndevice_enable_async_suspend() allowing one to set power.async_suspend\nfor given device (power.async_suspend is unset by default for all\ndevices).  For each device with the power.async_suspend flag set the\nPM core will use async_schedule() to execute its suspend and resume\ncallbacks.\n\nThe async threads started for different devices as a result of\ncalling async_schedule() are synchronized with each other and with\nthe main suspend/resume thread with the help of completions, in the\nfollowing way:\n(1) There is a completion, power.completion, for each device object.\n(2) Each device\u0027s completion is reset before calling async_schedule()\n    for the device or, in the case of devices with the\n    power.async_suspend flags unset, before executing the device\u0027s\n    suspend and resume callbacks.\n(3) During suspend, right before running the bus type, device type\n    and device class suspend callbacks for the device, the PM core\n    waits for the completions of all the device\u0027s children to be\n    completed.\n(4) During resume, right before running the bus type, device type and\n    device class resume callbacks for the device, the PM core waits\n    for the completion of the device\u0027s parent to be completed.\n(5) The PM core completes power.completion for each device right\n    after the bus type, device type and device class suspend (or\n    resume) callbacks executed for the device have returned.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "8cc6b39ff36b4bbce2d7471da088df122b0e9033",
      "tree": "e4abc6059ecf560f8fb363226a35fb981b0f0313",
      "parents": [
        "971cb7fba0c84dd74c39020f4596b08398f58199"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:03:29 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:09 2010 +0100"
      },
      "message": "PM: Add parent information to timing messages\n\nAdd parent information to the messages printed by the suspend/resume\ncore when initcall_debug is set.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "53823639173cc9e9a261f68f4abefe62364b86c6",
      "tree": "a4af3a12edea5cf24d23ddece703ec85bacffb42",
      "parents": [
        "68c6b859846bd078b37c6ca5f3882032f129e72d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:02:51 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:08 2010 +0100"
      },
      "message": "PM / Runtime: Add sysfs switch for disabling device run-time PM\n\nAdd new device sysfs attribute, power/control, allowing the user\nspace to block the run-time power management of the devices.  If this\nattribute is set to \"on\", the driver of the device won\u0027t be able to power\nmanage it at run time (without breaking the rules) and the device will\nalways be in the full power state (except when the entire system goes\ninto a sleep state).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\n"
    },
    {
      "commit": "18d19c96457d172d913510c083bc7411ed40cb10",
      "tree": "34f1eb4addd2550a3c6cc09cebec06795ef948e4",
      "parents": [
        "7c0ff870d1ed287504a61ed865f3d728c757436b"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Wed Feb 10 13:32:49 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Feb 16 15:43:00 2010 -0800"
      },
      "message": "class: Free the class private data in class_release\n\nFix a memory leak by freeing the memory allocated in __class_register\nfor the class private data.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nAcked-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bd796671f093d5b1841d383674d5650f5ec6c9c6",
      "tree": "65bfac2954e00ada1c7773f3650892456a51fa35",
      "parents": [
        "f776c5ec4690b21b3668ad5956774a22c86f541a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 19 13:08:16 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 20 15:02:13 2010 -0800"
      },
      "message": "Revert \"sysdev: fix prototype for memory_sysdev_class show/store functions\"\n\nThis reverts commit 8ff410daa009c4b44be445ded5b0cec00abc0426\n\nIt should not have been sent to Linus\u0027s tree yet, as it depends\non changes that are queued up in my driver-core for the .34 kernel\nmerge.\n\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: \"Zheng, Shaohui\" \u003cshaohui.zheng@intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f776c5ec4690b21b3668ad5956774a22c86f541a",
      "tree": "b634878d93ff3a3683240a138e5f2bca18d64733",
      "parents": [
        "24bc7347da73a9ed3383056c3d0f28c0e361621e"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Jan 18 14:36:12 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 20 15:02:05 2010 -0800"
      },
      "message": "driver-core: fix devtmpfs crash on s390\n\nOn Mon, Jan 18, 2010 at 05:26:20PM +0530, Sachin Sant wrote:\n\u003e Hello Heiko,\n\u003e\n\u003e Today while trying to boot next-20100118 i came across\n\u003e the following Oops :\n\u003e\n\u003e Brought up 4 CPUs\n\u003e Unable to handle kernel pointer dereference at virtual kernel address 0000000000\n\u003e 543000\n\u003e Oops: 0004 #1 SMP\n\u003e Modules linked in:\n\u003e CPU: 0 Not tainted 2.6.33-rc4-autotest-next-20100118-5-default #1\n\u003e Process swapper (pid: 1, task: 00000000fd792038, ksp: 00000000fd797a30)\n\u003e Krnl PSW : 0704200180000000 00000000001eb0b8 (shmem_parse_options+0xc0/0x328)\n\u003e           R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3\n\u003e Krnl GPRS: 000000000054388a 000000000000003d 0000000000543836 000000000000003d\n\u003e           0000000000000000 0000000000483f28 0000000000536112 00000000fd797d00\n\u003e           00000000fd4ba100 0000000000000100 0000000000483978 0000000000543832\n\u003e           0000000000000000 0000000000465958 00000000001eb0b0 00000000fd797c58\n\u003e Krnl Code: 00000000001eb0aa: c0e5000994f1       brasl   %r14,31da8c\n\u003e           00000000001eb0b0: b9020022           ltgr    %r2,%r2\n\u003e           00000000001eb0b4: a784010b           brc     8,1eb2ca\n\u003e          \u003e00000000001eb0b8: 92002000           mvi     0(%r2),0\n\u003e           00000000001eb0bc: a7080000           lhi     %r0,0\n\u003e           00000000001eb0c0: 41902001           la      %r9,1(%r2)\n\u003e           00000000001eb0c4: b9040016           lgr     %r1,%r6\n\u003e           00000000001eb0c8: b904002b           lgr     %r2,%r11\n\u003e Call Trace:\n\u003e (\u003c00000000fd797c50\u003e 0xfd797c50)\n\u003e \u003c00000000001eb5da\u003e shmem_fill_super+0x13a/0x25c\n\u003e \u003c0000000000228cfa\u003e get_sb_single+0xbe/0xdc\n\u003e \u003c000000000034ffc0\u003e dev_get_sb+0x2c/0x38\n\u003e \u003c000000000066c602\u003e devtmpfs_init+0x46/0xc0\n\u003e \u003c000000000066c53e\u003e driver_init+0x22/0x60\n\u003e \u003c000000000064d40a\u003e kernel_init+0x24e/0x3d0\n\u003e \u003c000000000010a7ea\u003e kernel_thread_starter+0x6/0xc\n\u003e \u003c000000000010a7e4\u003e kernel_thread_starter+0x0/0xc\n\u003e\n\u003e I never tried to boot a kernel with DEVTMPFS enabled on a s390 box.\n\u003e So am wondering if this is supported or not ? If you think this\n\u003e is supported i will send a mail to community on this.\n\nThere is nothing arch specific to devtmpfs. This part crashes because the\nkernel tries to modify the data read-only section which is write protected\non s390.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8ff410daa009c4b44be445ded5b0cec00abc0426",
      "tree": "c8cd0a20b7116e7f150397d50b25fc626bec86dd",
      "parents": [
        "ba168fc37dea145deeb8fa9e7e71c748d2e00d74"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Jan 15 17:01:32 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 16 12:15:39 2010 -0800"
      },
      "message": "sysdev: fix prototype for memory_sysdev_class show/store functions\n\nThe function prototype mismatches in call stack:\n\n                [\u003cffffffff81494268\u003e] print_block_size+0x58/0x60\n                [\u003cffffffff81487e3f\u003e] sysdev_class_show+0x1f/0x30\n                [\u003cffffffff811d629b\u003e] sysfs_read_file+0xcb/0x1f0\n                [\u003cffffffff81176328\u003e] vfs_read+0xc8/0x180\n\nDue to prototype mismatch, print_block_size() will sprintf() into\n*attribute instead of *buf, hence user space will read the initial\nzeros from *buf:\n\t$ hexdump /sys/devices/system/memory/block_size_bytes\n\t0000000 0000 0000 0000 0000\n\t0000008\n\nAfter patch:\n\tcat /sys/devices/system/memory/block_size_bytes\n\t0x8000000\n\nThis complements commits c29af9636 and 4a0b2b4dbe.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: \"Zheng, Shaohui\" \u003cshaohui.zheng@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba168fc37dea145deeb8fa9e7e71c748d2e00d74",
      "tree": "3fb569dfcf03e77ce27ce8efa0d477a8f46c8a95",
      "parents": [
        "fce66477578d081f19aef5ea218664ff7758c33a"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Jan 15 17:01:31 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 16 12:15:39 2010 -0800"
      },
      "message": "memory-hotplug: add 0x prefix to HEX block_size_bytes\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: 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": "0a88422312f5bf7b9e3450e27d8ddc385af38789",
      "tree": "6980d6971b0fbd9a0444e89beb1b2e61e4ec243c",
      "parents": [
        "1306d603fcf1f6682f8575d1ff23631a24184b21"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Jan 08 14:42:57 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:34:06 2010 -0800"
      },
      "message": "power: fix kernel-doc notation\n\nWarning(drivers/base/power/main.c:453): No description found for parameter \u0027dev\u0027\nWarning(drivers/base/power/main.c:453): No description found for parameter \u0027cb\u0027\nWarning(drivers/base/power/main.c:719): No description found for parameter \u0027dev\u0027\nWarning(drivers/base/power/main.c:719): No description found for parameter \u0027state\u0027\nWarning(drivers/base/power/main.c:719): No description found for parameter \u0027cb\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8042273801059884da2d53bbca34575d090b6f4e",
      "tree": "bc888394726172c0a489fd8bfa18b551272cbe69",
      "parents": [
        "0787fdf70ba4c41a3350096ebaa347a17e900385"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Dec 22 22:25:16 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:44 2009 -0800"
      },
      "message": "devtmpfs: unlock mutex in case of string allocation error\n\nReported-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0787fdf70ba4c41a3350096ebaa347a17e900385",
      "tree": "75a4bcdca005253e6b9b4e901f29672ef1352f5f",
      "parents": [
        "99b28f1b4126582f87ce454d4affb823bddf2cd8"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Mon Dec 21 11:41:08 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:44 2009 -0800"
      },
      "message": "Driver core: export platform_device_register_data as a GPL symbol\n\nThis allows MFD\u0027s to register/bind drivers for their sub devices while\nstill being compiled as a module.\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "99b28f1b4126582f87ce454d4affb823bddf2cd8",
      "tree": "c36557d76b62d9b7b765627f569981ddb69dcfb3",
      "parents": [
        "e6309e7568d4b9d62298a887b10de42df11cb8c1"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Mon Dec 14 20:28:12 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:44 2009 -0800"
      },
      "message": "driver core: Prevent reference to freed memory on error path\n\npriv is drv-\u003ep. So only free drv-\u003ep after we\u0027ve finished using priv.\n\nFound using a static code analysis tool\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e6309e7568d4b9d62298a887b10de42df11cb8c1",
      "tree": "e4c1fc9b2771eb95b9206668b2f1f7798088e1ab",
      "parents": [
        "099c2f21d8cf0724b85abb2c589d6276953781b7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Dec 10 19:32:49 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:44 2009 -0800"
      },
      "message": "Driver-core: Fix bogus 0 error return in device_add()\n\nIf device_add() is called with a device which does not have dev-\u003ep set\nup, then device_private_init() is called. If that succeeds, then the\nerror variable is set to 0. Now if the dev_name(dev) check further\ndown fails, then device_add() correctly terminates, but returns 0.\nThat of course lets the driver progress. If later another driver uses\nthis half set up device as parent then device_add() of the child\ndevice explodes and renders sysfs completely unusable.\n\nSet the error to -EINVAL if dev_name() check fails.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: \"Hans J. Koch\" \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "099c2f21d8cf0724b85abb2c589d6276953781b7",
      "tree": "7f84a98f4b3658871408794a59d04995d5ced254",
      "parents": [
        "66ecb92be9eb579df93add22d19843e7869f168e"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Fri Dec 18 15:34:21 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:43 2009 -0800"
      },
      "message": "Driver core: driver_attribute parameters can often be const*\n\nMany struct driver_attribute descriptors are purely read-only\nstructures, and there\u0027s no need to change them. Therefore make\nthe promise not to, which will let those descriptors be put in\na ro section.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "66ecb92be9eb579df93add22d19843e7869f168e",
      "tree": "60a8c4ecfd1ccb0743a137ecfbd972888dbd34ce",
      "parents": [
        "26579ab70aa0e0ea434e6e100279d2f67c094431"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Fri Dec 18 15:34:20 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:43 2009 -0800"
      },
      "message": "Driver core: bin_attribute parameters can often be const*\n\nMany struct bin_attribute descriptors are purely read-only\nstructures, and there\u0027s no need to change them. Therefore\nmake the promise not to, which will let those descriptors\nbe put in a ro section.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "26579ab70aa0e0ea434e6e100279d2f67c094431",
      "tree": "1c9dfd6ed6209ecee088e3e6b600ebd7fba24acc",
      "parents": [
        "8e9b9362266dd16255473c080d846b13e27247bf"
      ],
      "author": {
        "name": "Phil Carmody",
        "email": "ext-phil.2.carmody@nokia.com",
        "time": "Fri Dec 18 15:34:19 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:43 2009 -0800"
      },
      "message": "Driver core: device_attribute parameters can often be const*\n\nMost device_attributes are const, and are begging to be\nput in a ro section. However, the create and remove\nfile interfaces were failing to propagate the const promise\nwhich the only functions they call offer.\n\nSigned-off-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f1f76f865b5f66db5b5c7f2d19874f2bb9b43b8d",
      "tree": "39d051d6ad2c3560867c4553c93454f8972512bb",
      "parents": [
        "f42ecb2808db5386f983d593a7c08d3ea3b94a27"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 16 21:31:33 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Dec 23 11:23:42 2009 -0800"
      },
      "message": "devtmpfs: Convert dirlock to a mutex\n\ndevtmpfs has a rw_lock dirlock which serializes delete_path and\ncreate_path.\n\nThis code was obviously never tested with the usual set of debugging\nfacilities enabled. In the dirlock held sections the code calls:\n\n - vfs functions which take mutexes\n - kmalloc(, GFP_KERNEL)\n\nIn both code pathes the might sleep warning triggers and spams dmesg.\n\nConvert the rw_lock to a mutex. There is no reason why this needs to\nbe a rwlock.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2218a4fcf3cddd076aaf8855f675ce77f74a500b",
      "tree": "3cd0656eed0d9fbacd71048159ec1ba8a11dd53f",
      "parents": [
        "fe35d4a0289a8d6efcacb57e9a377b845686df10",
        "f1212ae1332b95fe3bafa7b5c063dd8e473247cf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:22:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 22 14:22:05 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM: Runtime PM documentation update\n  PM / Runtime: Use device type and device class callbacks\n  PM: Use pm_runtime_put_sync in system resume\n  PM: Measure device suspend and resume times\n  PM: Make the initcall_debug style timing for suspend/resume complete\n"
    },
    {
      "commit": "a6ab7aa9f432f722808c6fea5a8b7f5f229de031",
      "tree": "94cc8cddba15a02c4dd3989fbcebb0be1542d586",
      "parents": [
        "aa0baaef97c89de2ef216fcc017215ee01662a10"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 22 20:43:17 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 22 20:43:17 2009 +0100"
      },
      "message": "PM / Runtime: Use device type and device class callbacks\n\nThe power management of some devices is handled through device types\nand device classes rather than through bus types.  Since these\ndevices may also benefit from using the run-time power management\ncore, extend it so that the device type and device class run-time PM\ncallbacks can be taken into consideration by it if the bus type\ncallback is not defined.\n\nUpdate the run-time PM core documentation to reflect this change.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "aa0baaef97c89de2ef216fcc017215ee01662a10",
      "tree": "522e5cbe200ba5ddcaf905a826b2a58159a441eb",
      "parents": [
        "ecf762b2581e12ac761d12a6e4e297c2224aa899"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Dec 21 02:46:11 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Dec 21 02:46:11 2009 +0100"
      },
      "message": "PM: Use pm_runtime_put_sync in system resume\n\nThis patch (as1317) fixes a bug in the PM core.  When a device is\nresumed following a system sleep, the core decrements the device\u0027s\nruntime PM usage counter but doesn\u0027t issue an idle notification if the\ncounter reaches 0.  This could prevent an otherwise unused device from\nbeing runtime-suspended again after the system sleep.\n\nThe fix is to call pm_runtime_put_sync() instead of\npm_runtime_put_noidle().\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "925cc71e512a29e2594bcc17dc58d0a0e9c4d524",
      "tree": "7240ccf6ba713cc180d388a28f00c1a43293bc14",
      "parents": [
        "55639353a0035052d9ea6cfe4dde0ac7fcbb2c9f"
      ],
      "author": {
        "name": "Robert Jennings",
        "email": "rcj@linux.vnet.ibm.com",
        "time": "Thu Dec 17 14:44:38 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Fri Dec 18 14:53:36 2009 +1100"
      },
      "message": "mm: Add notifier in pageblock isolation for balloon drivers\n\nMemory balloon drivers can allocate a large amount of memory which is not\nmovable but could be freed to accomodate memory hotplug remove.\n\nPrior to calling the memory hotplug notifier chain the memory in the\npageblock is isolated.  Currently, if the migrate type is not\nMIGRATE_MOVABLE the isolation will not proceed, causing the memory removal\nfor that page range to fail.\n\nRather than failing pageblock isolation if the migrateteype is not\nMIGRATE_MOVABLE, this patch checks if all of the pages in the pageblock,\nand not on the LRU, are owned by a registered balloon driver (or other\nentity) using a notifier chain.  If all of the non-movable pages are owned\nby a balloon, they can be freed later through the memory notifier chain\nand the range can still be isolated in set_migratetype_isolate().\n\nSigned-off-by: Robert Jennings \u003crcj@linux.vnet.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Gerald Schaefer \u003cgeralds@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "ecf762b2581e12ac761d12a6e4e297c2224aa899",
      "tree": "272bcdc3576d64d6b0f3131c245770a7137a77e7",
      "parents": [
        "875ab0b74e85d6801a49392447d26e0b28688d86"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 18 01:57:47 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 18 01:57:47 2009 +0100"
      },
      "message": "PM: Measure device suspend and resume times\n\nMeasure and print the time of suspending and resuming all devices.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "875ab0b74e85d6801a49392447d26e0b28688d86",
      "tree": "03762971d57d0657a12a99f1a73473878c2c7ada",
      "parents": [
        "b8a7f3cd7e8212e5c572178ff3b5a514861036a5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 18 01:57:31 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 18 01:57:31 2009 +0100"
      },
      "message": "PM: Make the initcall_debug style timing for suspend/resume complete\n\nCommit f2511774863487e61b56a97da07ebf8dd61d7836\n(PM: Add initcall_debug style timing for suspend/resume) introduced\nbasic timing instrumentation, needed for a scritps/bootgraph.pl\nequivalent or humans, but it missed the fact that bus types and\ndevice classes which haven\u0027t been switched to using struct dev_pm_ops\nobjects yet need special handling.  As a result, the suspend/resume\ntiming information is only available for devices whose bus types or\ndevice classes use struct dev_pm_ops objects, so the majority of\ndevices is not covered.\n\nFix this by adding basic suspend/resume timing instrumentation for\ndevices whose bus types and device classes still don\u0027t use struct\ndev_pm_ops objects for power management.  To reduce code duplication\nmove the timing code to helper functions.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d4220f987cf473c65a342ca69e3eb13dea919a49",
      "tree": "dbb004a9c805d6de3f6e3955398fee1084a29f16",
      "parents": [
        "61cf693159d6a968a7014e24905143f71ed8ddcf",
        "f2c03debdfb387fa2e35cac6382779072b8b9209"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 12:36:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 12:36:49 2009 -0800"
      },
      "message": "Merge branch \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6\n\n* \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6: (34 commits)\n  HWPOISON: Remove stray phrase in a comment\n  HWPOISON: Try to allocate migration page on the same node\n  HWPOISON: Don\u0027t do early filtering if filter is disabled\n  HWPOISON: Add a madvise() injector for soft page offlining\n  HWPOISON: Add soft page offline support\n  HWPOISON: Undefine short-hand macros after use to avoid namespace conflict\n  HWPOISON: Use new shake_page in memory_failure\n  HWPOISON: Use correct name for MADV_HWPOISON in documentation\n  HWPOISON: mention HWPoison in Kconfig entry\n  HWPOISON: Use get_user_page_fast in hwpoison madvise\n  HWPOISON: add an interface to switch off/on all the page filters\n  HWPOISON: add memory cgroup filter\n  memcg: add accessor to mem_cgroup.css\n  memcg: rename and export try_get_mem_cgroup_from_page()\n  HWPOISON: add page flags filter\n  mm: export stable page flags\n  HWPOISON: limit hwpoison injector to known page types\n  HWPOISON: add fs/device filters\n  HWPOISON: return 0 to indicate success reliably\n  HWPOISON: make semantics of IGNORED/DELAYED clear\n  ...\n"
    },
    {
      "commit": "facb6011f3993947283fa15d039dacb4ad140230",
      "tree": "c317e401fa7c867e1652879627163331f43085ef",
      "parents": [
        "2326c467df4ff814dc07cf1bdaa1e6e0a9c9f21c"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Wed Dec 16 12:20:00 2009 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Wed Dec 16 12:20:00 2009 +0100"
      },
      "message": "HWPOISON: Add soft page offline support\n\nThis is a simpler, gentler variant of memory_failure() for soft page\nofflining controlled from user space.  It doesn\u0027t kill anything, just\ntries to invalidate and if that doesn\u0027t work migrate the\npage away.\n\nThis is useful for predictive failure analysis, where a page has\na high rate of corrected errors, but hasn\u0027t gone bad yet. Instead\nit can be offlined early and avoided.\n\nThe offlining is controlled from sysfs, including a new generic\nentry point for hard page offlining for symmetry too.\n\nWe use the page isolate facility to prevent re-allocation\nrace. Normally this is only used by memory hotplug. To avoid\nraces with memory allocation I am using lock_system_sleep().\nThis avoids the situation where memory hotplug is about\nto isolate a page range and then hwpoison undoes that work.\nThis is a big hammer currently, but the simplest solution\ncurrently.\n\nWhen the page is not free or LRU we try to free pages\nfrom slab and other caches. The slab freeing is currently\nquite dumb and does not try to focus on the specific slab\ncache which might own the page. This could be potentially\nimproved later.\n\nThanks to Fengguang Wu and Haicheng Li for some fixes.\n\n[Added fix from Andrew Morton to adapt to new migrate_pages prototype]\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n"
    },
    {
      "commit": "d8bed5a4f343d1826153ecf8e7932126c757a21d",
      "tree": "6fab621d5005ed847b24962eb2ca707225ac870b",
      "parents": [
        "33c3374031facf7599c30a1548dfa4c83da87da3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 13 20:48:54 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 15 20:42:06 2009 +0100"
      },
      "message": "PM: rwsem.h need not be included into main.c\n\nIt is not necessary to include \u003clinux/rwsem.h\u003e into\ndrivers/base/power/main.c, so don\u0027t do that.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "33c3374031facf7599c30a1548dfa4c83da87da3",
      "tree": "a13c07cf40f4a6d26236c4ec97420f4854f91fca",
      "parents": [
        "f2511774863487e61b56a97da07ebf8dd61d7836"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 13 20:31:12 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 15 20:42:06 2009 +0100"
      },
      "message": "PM: Remove unnecessary goto from device_resume_noirq()\n\nIn device_resume_noirq() there is the \u0027End\u0027 label and the associated\ngoto statement that aren\u0027t strictly necessary, so rework the code to\nget rid of them.  Also modify device_suspend_noirq() so that it looks\ncompletely analogous to device_resume_noirq().\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "f2511774863487e61b56a97da07ebf8dd61d7836",
      "tree": "892a238299f4e69e120b037310623e4bae5b690f",
      "parents": [
        "1d531c14d2ed4b24472a4d773f00ed6d1cd34ee7"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sun Dec 13 20:29:01 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 15 20:42:06 2009 +0100"
      },
      "message": "PM: Add initcall_debug style timing for suspend/resume\n\nIn order to diagnose overall suspend/resume times, we need\nbasic instrumentation to break down the total time into per\ndevice timing, similar to initcall_debug.\n\nThis patch adds the basic timing instrumentation, needed\nfor a scritps/bootgraph.pl equivalent or humans.\nThe bootgraph.pl program is still a work in progress, but\nis far enough along to know that this patch is sufficient.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "1d531c14d2ed4b24472a4d773f00ed6d1cd34ee7",
      "tree": "a61fd40d1104c9a02e15baa4496c11e148f20804",
      "parents": [
        "8bea8672edfca7ec5f661cafb218f1205863b343"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sun Dec 13 20:28:30 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Dec 15 20:42:06 2009 +0100"
      },
      "message": "PM: allow for usage_count \u003e 0 in pm_runtime_get()\n\nThis patch (as1308c) fixes __pm_runtime_get().  Currently the routine\nwill resume a device if the prior usage count was 0.  But this isn\u0027t\nright; thanks to pm_runtime_get_noresume() the usage count can be\npositive even while the device is suspended.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "9ae49fab239fb49de92a657c7426271e0793c4e1",
      "tree": "156f78df3db4dbc408f6839febe7adba148c2c9f",
      "parents": [
        "caed0f486e582eeeb6e3546417fd758230fe4ad9"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Dec 14 17:59:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:20 2009 -0800"
      },
      "message": "mm: slab-allocate memory section nodemask for large systems\n\nNodemasks should not be allocated on the stack for large systems (when it\nis larger than 256 bytes) since there is a threat of overflow.\n\nThis patch causes the unregister_mem_sect_under_nodes() nodemask to be\nallocated on the stack for smaller systems and be allocated by slab for\nlarger systems.\n\nGFP_KERNEL is used since remove_memory_block() can block.\n\nCc: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1830794ae6392ce12d36dbcc5ff52f11298ddab6",
      "tree": "b1ebda5a62d2b8d904840f041fc334fecc274b18",
      "parents": [
        "b9d52dad9447d0db4b52d67d5e9e9d339b5e8302"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Dec 14 17:59:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:18 2009 -0800"
      },
      "message": "mm: add numa node symlink for cpu devices in sysfs\n\nYou can discover which CPUs belong to a NUMA node by examining\n/sys/devices/system/node/node#/\n\nHowever, it\u0027s not convenient to go in the other direction, when looking at\n/sys/devices/system/cpu/cpu#/\n\nYes, you can muck about in sysfs, but adding these symlinks makes life a\nlot more convenient.\n\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b9d52dad9447d0db4b52d67d5e9e9d339b5e8302",
      "tree": "a3b58ae9c722e21567429b71dfc9b7abeee409c6",
      "parents": [
        "f8246f3159dfdf97b8b40f9e03e715bafedd22fc"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Dec 14 17:59:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:17 2009 -0800"
      },
      "message": "mm: refactor unregister_cpu_under_node()\n\nBy returning early if the node is not online, we can unindent the\ninteresting code by two levels.\n\nNo functional change.\n\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nCc: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8246f3159dfdf97b8b40f9e03e715bafedd22fc",
      "tree": "1e0b87b800a6efbba7c963665c1f129e208a6293",
      "parents": [
        "dee5d0d518defd0337a41f1a504428c9acc87be5"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Dec 14 17:59:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:17 2009 -0800"
      },
      "message": "mm: refactor register_cpu_under_node()\n\nBy returning early if the node is not online, we can unindent the\ninteresting code by one level.\n\nNo functional change.\n\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nCc: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dee5d0d518defd0337a41f1a504428c9acc87be5",
      "tree": "deb540b5ccc58f0e83114509e17dacb281fc12e5",
      "parents": [
        "d99be1a8ecf377c2c9b3372d36411ad6547bbd4c"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon Dec 14 17:59:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:17 2009 -0800"
      },
      "message": "mm: add numa node symlink for memory section in sysfs\n\nCommit c04fc586c (mm: show node to memory section relationship with\nsymlinks in sysfs) created symlinks from nodes to memory sections, e.g.\n\n/sys/devices/system/node/node1/memory135 -\u003e ../../memory/memory135\n\nIf you\u0027re examining the memory section though and are wondering what node\nit might belong to, you can find it by grovelling around in sysfs, but\nit\u0027s a little cumbersome.\n\nAdd a reverse symlink for each memory section that points back to the\nnode to which it belongs.\n\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nCc: Gary Hade \u003cgaryhade@us.ibm.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39da08cb074cf19cb249832a2a955dfb28837e65",
      "tree": "fded7c1757adb29aa682f86251addc66549b6907",
      "parents": [
        "4faf8d950ec438c49ae4526b897c30f8a2cad741"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Dec 14 17:58:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:13 2009 -0800"
      },
      "message": "hugetlb: offload per node attribute registrations\n\nOffload the registration and unregistration of per node hstate sysfs\nattributes to a worker thread rather than attempt the\nallocation/attachment or detachment/freeing of the attributes in the\ncontext of the memory hotplug handler.\n\nI don\u0027t know that this is absolutely required, but the registration can\nsleep in allocations and other mem hot plug handlers do it this way.  If\nit turns out this is NOT required, we can drop this patch.\n\nN.B.,  Only tested build, boot, libhugetlbfs regression.\n       i.e., no memory hotplug testing.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nReviewed-by: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4faf8d950ec438c49ae4526b897c30f8a2cad741",
      "tree": "2764787c538868e73958e176d46c542008f345c2",
      "parents": [
        "8fe23e057172223fe2048768a4d87ab7de7477bc"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Dec 14 17:58:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:13 2009 -0800"
      },
      "message": "hugetlb: handle memory hot-plug events\n\nRegister per node hstate attributes only for nodes with memory.  As\nsuggested by David Rientjes.\n\nWith Memory Hotplug, memory can be added to a memoryless node and a node\nwith memory can become memoryless.  Therefore, add a memory on/off-line\nnotifier callback to [un]register a node\u0027s attributes on transition\nto/from memoryless state.\n\nN.B.,  Only tested build, boot, libhugetlbfs regression.\n       i.e., no memory hotplug testing.\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nReviewed-by: Andi Kleen \u003candi@firstfloor.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a30523066cde73c1442b76224bb540de9f9b0b0",
      "tree": "57165f74e16def0b74bb6e6e05ec9a6b7bd42403",
      "parents": [
        "4e25b2576efda24c02e2d6b9bcb5965a3f865f33"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "lee.schermerhorn@hp.com",
        "time": "Mon Dec 14 17:58:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:12 2009 -0800"
      },
      "message": "hugetlb: add per node hstate attributes\n\nAdd the per huge page size control/query attributes to the per node\nsysdevs:\n\n/sys/devices/system/node/node\u003cID\u003e/hugepages/hugepages-\u003csize\u003e/\n\tnr_hugepages       - r/w\n\tfree_huge_pages    - r/o\n\tsurplus_huge_pages - r/o\n\nThe patch attempts to re-use/share as much of the existing global hstate\nattribute initialization and handling, and the \"nodes_allowed\" constraint\nprocessing as possible.\n\nCalling set_max_huge_pages() with no node indicates a change to global\nhstate parameters.  In this case, any non-default task mempolicy will be\nused to generate the nodes_allowed mask.  A valid node id indicates an\nupdate to that node\u0027s hstate parameters, and the count argument specifies\nthe target count for the specified node.  From this info, we compute the\ntarget global count for the hstate and construct a nodes_allowed node mask\ncontain only the specified node.\n\nSetting the node specific nr_hugepages via the per node attribute\neffectively ignores any task mempolicy or cpuset constraints.\n\nWith this patch:\n\n(me):ls /sys/devices/system/node/node0/hugepages/hugepages-2048kB\n./  ../  free_hugepages  nr_hugepages  surplus_hugepages\n\nStarting from:\nNode 0 HugePages_Total:     0\nNode 0 HugePages_Free:      0\nNode 0 HugePages_Surp:      0\nNode 1 HugePages_Total:     0\nNode 1 HugePages_Free:      0\nNode 1 HugePages_Surp:      0\nNode 2 HugePages_Total:     0\nNode 2 HugePages_Free:      0\nNode 2 HugePages_Surp:      0\nNode 3 HugePages_Total:     0\nNode 3 HugePages_Free:      0\nNode 3 HugePages_Surp:      0\nvm.nr_hugepages \u003d 0\n\nAllocate 16 persistent huge pages on node 2:\n(me):echo 16 \u003e/sys/devices/system/node/node2/hugepages/hugepages-2048kB/nr_hugepages\n\n[Note that this is equivalent to:\n\tnumactl -m 2 hugeadmin --pool-pages-min 2M:+16\n]\n\nYields:\nNode 0 HugePages_Total:     0\nNode 0 HugePages_Free:      0\nNode 0 HugePages_Surp:      0\nNode 1 HugePages_Total:     0\nNode 1 HugePages_Free:      0\nNode 1 HugePages_Surp:      0\nNode 2 HugePages_Total:    16\nNode 2 HugePages_Free:     16\nNode 2 HugePages_Surp:      0\nNode 3 HugePages_Total:     0\nNode 3 HugePages_Free:      0\nNode 3 HugePages_Surp:      0\nvm.nr_hugepages \u003d 16\n\nGlobal controls work as expected--reduce pool to 8 persistent huge pages:\n(me):echo 8 \u003e/sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages\n\nNode 0 HugePages_Total:     0\nNode 0 HugePages_Free:      0\nNode 0 HugePages_Surp:      0\nNode 1 HugePages_Total:     0\nNode 1 HugePages_Free:      0\nNode 1 HugePages_Surp:      0\nNode 2 HugePages_Total:     8\nNode 2 HugePages_Free:      8\nNode 2 HugePages_Surp:      0\nNode 3 HugePages_Total:     0\nNode 3 HugePages_Free:      0\nNode 3 HugePages_Surp:      0\n\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Eric Whitney \u003ceric.whitney@hp.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0316554d3586cbea60592a41391b5def2553d6f",
      "tree": "5e7418f0bacbc68cec5dfd1541e03eb56870aa02",
      "parents": [
        "fb0bbb92d42d5bd0ab224605444efdfed06d6934",
        "51e99be00ce2713cbb841cedc997cafa6e26c7f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 14 09:58:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (34 commits)\n  m68k: rename global variable vmalloc_end to m68k_vmalloc_end\n  percpu: add missing per_cpu_ptr_to_phys() definition for UP\n  percpu: Fix kdump failure if booted with percpu_alloc\u003dpage\n  percpu: make misc percpu symbols unique\n  percpu: make percpu symbols in ia64 unique\n  percpu: make percpu symbols in powerpc unique\n  percpu: make percpu symbols in x86 unique\n  percpu: make percpu symbols in xen unique\n  percpu: make percpu symbols in cpufreq unique\n  percpu: make percpu symbols in oprofile unique\n  percpu: make percpu symbols in tracer unique\n  percpu: make percpu symbols under kernel/ and mm/ unique\n  percpu: remove some sparse warnings\n  percpu: make alloc_percpu() handle array types\n  vmalloc: fix use of non-existent percpu variable in put_cpu_var()\n  this_cpu: Use this_cpu_xx in trace_functions_graph.c\n  this_cpu: Use this_cpu_xx for ftrace\n  this_cpu: Use this_cpu_xx in nmi handling\n  this_cpu: Use this_cpu operations in RCU\n  this_cpu: Use this_cpu ops for VM statistics\n  ...\n\nFix up trivial (famous last words) global per-cpu naming conflicts in\n\tarch/x86/kvm/svm.c\n\tmm/slab.c\n"
    },
    {
      "commit": "09cea96caa59fabab3030c53bd698b9b568d959a",
      "tree": "a991cdc0c887fdcda37f4b751ee98d3db9559f4e",
      "parents": [
        "6eb7365db6f3a4a9d8d9922bb0b800f9cbaad641",
        "e090aa80321b64c3b793f3b047e31ecf1af9538d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 12 14:27:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 12 14:27:24 2009 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (151 commits)\n  powerpc: Fix usage of 64-bit instruction in 32-bit altivec code\n  MAINTAINERS: Add PowerPC patterns\n  powerpc/pseries: Track previous CPPR values to correctly EOI interrupts\n  powerpc/pseries: Correct pseries/dlpar.c build break without CONFIG_SMP\n  powerpc: Make \"intspec\" pointers in irq_host-\u003exlate() const\n  powerpc/8xx: DTLB Miss cleanup\n  powerpc/8xx: Remove DIRTY pte handling in DTLB Error.\n  powerpc/8xx: Start using dcbX instructions in various copy routines\n  powerpc/8xx: Restore _PAGE_WRITETHRU\n  powerpc/8xx: Add missing Guarded setting in DTLB Error.\n  powerpc/8xx: Fixup DAR from buggy dcbX instructions.\n  powerpc/8xx: Tag DAR with 0x00f0 to catch buggy instructions.\n  powerpc/8xx: Update TLB asm so it behaves as linux mm expects.\n  powerpc/8xx: Invalidate non present TLBs\n  powerpc/pseries: Serialize cpu hotplug operations during deactivate Vs deallocate\n  pseries/pseries: Add code to online/offline CPUs of a DLPAR node\n  powerpc: stop_this_cpu: remove the cpu from the online map.\n  powerpc/pseries: Add kernel based CPU DLPAR handling\n  sysfs/cpu: Add probe/release files\n  powerpc/pseries: Kernel DLPAR Infrastructure\n  ...\n"
    },
    {
      "commit": "3589972e51fac1e02d0aaa576fa47f568cb94d40",
      "tree": "05e89c751f410a3b54583f948ff9ffc841c333ea",
      "parents": [
        "c60e0504c8e4fa14179d0687d80ef25148dd6dd4"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Dec 04 11:06:57 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:55 2009 -0800"
      },
      "message": "Driver core: fix race in dev_driver_string\n\nThis patch (as1310) works around a race in dev_driver_string().  If\nthe device is unbound while the function is running, dev-\u003edriver might\nbecome NULL after we test it and before we dereference it.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable \u003cstable@kernel.org\u003e\nCc: Oliver Neukum \u003coliver@neukum.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "c60e0504c8e4fa14179d0687d80ef25148dd6dd4",
      "tree": "01e8ba58e367cb6bd2ae4ee334265e5bd2800769",
      "parents": [
        "e16acb503b42ef241a9396de7c5a1614c74d8ca6"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@opensource.se",
        "time": "Fri Nov 27 17:38:51 2009 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:55 2009 -0800"
      },
      "message": "Driver Core: Early platform driver buffer\n\nAdd early_platform_init_buffer() support and update the\nearly platform driver code to allow passing parameters\nto the driver on the kernel command line.\n\nearly_platform_init_buffer() simply allows early platform\ndrivers to provide a pointer and length to a memory area\nwhere the remaining part of the kernel command line option\nwill be stored.\n\nNeeded to pass baud rate and other serial port options\nto the reworked early serial console code on SuperH.\n\nSigned-off-by: Magnus Damm \u003cdamm@opensource.se\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "18ef545e47c126abd87c013b762b5fbb574858ce",
      "tree": "f401af6e65f441898e4832878895a182b81a33c4",
      "parents": [
        "9ebfbd45f9d4ee9cd72529cf99e5f300eb398e67"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Nov 04 02:50:28 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:52 2009 -0800"
      },
      "message": "Driver core: Don\u0027t remove kobjects in device_shutdown.\n\ndevice_shutdown is defined to just shutdown the hardware and to not\nclean up any kernel data structures.  Therefore don\u0027t put the kobjects\nfor /sys/dev and /sys/dev/block and /sys/dev/char.\n\nThis ensures we don\u0027t remove /sys/dev/block and /sys/dev/char while\nwe still have symlinks from there to the actual devices.\n\nAcked-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9ebfbd45f9d4ee9cd72529cf99e5f300eb398e67",
      "tree": "6ad661c4b38d0fad8a88c4a0d28997e9303632f2",
      "parents": [
        "03d673e6af6490371aaf64dfe1f84c658c48b71d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 29 12:36:02 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:52 2009 -0800"
      },
      "message": "firmware_class: make request_firmware_nowait more useful\n\nUnfortunately, one cannot hold on to the struct firmware\nthat request_firmware_nowait() hands off, which is needed\nin some cases. Allow this by requiring the callback to\nfree it (via release_firmware).\n\nAdditionally, give it a gfp_t parameter -- all the current\nusers call it from a GFP_KERNEL context so the GFP_ATOMIC\nisn\u0027t necessary. This also marks an API break which is\nuseful in a sense, although that is obviously not the\nprimary purpose of this change.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCc: Ming Lei \u003ctom.leiming@gmail.com\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nCc: Pavel Roskin \u003cproski@gnu.org\u003e\nCc: Abhay Salunke \u003cabhay_salunke@dell.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "03d673e6af6490371aaf64dfe1f84c658c48b71d",
      "tree": "56c566d65852a24c807b9cda92e660c9a0564c29",
      "parents": [
        "ad72956df2ce83f58be1dc4e503c78c28e414c2c"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Oct 30 12:48:32 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:52 2009 -0800"
      },
      "message": "Driver-Core: devtmpfs - set root directory mode to 0755\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Mark Rosenstand \u003crosenstand@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ad72956df2ce83f58be1dc4e503c78c28e414c2c",
      "tree": "78c250e4e578251a6e09ec24b24c14c9aede6fd8",
      "parents": [
        "015bf43b07158668c2f38af463939afcc6d19403"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Oct 28 19:51:37 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:52 2009 -0800"
      },
      "message": "Driver Core: devtmpfs: cleanup node on device creation error\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "015bf43b07158668c2f38af463939afcc6d19403",
      "tree": "eb0b7fd69fbbe304e8fcf1490f1ba9d745d1019c",
      "parents": [
        "073120cc28ad9f6003452c8bb9d15a87b1820201"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Oct 28 19:51:26 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:52 2009 -0800"
      },
      "message": "Driver Core: devtmpfs: do not remove non-kernel-created directories\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "073120cc28ad9f6003452c8bb9d15a87b1820201",
      "tree": "e4c523586ad6d77069004d7f51d4ea65a7c507b2",
      "parents": [
        "ed413ae6e7813d3227eef43bc6d84ca4f4fe6b21"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Oct 28 19:51:17 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:51 2009 -0800"
      },
      "message": "Driver Core: devtmpfs: use sys_mount()\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ed413ae6e7813d3227eef43bc6d84ca4f4fe6b21",
      "tree": "648580b63fd02a8abd55b1f84171f93c2956dbe5",
      "parents": [
        "0092699643703aefca6af0aa758a73f1624d53be"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Oct 28 19:51:06 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:51 2009 -0800"
      },
      "message": "Driver core: devtmpfs: prevent concurrent subdirectory creation and removal\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0092699643703aefca6af0aa758a73f1624d53be",
      "tree": "7d6a4f563f995afea99e9a6b66af974f1bfa7437",
      "parents": [
        "f38506c49dab2751567423865941f32f2ea61c45"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Oct 28 19:50:57 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:51 2009 -0800"
      },
      "message": "Driver Core: devtmpfs: ignore umask while setting file mode\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4ef58d4e2ad1fa2a3e5bbf41af2284671fca8cf8",
      "tree": "856ba96302a36014736747e8464f80eeb827bbdd",
      "parents": [
        "f6c4c8195b5e7878823caa1181be404d9e86d369",
        "d014d043869cdc591f3a33243d3481fa4479c2d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)\n  tree-wide: fix misspelling of \"definition\" in comments\n  reiserfs: fix misspelling of \"journaled\"\n  doc: Fix a typo in slub.txt.\n  inotify: remove superfluous return code check\n  hdlc: spelling fix in find_pvc() comment\n  doc: fix regulator docs cut-and-pasteism\n  mtd: Fix comment in Kconfig\n  doc: Fix IRQ chip docs\n  tree-wide: fix assorted typos all over the place\n  drivers/ata/libata-sff.c: comment spelling fixes\n  fix typos/grammos in Documentation/edac.txt\n  sysctl: add missing comments\n  fs/debugfs/inode.c: fix comment typos\n  sgivwfb: Make use of ARRAY_SIZE.\n  sky2: fix sky2_link_down copy/paste comment error\n  tree-wide: fix typos \"couter\" -\u003e \"counter\"\n  tree-wide: fix typos \"offest\" -\u003e \"offset\"\n  fix kerneldoc for set_irq_msi()\n  spidev: fix double \"of of\" in comment\n  comment typo fix: sybsystem -\u003e subsystem\n  ...\n"
    },
    {
      "commit": "bcd6acd51f3d4d1ada201e9bc5c40a31d6d80c71",
      "tree": "2f6dffd2d3e4dd67355a224de7e7a960335a92fd",
      "parents": [
        "11c34c7deaeeebcee342cbc35e1bb2a6711b2431",
        "3ff6a468b45b5dfeb0e903e56f4eb27d34b2437c"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Dec 09 17:14:38 2009 +1100"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Dec 09 17:14:38 2009 +1100"
      },
      "message": "Merge commit \u0027origin/master\u0027 into next\n\nConflicts:\n\tinclude/linux/kvm.h\n"
    },
    {
      "commit": "51badebdcf394cc5fd574a524b55b3f6085e5e9c",
      "tree": "2e8173c3995f45a88826d5f453545a2c8dd86621",
      "parents": [
        "b6db63d1a7f0138f348ba7a648df35ac6365988e"
      ],
      "author": {
        "name": "Gautham R Shenoy",
        "email": "ego@in.ibm.com",
        "time": "Thu Nov 26 09:59:05 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Dec 09 17:09:36 2009 +1100"
      },
      "message": "powerpc/pseries: Serialize cpu hotplug operations during deactivate Vs deallocate\n\nCurrently the cpu-allocation/deallocation process comprises of two steps:\n- Set the indicators and to update the device tree with DLPAR node\n  information.\n\n- Online/offline the allocated/deallocated CPU.\n\nThis is achieved by writing to the sysfs tunables \"probe\" during allocation\nand \"release\" during deallocation.\n\nAt the sametime, the userspace can independently online/offline the CPUs of\nthe system using the sysfs tunable \"online\".\n\nIt is quite possible that when a userspace tool offlines a CPU\nfor the purpose of deallocation and is in the process of updating the device\ntree, some other userspace tool could bring the CPU back online by writing to\nthe \"online\" sysfs tunable thereby causing the deallocate process to fail.\n\nThe solution to this is to serialize writes to the \"probe/release\" sysfs\ntunable with the writes to the \"online\" sysfs tunable.\n\nThis patch employs a mutex to provide this serialization, which is a no-op on\nall architectures except PPC_PSERIES\n\nSigned-off-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nAcked-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "12633e803a2a556f6469e0933d08233d0844a2d9",
      "tree": "d32e3e32c163a57c9681009f5ea965088d9e4579",
      "parents": [
        "ab519a011caa5ec47d992cb8a4fc8e7af9b9e3f8"
      ],
      "author": {
        "name": "Nathan Fontenot",
        "email": "nfont@austin.ibm.com",
        "time": "Wed Nov 25 17:23:25 2009 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Dec 09 17:09:33 2009 +1100"
      },
      "message": "sysfs/cpu: Add probe/release files\n\nVersion 3 of this patch is updated with documentation added to\nDocumentation/ABI.  There are no changes to any of the C code from v2\nof the patch.\n\nIn order to support kernel DLPAR of CPU resources we need to provide an\ninterface to add (probe) and remove (release) the resource from the system.\nThis patch Creates new generic probe and release sysfs files to facilitate\ncpu probe/release.  The probe/release interface provides for allowing each\narch to supply their own routines for implementing the backend of adding\nand removing cpus to/from the system.\n\nThis also creates the powerpc specific stubs to handle the arch callouts\nfrom writes to the sysfs files.\n\nThe creation and use of these files is regulated by the\nCONFIG_ARCH_CPU_PROBE_RELEASE option so that only architectures that need the\ncapability will have the files created.\n\nSigned-off-by: Nathan Fontenot \u003cnfont@austin.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "d014d043869cdc591f3a33243d3481fa4479c2d0",
      "tree": "63626829498e647ba058a1ce06419fe7e4d5f97d",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "6070d81eb5f2d4943223c96e7609a53cdc984364"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\n\tkernel/irq/chip.c\n"
    },
    {
      "commit": "965c4ac0613b071d6f035334c5d9d942013df4f9",
      "tree": "6108441b938fe0c309a09e96784edcc91d9b8b3f",
      "parents": [
        "e1b1903eee71c5fa6063bbf713cfc947e76c4e04"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 03 21:04:41 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:17:57 2009 +0100"
      },
      "message": "PM / Runtime: Remove unnecessary braces in __pm_runtime_set_status()\n\nSome braces in __pm_runtime_set_status() are not necessary, so\nremove them.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "0ddf0ed1d47e2d4170fa2989273886a1df66a862",
      "tree": "179d0f0de4ef726209c068ea9616f5ccd6a73173",
      "parents": [
        "63c94801701abfea21570d3302687ec027ed33e8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 03 21:03:57 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:17:56 2009 +0100"
      },
      "message": "PM / Runtime: Ensure timer_expires is nonzero in pm_schedule_suspend()\n\nThe runtime PM core code assumes that dev-\u003epower.timer_expires is\nnonzero when the timer is scheduled, but it may become zero\nincidentally in pm_schedule_suspend().  Prevent this from happening\nby bumping dev-\u003epower.timer_expires up to 1 if it\u0027s 0 before calling\nmod_timer().\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\n"
    },
    {
      "commit": "63c94801701abfea21570d3302687ec027ed33e8",
      "tree": "4806596c35a8c92640e26fe66394b775dca2208c",
      "parents": [
        "7b199ca2025f4756daceec8802f07da636c524c9"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Dec 03 20:22:34 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:17:56 2009 +0100"
      },
      "message": "PM / Runtime: Use deferred_resume flag in pm_request_resume\n\nThis patch (as1307) adds a small optimization to\n__pm_request_resume().  If the device is currently being suspended,\nthere\u0027s no need to queue a work routine to resume it.  Setting the\ndeferred_resume flag will suffice.  (There\u0027s also a minor improvement\nto the function\u0027s code layout: An unnecessary \"else\" is removed.)\n\nAlso, the patch clarifies the usage of the deferred_resume flag.  It\nis meaningful only while a suspend is in progress, so it should be\ncleared just before a suspend starts, not just after one ends.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "bab636b921017f0db6e0c2979438f50b898a9808",
      "tree": "c220981cad0f886c0a7e34f54735e7bf384ff462",
      "parents": [
        "66d0ae4d6ffa45b8e6d8bdbf85f8f1b285c8152d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 03 20:21:21 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:17:56 2009 +0100"
      },
      "message": "PM / Runtime: Fix lockdep warning in __pm_runtime_set_status()\n\nLockdep complains about taking the parent lock in\n__pm_runtime_set_status(), so mark it as nested.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: stable@kernel.org\n"
    }
  ],
  "next": "af901ca181d92aac3a7dc265144a9081a86d8f39"
}
