)]}'
{
  "log": [
    {
      "commit": "770824bdc421ff58a64db608294323571c949f4c",
      "tree": "2fbeef604fe982bf322249a53a95dd2ff851d5f4",
      "parents": [
        "936577c61d0c10b8929608a92c98d839b22053bc"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Feb 22 18:38:50 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Feb 22 10:33:44 2009 -0800"
      },
      "message": "PM: Split up sysdev_[suspend|resume] from device_power_[down|up]\n\nMove the sysdev_suspend/resume from the callee to the callers, with\nno real change in semantics, so that we can rework the disabling of\ninterrupts during suspend/hibernation.\n\nThis is based on an earlier patch from Linus.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "adfafefd104d840ee4461965f22624d77532675b",
      "tree": "6c6ba553a2b11703bf5952bd789905ea37c4fc4f",
      "parents": [
        "460c1338fc05add0e8050d4945a46f207b13a5fc",
        "403f307576396f3362fbb65af190885b6036c72c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:26 2009 -0800"
      },
      "message": "Merge branch \u0027hibernate\u0027\n\n* hibernate:\n  PM: Fix suspend_console and resume_console to use only one semaphore\n  PM: Wait for console in resume\n  PM: Fix pm_notifiers during user mode hibernation\n  swsusp: clean up shrink_all_zones()\n  swsusp: dont fiddle with swappiness\n  PM: fix build for CONFIG_PM unset\n  PM/hibernate: fix \"swap breaks after hibernation failures\"\n  PM/resume: wait for device probing to finish\n  Consolidate driver_probe_done() loops into one place\n"
    },
    {
      "commit": "b090f9fa53d51c8a33370071de9e391919ee1fa7",
      "tree": "55cf1fe637cf4808d8139108c3d7871647dfc00f",
      "parents": [
        "ebae2604f2c3693717d9dc687c84578f0526480c"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Sat Feb 14 02:06:17 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM: Wait for console in resume\n\nAvoids later waking up to a blinking cursor if the device woke up and\nreturned to sleep before the console switch happened.\n\nSigned-off-by: Brian Swetland \u003cswetland@google.com\u003e\nSigned-off-by: Arve Hjønnevåg \u003carve@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ebae2604f2c3693717d9dc687c84578f0526480c",
      "tree": "b385e3b401ab8bc2f278aa36a03a639bf1ea61cd",
      "parents": [
        "0cb57258fe01e9b21076b6a15b6aec7a24168228"
      ],
      "author": {
        "name": "Andrey Borzenkov",
        "email": "arvidjaar@mail.ru",
        "time": "Sat Feb 14 02:05:14 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM: Fix pm_notifiers during user mode hibernation\n\nSnapshot device is opened with O_RDONLY during suspend and O_WRONLY durig\nresume.  Make sure we also call notifiers with correct parameter telling\nthem what we are really doing.\n\nSigned-off-by: Andrey Borzenkov \u003carvidjaar@mail.ru\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09664fda48c5dd63277f1f42888ca9d5dca6037a",
      "tree": "b5170e081b83fe449db1431c1a3591c162f528c4",
      "parents": [
        "a1bb7d61233ba5fb5cd865f907a9ddcc8f8c02bd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Feb 14 02:02:16 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM: fix build for CONFIG_PM unset\n\nCompilation of kprobes.c with CONFIG_PM unset is broken due to some broken\nconfig dependncies.  Fix that.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eed3ee08292d821282169708e5e8e89a0d0a0c63",
      "tree": "0c455705568521c99c84d9ef095a3ae29d1f02db",
      "parents": [
        "216773a787c3c46ef26bf1742c1fdba37d26be45"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sat Feb 14 02:00:19 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 21 14:17:17 2009 -0800"
      },
      "message": "PM/resume: wait for device probing to finish\n\nthe resume code does not currently wait for device probing to finish.\nEven without async function calls this is dicey and not correct,\nbut with async function calls during the boot sequence this is going\nto get hit more...\n\nThis patch adds the synchronization using the newly introduced helper.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba95fd47d177d46743ad94055908d22840370e06",
      "tree": "f29e6921fefba2728c3b7f6854ac7f7729f602b2",
      "parents": [
        "59af0a0b5848caf38f1bf7013905c3e9cdba4d1d",
        "be987fdb55a4726e2fcbab7501f89276bdb57288"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list\n  block: fix booting from partitioned md array\n  block: revert part of 18ce3751ccd488c78d3827e9f6bf54e6322676fb\n  cciss: PCI power management reset for kexec\n  paride/pg.c: xs(): \u0026\u0026/|| confusion\n  fs/bio: bio_alloc_bioset: pass right object ptr to mempool_free\n  block: fix bad definition of BIO_RW_SYNC\n  bsg: Fix sense buffer bug in SG_IO\n"
    },
    {
      "commit": "42f5e039c3f6512271636928ddc4e7f7a0371672",
      "tree": "6582d5f88aeaf112e2293a2147f263fb726352cb",
      "parents": [
        "67e055d144c5b2acdc1c63811fde031263bf92c5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 18 14:48:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:54 2009 -0800"
      },
      "message": "pm: fix build for CONFIG_PM unset\n\nCompilation of kprobes.c with CONFIG_PM unset is broken due to some broken\nconfig dependncies.  Fix that.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93dbb393503d53cd226e5e1f0088fe8f4dbaa2b8",
      "tree": "790365e207951cf6810e8995f3141ddc0b74519b",
      "parents": [
        "c1c201200a359cf3b6e2e36a4236cdca77a3cd8e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 16 10:25:40 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:00 2009 +0100"
      },
      "message": "block: fix bad definition of BIO_RW_SYNC\n\nWe can\u0027t OR shift values, so get rid of BIO_RW_SYNC and use BIO_RW_SYNCIO\nand BIO_RW_UNPLUG explicitly. This brings back the behaviour from before\n213d9417fec62ef4c3675621b9364a667954d4dd.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2d29c6a075787f2c1bc49b86a084d2b878f72fc4",
      "tree": "d5256827f6099e4358e360940684b40e7fc29b1b",
      "parents": [
        "2b25c9f01aa58d48129b2f93748dfb5d1f7ab0a2",
        "0a3db1cec5d476804185114ff5d1845aed3936b3",
        "9fdd54f206722ecee7fd7ba9dba26140450e7c32",
        "5ec5d38a1c8af255ffc481c81eef13e9155524b3",
        "4312495f7db63d27ef52ec83dab55f14a8c43827",
        "370154bbefb627cb5f987f5646284755c7684bc8",
        "4d9391557b68475b118ec7626607c37b14ae8c16",
        "62663ea8220366472fe20462831f2d69d7987439"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 01:34:56 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Feb 07 01:34:56 2009 -0500"
      },
      "message": "Merge branches \u0027release\u0027, \u0027asus\u0027, \u0027bugzilla-12450\u0027, \u0027cpuidle\u0027, \u0027debug\u0027, \u0027ec\u0027, \u0027misc\u0027, \u0027printk\u0027 and \u0027processor\u0027 into release\n"
    },
    {
      "commit": "abfe2d7b915c872f3a1fd203267cedebf90daa45",
      "tree": "a76cc5012e6d46da44b2e861df172ceef25bd39b",
      "parents": [
        "f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jan 19 20:54:54 2009 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue Jan 27 02:15:45 2009 -0500"
      },
      "message": "Hibernation: Introduce system_entering_hibernation\n\nIntroduce boolean function system_entering_hibernation() returning\n\u0027true\u0027 during the last phase of hibernation, in which devices are\nbeing put into low power states and the sleep state (for example,\nACPI S4) is finally entered.\n\nSome device drivers need such a function to check if the system is\nin the final phase of hibernation.  In particular, some SATA drivers\nare going to use it for blacklisting systems in which the disks\nshould not be spun down during the last phase of hibernation (the\nBIOS will do that anyway).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "091d71e023557136e96f0e54f301497a3fc95dc3",
      "tree": "342a69b70472a850997dff775fc0b2da453d1e28",
      "parents": [
        "1de9e8e70f5acc441550ca75433563d91b269bbe"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 17 00:10:45 2009 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 18:13:41 2009 -0500"
      },
      "message": "PM: Fix compilation warning in kernel/power/main.c\n\nReorder the code in kernel/power/main.c to fix compilation warning\ntriggered by unsetting CONFIG_SUSPEND.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "33f1d7ecc6cffff3c618a02295de969ebbacd95d",
      "tree": "66e5bc12c253f1b39abc468fbbf15d9cb455245d",
      "parents": [
        "c59765042f53a79a7a65585042ff463b69cb248c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 06 21:14:04 2009 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 14:32:17 2009 -0500"
      },
      "message": "PM: Fix freezer compilation if PM_SLEEP is unset\n\nFreezer fails to compile if with the following configuration\nsettings:\n\nCONFIG_CGROUPS\u003dy\nCONFIG_CGROUP_FREEZER\u003dy\nCONFIG_MODULES\u003dy\nCONFIG_FREEZER\u003dy\nCONFIG_PM\u003dy\nCONFIG_PM_SLEEP\u003dn\n\nFix this by making process.o compilation depend on CONFIG_FREEZER.\n\nReported-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "b2576e1d4408e134e2188c967b1f28af39cd79d4",
      "tree": "004f3c82faab760f304ce031d6d2f572e7746a50",
      "parents": [
        "3cc8a5f4ba91f67bbdb81a43a99281a26aab8d77",
        "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 09 03:39:43 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 09 03:39:43 2009 -0500"
      },
      "message": "Merge branch \u0027linus\u0027 into release\n"
    },
    {
      "commit": "81ff86a11f54c9e266c6a6bc3ecd2c9a0f1e11cc",
      "tree": "7fb09c281647bb0086014904dfc94f721656ca9d",
      "parents": [
        "1d7e6cca1dfd167e5f1e2a7c53119b0c80c90c35"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Jan 06 10:44:39 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:39 2009 -0800"
      },
      "message": "pm: struct device - replace bus_id with dev_name(), dev_set_name()\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "41c7bb9588904eb060a95bcad47bd3804a1ece25",
      "tree": "ccae4bd3cb26be171fad9e26147ef8839405f298",
      "parents": [
        "e0b582ec56f1a1d8b30ebf340a7b91fb09f26c8c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:28 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Thu Jan 01 10:12:28 2009 +1030"
      },
      "message": "cpumask: convert rest of files in kernel/\n\nImpact: Reduce stack usage, use new cpumask API.\n\nMainly changing cpumask_t to \u0027struct cpumask\u0027 and similar simple API\nconversion.  Two conversions worth mentioning:\n\n1) we use cpumask_any_but to avoid a temporary in kernel/softlockup.c,\n2) Use cpumask_var_t in taskstats_user_cmd().\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\n"
    },
    {
      "commit": "baa5835df10254762aedb6cb23a9c1508f969736",
      "tree": "a8f8b1117aa752fa2fad457e972de923eb4c1da6",
      "parents": [
        "846705deb059c352cc0e5806d5964f815b8c6d98"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Dec 08 00:52:49 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Dec 19 04:40:35 2008 -0500"
      },
      "message": "Hibernate: Replace unnecessary evaluation of pfn_to_page()\n\nReplace one evaluation of pfn_to_page() in copy_data_pages() with\nthe value of a local variable containing the right number already.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "846705deb059c352cc0e5806d5964f815b8c6d98",
      "tree": "50a8845b1449fe99144358cef6e04feab0941288",
      "parents": [
        "69643279a88dea000ac2f858091d0e365f778245"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 26 18:00:24 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Dec 19 04:40:35 2008 -0500"
      },
      "message": "Hibernate: Take overlapping zones into account (rev. 2)\n\nIt has been requested to make hibernation work with memory\nhotplugging enabled and for this purpose the hibernation code has to\nbe reworked to take the possible overlapping of zones into account.\nThus, rework the hibernation memory bitmaps code to prevent\nduplication of PFNs from occuring and add checks to make sure that\none page frame will not be marked as saveable many times.\n\nAdditionally, use list.h lists instead of open-coded lists to\nimplement the memory bitmaps.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "69643279a88dea000ac2f858091d0e365f778245",
      "tree": "c6b9a678ccfe9a4e22f747cb05b1bcf789e1b8d0",
      "parents": [
        "ba84ed9546e91348fdf3ff2bff859b0ee53b407a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 11 21:32:44 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Dec 19 04:40:35 2008 -0500"
      },
      "message": "Hibernate: Do not oops on resume if image data are incorrect\n\nDuring resume from hibernation using the userland interface image\ndata are being passed from the used space process to the kernel.\nThese data need not be valid, but currently the kernel sometimes\noopses if it gets invalid image data, which is wrong.  Make the\nkernel return error codes to the user space in such cases.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "3f4b0ef7f2899c91b1d6958779f084b44dd59d32",
      "tree": "c026201981ecac9c575653c9a46e4c1dea1245a2",
      "parents": [
        "3fe0313e6ec572e6bb3f9d247316a834336db4be"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 26 20:52:15 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Dec 19 04:40:34 2008 -0500"
      },
      "message": "ACPI hibernate: Add a mechanism to save/restore ACPI NVS memory\n\nAccording to the ACPI Specification 3.0b, Section 15.3.2,\n\"OSPM will call the _PTS control method some time before entering a\nsleeping state, to allow the platform\u0027s AML code to update this\nmemory image before entering the sleeping state. After the system\nawakes from an S4 state, OSPM will restore this memory area and call\nthe _WAK control method to enable the BIOS to reclaim its memory\nimage.\"  For this reason, implement a mechanism allowing us to save\nthe NVS memory during hibernation and to restore it during the\nsubsequent resume.\n\nBased on a patch by Zhang Rui.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\nCc: Zhang Rui \u003crui.zhang@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "3fe0313e6ec572e6bb3f9d247316a834336db4be",
      "tree": "a066731451d4a8da20b2c85211edba8a5ccefb32",
      "parents": [
        "929096fe9ff1f4b3645cf3919527ab47e8d5e17c"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Sun Oct 26 20:50:26 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Dec 19 04:40:34 2008 -0500"
      },
      "message": "Hibernate: Call platform_begin before swsusp_shrink_memory\n\nCall platform_begin() before swsusp_shrink_memory() so that we can\nalways allocate enough memory to save the ACPI NVS region from\nplatform_begin().\n\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nAcked-by: Nigel Cunningham \u003cnigel@tuxonice.net\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "30cd324e9787ccc9a5ede59742d5409857550692",
      "tree": "e53027e0283119de0ef4c3a431b1d20cd43003fb",
      "parents": [
        "c71dd42db2c6f1637b92502a214587431c1a6ad2",
        "6d102bc68f3dd2ae0e305b09170b1751aa67baeb",
        "3d9101e92529e1ff6014f95a69afc82f37b9b13a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:42:40 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 19 09:42:40 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/ring-buffer\u0027 and \u0027tracing/urgent\u0027 into tracing/core\n\nConflicts:\n\tinclude/linux/ftrace.h\n"
    },
    {
      "commit": "50c396d38c1a7f0c693579ec88cb4be3c0b0645e",
      "tree": "ba4771fb028bd042c4f977a5daf2af4a18af0e5c",
      "parents": [
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Nov 30 01:47:12 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 04 04:22:54 2008 -0500"
      },
      "message": "[PATCH] kill obsolete temporary comment in swsusp_close()\n\nit had been put there to mark the call of blkdev_put() that\nneeded proper argument propagated to it; later patch in the\nsame series had done just that.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cbe2f5a6e84eebb98ab42fc5e58c3cd5b7767349",
      "tree": "801547a9c777ce65ad291e1225e5266a1e34f99f",
      "parents": [
        "a0a70c735ef714fe1b6777b571630c3d50c7b008"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 10:37:12 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Nov 23 10:48:44 2008 +0100"
      },
      "message": "tracing: allow tracing of suspend/resume \u0026 hibernation code again\n\nImpact: widen function-tracing to suspend+resume (and hibernation) sequences\n\nNow that the ftrace kernel thread is gone, we can allow tracing\nduring suspend/resume again.\n\nSo revert these two commits:\n\n  f42ac38c5 \"ftrace: disable tracing for suspend to ram\"\n  41108eb10 \"ftrace: disable tracing for hibernation\"\n\nThis should be tested very carefully, as it could interact with\naltneratives instruction patching, etc.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a6a0c4ca7edb378a8a7332501f097089cb1051c4",
      "tree": "afc4bd95482576e7dfd0685d1cb2bed6cac65db9",
      "parents": [
        "72b51a6b4d803381f16d819df392dd1efd1c7181"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Nov 18 06:56:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 18 08:07:36 2008 -0800"
      },
      "message": "suspend: use WARN not WARN_ON to print the message\n\nBy using WARN(), kerneloops.org can collect which component is causing\nthe delay and make statistics about that. suspend_test_finish() is\ncurrently the number 2 item but unless we can collect who\u0027s causing\nit we\u0027re not going to be able to fix the hot topic ones..\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28959742c14918f153c1de641bb12b4ea44315a1",
      "tree": "d58404ebbdd572a2b86d62bafd7af0697cd9624e",
      "parents": [
        "4b30fbde910dd40b831528e916cb8a91823f618f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Nov 01 18:20:09 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 01 12:40:38 2008 -0700"
      },
      "message": "PM_TEST_SUSPEND should depend on RTC_CLASS, not RTC_LIB\n\nInsufficient dependency - we really want CONFIG_RTC_CLASS\u003dy there.\nThat will give us CONFIG_RTC_LIB\u003dy, so the old dependency can be\nsimply replaced.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "572c48921574dbe6dceb958cf965aa962baefde4",
      "tree": "c1d889288d567cb6b596d10041526d2a8031bae3",
      "parents": [
        "e5eb8caa83a76191feb9705c1a0a689ca260b91e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 08 13:24:05 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:49:06 2008 -0400"
      },
      "message": "[PATCH] sanitize blkdev_get() and friends\n\n* get rid of fake struct file/struct dentry in __blkdev_get()\n* merge __blkdev_get() and do_open()\n* get rid of flags argument of blkdev_get()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c2dd0dae185423fb243b13d490c3fcfaa18ff333",
      "tree": "e2d721533713fc2b09b6d06d64a306bbcf6c4c76",
      "parents": [
        "30c40d2c01f68c7eb1a41ab3552bdaf5dbf300d4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Oct 08 13:21:10 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:49:02 2008 -0400"
      },
      "message": "[PATCH] propagate mode through swsusp_close()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9a1c3542768b5a58e45a9216921cd10a3bae1205",
      "tree": "c20ffda950db868ec7e1e35aed532962de2ecfd9",
      "parents": [
        "511de73ff09034fb89c8d54bed201a10d057328c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 22 20:40:24 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:48:58 2008 -0400"
      },
      "message": "[PATCH] pass fmode_t to blkdev_put()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5a06915c6df9b89cda5ddb3f8cce5f9a6be534d2",
      "tree": "9c2cd3c928e1e29e34dcc90ea45deab12653c111",
      "parents": [
        "dc52ddc0e6f45b04780b26fc0813509f8e798c42"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "container freezer: skip frozen cgroups during power management resume\n\nWhen a system is resumed after a suspend, it will also unfreeze frozen\ncgroups.\n\nThis patchs modifies the resume sequence to skip the tasks which are part\nof a frozen control group.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: 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": "dc52ddc0e6f45b04780b26fc0813509f8e798c42",
      "tree": "384826e9fab4e434bc5c85ce744470ae472e52c3",
      "parents": [
        "8174f1503f4bf7e9a14b3fbbfdb30c6be6e29f77"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:34 2008 -0700"
      },
      "message": "container freezer: implement freezer cgroup subsystem\n\nThis patch implements a new freezer subsystem in the control groups\nframework.  It provides a way to stop and resume execution of all tasks in\na cgroup by writing in the cgroup filesystem.\n\nThe freezer subsystem in the container filesystem defines a file named\nfreezer.state.  Writing \"FROZEN\" to the state file will freeze all tasks\nin the cgroup.  Subsequently writing \"RUNNING\" will unfreeze the tasks in\nthe cgroup.  Reading will return the current state.\n\n* Examples of usage :\n\n   # mkdir /containers/freezer\n   # mount -t cgroup -ofreezer freezer  /containers\n   # mkdir /containers/0\n   # echo $some_pid \u003e /containers/0/tasks\n\nto get status of the freezer subsystem :\n\n   # cat /containers/0/freezer.state\n   RUNNING\n\nto freeze all tasks in the container :\n\n   # echo FROZEN \u003e /containers/0/freezer.state\n   # cat /containers/0/freezer.state\n   FREEZING\n   # cat /containers/0/freezer.state\n   FROZEN\n\nto unfreeze all tasks in the container :\n\n   # echo RUNNING \u003e /containers/0/freezer.state\n   # cat /containers/0/freezer.state\n   RUNNING\n\nThis is the basic mechanism which should do the right thing for user space\ntask in a simple scenario.\n\nIt\u0027s important to note that freezing can be incomplete.  In that case we\nreturn EBUSY.  This means that some tasks in the cgroup are busy doing\nsomething that prevents us from completely freezing the cgroup at this\ntime.  After EBUSY, the cgroup will remain partially frozen -- reflected\nby freezer.state reporting \"FREEZING\" when read.  The state will remain\n\"FREEZING\" until one of these things happens:\n\n\t1) Userspace cancels the freezing operation by writing \"RUNNING\" to\n\t\tthe freezer.state file\n\t2) Userspace retries the freezing operation by writing \"FROZEN\" to\n\t\tthe freezer.state file (writing \"FREEZING\" is not legal\n\t\tand returns EIO)\n\t3) The tasks that blocked the cgroup from entering the \"FROZEN\"\n\t\tstate disappear from the cgroup\u0027s set of tasks.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: export thaw_process]\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8174f1503f4bf7e9a14b3fbbfdb30c6be6e29f77",
      "tree": "a8df1ebd62255dd231452b3f72782604e8919991",
      "parents": [
        "83224b08372be48d5fcefedc4886457da29130c8"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sat Oct 18 20:27:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:33 2008 -0700"
      },
      "message": "container freezer: make refrigerator always available\n\nNow that the TIF_FREEZE flag is available in all architectures, extract\nthe refrigerator() and freeze_task() from kernel/power/process.c and make\nit available to all.\n\nThe refrigerator() can now be used in a control group subsystem\nimplementing a control group freezer.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Matt Helsley \u003cmatthltc@us.ibm.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": "1bfcf1304ea79c46efc3724e548b13b4b442b418",
      "tree": "5adbf95b25d1d9e86fc0e5d0784550ccb9bf5be9",
      "parents": [
        "574f34cee2b6574d43bf4506f771c1cec6a5d391"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Oct 15 22:01:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:29 2008 -0700"
      },
      "message": "pm: rework disabling of user mode helpers during suspend/hibernation\n\nWe currently use a PM notifier to disable user mode helpers before suspend\nand hibernation and to re-enable them during resume.  However, this is not\nan ideal solution, because if any drivers want to upload firmware into\nmemory before suspend, they have to use a PM notifier for this purpose and\nthere is no guarantee that the ordering of PM notifiers will be as\nexpected (ie.  the notifier that disables user mode helpers has to be run\nafter the driver\u0027s notifier used for uploading the firmware).\n\nFor this reason, it seems better to move the disabling and enabling of\nuser mode helpers to separate functions that will be called by the PM core\nas necessary.\n\n[akpm@linux-foundation.org: remove unneeded ifdefs]\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41108eb10142e0552f2de1e4c0675b108c5f018f",
      "tree": "bb9ef817e2729915fbbe29291c827e7eef83eb54",
      "parents": [
        "b09331e530777963ed65ce2fdf074b7b077768c7"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Aug 28 14:39:12 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 28 12:27:39 2008 -0700"
      },
      "message": "ftrace: disable tracing for hibernation\n\nIn accordance with commit f42ac38c59e0a03d6da0c24a63fb211393f484b0\n(\"ftrace: disable tracing for suspend to ram\"), disable tracing\naround the suspend code in hibernation code paths.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f42ac38c59e0a03d6da0c24a63fb211393f484b0",
      "tree": "1020864d18c6652444fe0ba2d39dd6e9e2f3c7d6",
      "parents": [
        "8560c650f340565b720fd57d1f9c99ab216d99d0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Aug 27 09:14:40 2008 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 27 13:54:20 2008 -0700"
      },
      "message": "ftrace: disable tracing for suspend to ram\n\nI\u0027ve been painstakingly debugging the issue with suspend to ram and\nftraced. The 2.6.28 code does not have this issue, but since the mcount\nrecording is not going to be in 27, this must be solved for the ftrace\ndaemon version.\n\nThe resume from suspend to ram would reboot because it was triple\nfaulting. Debugging further, I found that calling the mcount function\nitself was not an issue, but it would fault when it incremented\npreempt_count. preempt_count is on the tasks info structure that is on the\nlow memory address of the task\u0027s stack.  For some reason, it could not\nwrite to it. Resuming out of suspend to ram does quite a lot of funny\ntricks to get to work, so it is not surprising at all that simply doing a\npreempt_disable() would cause a fault.\n\nThanks to Rafael for suggesting to add a \"while (1);\" to find the place in\nresuming that is causing the fault. I would place the loop somewhere in\nthe code, compile and reboot and see if it would either reboot (hit the\nfault) or simply hang (hit the loop).  Doing this over and over again, I\nnarrowed it down that it was happening in enable_nonboot_cpus.\n\nAt this point, I found that it is easier to simply disable tracing around\nthe suspend code, instead of searching for the particular function that\ncan not handle doing a preempt_disable.\n\nThis patch disables the tracer as it suspends and reenables it on resume.\n\nI tested this patch on my Laptop, and it can resume fine with the patch.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a8fc9b248e77a4eab0613acf30a6811799786b3",
      "tree": "24b3beb8bc0633db27ffdb791f94dce95d51b1d0",
      "parents": [
        "d3ee1b405872214609868f3cde631ac157026dd0"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Aug 17 17:36:59 2008 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 23 12:14:12 2008 -0700"
      },
      "message": "removed unused #include \u003clinux/version.h\u003e\u0027s\n\nThis patch lets the files using linux/version.h match the files that\n#include it.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89081d17f7bb81d89fa1aa9b70f821c5cf4d39e9",
      "tree": "1835fa64801fee048c8074ae4d63b0a7f4b14ee3",
      "parents": [
        "3ab83521378268044a448113c6aa9a9e245f4d2f"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Jul 25 19:45:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:04 2008 -0700"
      },
      "message": "kexec jump: save/restore device state\n\nThis patch implements devices state save/restore before after kexec.\n\nThis patch together with features in kexec_jump patch can be used for\nfollowing:\n\n- A simple hibernation implementation without ACPI support.  You can kexec a\n  hibernating kernel, save the memory image of original system and shutdown\n  the system.  When resuming, you restore the memory image of original system\n  via ordinary kexec load then jump back.\n\n- Kernel/system debug through making system snapshot.  You can make system\n  snapshot, jump back, do some thing and make another system snapshot.\n\n- Cooperative multi-kernel/system.  With kexec jump, you can switch between\n  several kernels/systems quickly without boot process except the first time.\n  This appears like swap a whole kernel/system out/in.\n\n- A general method to call program in physical mode (paging turning\n  off). This can be used to invoke BIOS code under Linux.\n\nThe following user-space tools can be used with kexec jump:\n\n- kexec-tools needs to be patched to support kexec jump. The patches\n  and the precompiled kexec can be download from the following URL:\n       source: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec-tools-src_git_kh10.tar.bz2\n       patches: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec-tools-patches_git_kh10.tar.bz2\n       binary: http://khibernation.sourceforge.net/download/release_v10/kexec-tools/kexec_git_kh10\n\n- makedumpfile with patches are used as memory image saving tool, it\n  can exclude free pages from original kernel memory image file. The\n  patches and the precompiled makedumpfile can be download from the\n  following URL:\n       source: http://khibernation.sourceforge.net/download/release_v10/makedumpfile/makedumpfile-src_cvs_kh10.tar.bz2\n       patches: http://khibernation.sourceforge.net/download/release_v10/makedumpfile/makedumpfile-patches_cvs_kh10.tar.bz2\n       binary: http://khibernation.sourceforge.net/download/release_v10/makedumpfile/makedumpfile_cvs_kh10\n\n- An initramfs image can be used as the root file system of kexeced\n  kernel. An initramfs image built with \"BuildRoot\" can be downloaded\n  from the following URL:\n       initramfs image: http://khibernation.sourceforge.net/download/release_v10/initramfs/rootfs_cvs_kh10.gz\n  All user space tools above are included in the initramfs image.\n\nUsage example of simple hibernation:\n\n1. Compile and install patched kernel with following options selected:\n\nCONFIG_X86_32\u003dy\nCONFIG_RELOCATABLE\u003dy\nCONFIG_KEXEC\u003dy\nCONFIG_CRASH_DUMP\u003dy\nCONFIG_PM\u003dy\nCONFIG_HIBERNATION\u003dy\nCONFIG_KEXEC_JUMP\u003dy\n\n2. Build an initramfs image contains kexec-tool and makedumpfile, or\n   download the pre-built initramfs image, called rootfs.gz in\n   following text.\n\n3. Prepare a partition to save memory image of original kernel, called\n   hibernating partition in following text.\n\n4. Boot kernel compiled in step 1 (kernel A).\n\n5. In the kernel A, load kernel compiled in step 1 (kernel B) with\n   /sbin/kexec. The shell command line can be as follow:\n\n   /sbin/kexec --load-preserve-context /boot/bzImage --mem-min\u003d0x100000\n     --mem-max\u003d0xffffff --initrd\u003drootfs.gz\n\n6. Boot the kernel B with following shell command line:\n\n   /sbin/kexec -e\n\n7. The kernel B will boot as normal kexec. In kernel B the memory\n   image of kernel A can be saved into hibernating partition as\n   follow:\n\n   jump_back_entry\u003d`cat /proc/cmdline | tr \u0027 \u0027 \u0027\\n\u0027 | grep kexec_jump_back_entry | cut -d \u0027\u003d\u0027`\n   echo $jump_back_entry \u003e kexec_jump_back_entry\n   cp /proc/vmcore dump.elf\n\n   Then you can shutdown the machine as normal.\n\n8. Boot kernel compiled in step 1 (kernel C). Use the rootfs.gz as\n   root file system.\n\n9. In kernel C, load the memory image of kernel A as follow:\n\n   /sbin/kexec -l --args-none --entry\u003d`cat kexec_jump_back_entry` dump.elf\n\n10. Jump back to the kernel A as follow:\n\n   /sbin/kexec -e\n\n   Then, kernel A is resumed.\n\nImplementation point:\n\nTo support jumping between two kernels, before jumping to (executing)\nthe new kernel and jumping back to the original kernel, the devices\nare put into quiescent state, and the state of devices and CPU is\nsaved. After jumping back from kexeced kernel and jumping to the new\nkernel, the state of devices and CPU are restored accordingly. The\ndevices/CPU state save/restore code of software suspend is called to\nimplement corresponding function.\n\nKnown issues:\n\n- Because the segment number supported by sys_kexec_load is limited,\n  hibernation image with many segments may not be load. This is\n  planned to be eliminated by adding a new flag to sys_kexec_load to\n  make a image can be loaded with multiple sys_kexec_load invoking.\n\nNow, only the i386 architecture is supported.\n\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a2e2e3577c3ef2b5dbb866e97e612aae4adfa32f",
      "tree": "9f0889d3046078e1db7e8310171c7e3a48be42cc",
      "parents": [
        "44ccac13c7f4728cf2992d49384671a176db74dd"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Fri Jul 25 19:44:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:02 2008 -0700"
      },
      "message": "pm selftest: rtc paranoia\n\nCope with a quirk of some RTCs (notably ACPI ones) which aren\u0027t guaranteed\nto implement oneshot behavior when they woke the system from sleeep:\nforcibly disable the alarm, just in case.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0af566da6e9a4a2f5a83c5a70f3d0a772050e21",
      "tree": "4f7a4819abfde03938bb95c525ed652bcfe40a52",
      "parents": [
        "e41fb7c58e3ca18ec5c9c9bb7bb68e8e653c9e8e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Jul 23 21:28:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "pm: fix try_to_freeze_tasks()\u0027s use of do_div()\n\nFix try_to_freeze_tasks()\u0027s use of do_div() on an s64 by making\nelapsed_csecs64 a u64 instead and dividing that.\n\nPossibly this should be guarded lest the interval calculation turn up\nnegative, but the possible negativity of the result of the division is\ncast away anyway.\n\nThis was introduced by patch 438e2ce68dfd4af4cfcec2f873564fb921db4bb5.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f15fc4bdf91eb399da3f47a09c55831d9f22826",
      "tree": "4db94b5313a526d8a4fad64cd534021a86bc8a63",
      "parents": [
        "c1a220e7acf8ad2c03504891f4a70cd9c32c904b"
      ],
      "author": {
        "name": "Zhang Rui",
        "email": "rui.zhang@intel.com",
        "time": "Wed Jul 23 21:28:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:24 2008 -0700"
      },
      "message": "pm: schedule sysrq poweroff on boot cpu\n\nschedule sysrq poweroff on boot cpu.\n\nsysrq poweroff needs to disable nonboot cpus, and we need to run this on boot\ncpu to avoid any recursion.  http://bugzilla.kernel.org/show_bug.cgi?id\u003d10897\n\n[kosaki.motohiro@jp.fujitsu.com: build fix]\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nTested-by: Rus \u003charbour@sfinx.od.ua\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: 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": "0d83304c7e7bd3b05be90281b3a47841bc8f057a",
      "tree": "148e2dcfbbe385356af87629b59e71262adc68ce",
      "parents": [
        "8111d1b552349921aae1acf73e4e8cea98e80970"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Jul 23 21:28:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:23 2008 -0700"
      },
      "message": "pm: hibernation: simplify memory bitmap\n\nThis patch simplifies the memory bitmap manipulations.\n\n- remove the member size in struct bm_block\n\nIt is not necessary for struct bm_block to have the number of bit chunks that\ncan be calculated by using end_pfn and start_pfn.\n\n- use find_next_bit() for memory_bm_next_pfn\n\nNo need to invent the bitmap library only for the memory bitmap.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "77437fd4e61f87cc94d9314baa5cbf50e3ccdf54",
      "tree": "c458e2b5c55a53560ddbf0a3347cc8ca64974b45",
      "parents": [
        "0d63081d418c73cc187c893069e0f24c4c6eecd3"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Jul 23 21:28:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "pm: boot time suspend selftest\n\nBoot-time test for system suspend states (STR or standby).  The generic\nRTC framework triggers wakeup alarms, which are used to exit those states.\n\n  - Measures some aspects of suspend time ... this uses \"jiffies\" until\n    someone converts it to use a timebase that works properly even while\n    timer IRQs are disabled.\n\n  - Triggered by a command line parameter.  By default nothing even\n    vaguely troublesome will happen, but \"test_suspend\u003dmem\" will give\n    you a brief STR test during system boot.  (Or you may need to use\n    \"test_suspend\u003dstandby\" instead, if your hardware needs that.)\n\nThis isn\u0027t without problems.  It fires early enough during boot that for\nexample both PCMCIA and MMC stacks have misbehaved.  The workaround in\nthose cases was to boot without such media cards inserted.\n\n[matthltc@us.ibm.com: fix compile failure in boot time suspend selftest]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "393d81aa026e19b6ede6f5f11955c97ee62e5df5",
      "tree": "a1d9511e488e19d41089ff0a736f6ce52a81c6e5",
      "parents": [
        "93a0886e2368eafb9df5e2021fb185195cee88b2",
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 17 23:57:20 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 17 23:57:20 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into xen-64bit\n"
    },
    {
      "commit": "93a0886e2368eafb9df5e2021fb185195cee88b2",
      "tree": "5ba351bc94a9cd68bf6a7071603fe8f530485ec4",
      "parents": [
        "094029479be8eb380447f42eff1b35362ef1a464"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Jul 15 13:43:42 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 17 19:25:20 2008 +0200"
      },
      "message": "x86, xen, power: fix up config dependencies on PM\n\nXen save/restore needs bits of code enabled by PM_SLEEP, and PM_SLEEP\ndepends on PM.  So make XEN_SAVE_RESTORE depend on PM and PM_SLEEP\ndepend on XEN_SAVE_RESTORE.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc7c65db2845a8d17432d89252c4227a9a7cb15f",
      "tree": "79030b0aaaafc04bc4303c21495134e744afc058",
      "parents": [
        "8a0ca91e1db5de5eb5b18cfa919d52ff8be375af",
        "58b6e5538460be358fdf1286d9a2fbcfcc2cfaba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 16 17:25:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 16 17:25:46 2008 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (72 commits)\n  Revert \"x86/PCI: ACPI based PCI gap calculation\"\n  PCI: remove unnecessary volatile in PCIe hotplug struct controller\n  x86/PCI: ACPI based PCI gap calculation\n  PCI: include linux/pm_wakeup.h for device_set_wakeup_capable\n  PCI PM: Fix pci_prepare_to_sleep\n  x86/PCI: Fix PCI config space for domains \u003e 0\n  Fix acpi_pm_device_sleep_wake() by providing a stub for CONFIG_PM_SLEEP\u003dn\n  PCI: Simplify PCI device PM code\n  PCI PM: Introduce pci_prepare_to_sleep and pci_back_from_sleep\n  PCI ACPI: Rework PCI handling of wake-up\n  ACPI: Introduce new device wakeup flag \u0027prepared\u0027\n  ACPI: Introduce acpi_device_sleep_wake function\n  PCI: rework pci_set_power_state function to call platform first\n  PCI: Introduce platform_pci_power_manageable function\n  ACPI: Introduce acpi_bus_power_manageable function\n  PCI: make pci_name use dev_name\n  PCI: handle pci_name() being const\n  PCI: add stub for pci_set_consistent_dma_mask()\n  PCI: remove unused arch pcibios_update_resource() functions\n  PCI: fix pci_setup_device()\u0027s sprinting into a const buffer\n  ...\n\nFixed up conflicts in various files (arch/x86/kernel/setup_64.c,\narch/x86/pci/irq.c, arch/x86/pci/pci.h, drivers/acpi/sleep/main.c,\ndrivers/pci/pci.c, drivers/pci/pci.h, include/acpi/acpi_bus.h) from x86\nand ACPI updates manually.\n"
    },
    {
      "commit": "25f2f3daadaf0768a61d02ee3ed3d9a21e9dc46c",
      "tree": "6b17e6d78f562825cc9fc26259f9e5d5f8e80087",
      "parents": [
        "52d11025dba32bed696eaee1822b26529e764770"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jun 11 22:09:45 2008 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed Jul 16 23:27:03 2008 +0200"
      },
      "message": "snapshot: Use pm_mutex for mutual exclusion\n\nWe can avoid taking the BKL in snapshot_ioctl() if pm_mutex is used to prevent\nthe ioctls from being executed concurrently.\n\nIn addition, although it is only possible to open /dev/snapshot once, the task\nwhich has done that may spawn a child that will inherit the open descriptor,\nso in theory they can call snapshot_write(), snapshot_read() and\nsnapshot_release() concurrently.  pm_mutex can also be used for mutual\nexclusion in such cases.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "52d11025dba32bed696eaee1822b26529e764770",
      "tree": "2f7e5094656216c7a12dbcae08ef0cc4fd270dac",
      "parents": [
        "ebb12db51f6c13b30752fcf506baad4c617b153c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Wed Jun 11 22:07:52 2008 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed Jul 16 23:27:03 2008 +0200"
      },
      "message": "snapshot: Push BKL down into ioctl handlers\n\nPush BKL down into ioctl handlers - snapshot device.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n"
    },
    {
      "commit": "ebb12db51f6c13b30752fcf506baad4c617b153c",
      "tree": "55c08b82463ffd5b78a8bc4a4748261b02391593",
      "parents": [
        "d20a4dca47d2cd027ed58a13f91b424affd1f449"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jun 11 22:04:29 2008 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Wed Jul 16 23:27:03 2008 +0200"
      },
      "message": "Freezer: Introduce PF_FREEZER_NOSIG\n\nThe freezer currently attempts to distinguish kernel threads from\nuser space tasks by checking if their mm pointer is unset and it\ndoes not send fake signals to kernel threads.  However, there are\nkernel threads, mostly related to networking, that behave like\nuser space tasks and may want to be sent a fake signal to be frozen.\n\nIntroduce the new process flag PF_FREEZER_NOSIG that will be set\nby default for all kernel threads and make the freezer only send\nfake signals to the tasks having PF_FREEZER_NOSIG unset.  Provide\nthe set_freezable_with_signal() function to be called by the kernel\nthreads that want to be sent a fake signal for freezing.\n\nThis patch should not change the freezer\u0027s observable behavior.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "6717ef1aa750b54ddb9d8854b91707ee21f0ad23",
      "tree": "67ed73a352b2b023da126c0efb648db648782271",
      "parents": [
        "b3fe124389f9dd97f0bbd954da2910e286648f0f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 09 22:17:01 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 11:07:16 2008 +0200"
      },
      "message": "Revert \"suspend, xen: enable PM_SLEEP for CONFIG_XEN\"\n\nThis reverts commit 6fbbec428c8e7bb617da2e8a589af2e97bcf3bc4.\n\nRafael doesnt like it - it breaks various assumptions.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0775b3dbcb6d17b531b36df520ddab735647f3f7",
      "tree": "40025f051a03efe182ae012894dce7e8aadac1a6",
      "parents": [
        "b7c3c5c15936a40c79ef40af7b3bac801c7feb20"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Tue Jul 08 15:07:08 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 16 11:04:27 2008 +0200"
      },
      "message": "suspend, xen: enable PM_SLEEP for CONFIG_XEN\n\nXen save/restore requires PM_SLEEP to be set without requiring\nSUSPEND or HIBERNATION.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: Eduardo Habkost \u003cehabkost@redhat.com\u003e\nCc: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d8f3de0d2412bb91639cfefc5b3c79dbf3812212",
      "tree": "05d0530d06e898b7eeac5c781ee9f00972a7f67a",
      "parents": [
        "53eb2fbeb9e68e1a9a23945de8450999c46270ce"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jun 12 23:24:06 2008 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Jun 12 14:25:09 2008 -0700"
      },
      "message": "Suspend-related patches for 2.6.27\n\nACPI PM: Add possibility to change suspend sequence\n\nThere are some systems out there that don\u0027t work correctly with\nour current suspend/hibernation code ordering.  Provide a workaround\nfor these systems allowing them to pass \u0027acpi_sleep\u003dold_ordering\u0027 in\nthe kernel command line so that it will use the pre-ACPI 2.0 (\"old\")\nsuspend code ordering.\n\nUnfortunately, this requires us to add a platform hook to the\nresuming of devices for recovering the platform in case one of the\ndevice drivers\u0027 .suspend() routines returns error code.  Namely,\nACPI 1.0 specifies that _PTS should be called before suspending\ndevices, but _WAK still should be called before resuming them in\norder to undo the changes made by _PTS.  However, if there is an\nerror during suspending devices, they are automatically resumed\nwithout returning control to the PM core, so the _WAK has to be\ncalled from within device_resume() in that cases.\n\nThe patch also reorders and refactors the ACPI suspend/hibernation\ncode to avoid duplication as far as reasonably possible.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "1eede070a59e1cc73da51e1aaa00d9ab86572cfc",
      "tree": "eafccca4f2a1ae2e8ebb06d2dff9528d5a289da4",
      "parents": [
        "bb71ad880204b79d60331d3384103976e086cb9f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 20 23:00:01 2008 +0200"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jun 10 10:59:50 2008 -0700"
      },
      "message": "Introduce new top level suspend and hibernation callbacks\n\nIntroduce \u0027struct pm_ops\u0027 and \u0027struct pm_ext_ops\u0027 (\u0027ext\u0027 meaning\n\u0027extended\u0027) representing suspend and hibernation operations for bus\ntypes, device classes, device types and device drivers.\n\nModify the PM core to use \u0027struct pm_ops\u0027 and \u0027struct pm_ext_ops\u0027\nobjects, if defined, instead of the -\u003esuspend(), -\u003eresume(),\n-\u003esuspend_late(), and -\u003eresume_early() callbacks (the old callbacks\nwill be considered as legacy and gradually phased out).\n\nThe main purpose of doing this is to separate suspend (aka S2RAM and\nstandby) callbacks from hibernation callbacks in such a way that the\nnew callbacks won\u0027t take arguments and the semantics of each of them\nwill be clearly specified.  This has been requested for multiple\ntimes by many people, including Linus himself, and the reason is that\nwithin the current scheme if -\u003eresume() is called, for example, it\u0027s\ndifficult to say why it\u0027s been called (ie. is it a resume from RAM or\nfrom hibernation or a suspend/hibernation failure etc.?).\n\nThe second purpose is to make the suspend/hibernation callbacks more\nflexible so that device drivers can handle more than they can within\nthe current scheme.  For example, some drivers may need to prevent\nnew children of the device from being registered before their\n-\u003esuspend() callbacks are executed or they may want to carry out some\noperations requiring the availability of some other devices, not\ndirectly bound via the parent-child relationship, in order to prepare\nfor the execution of -\u003esuspend(), etc.\n\nUltimately, we\u0027d like to stop using the freezing of tasks for suspend\nand therefore the drivers\u0027 suspend/hibernation code will have to take\ncare of the handling of the user space during suspend/hibernation.\nThat, in turn, would be difficult within the current scheme, without\nthe new -\u003eprepare() and -\u003ecomplete() callbacks.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "96916090f488986a4ebb8e9ffa6a3b50881d5ccd",
      "tree": "f229e148db08280913ef1a4dbcb13ab5aff96170",
      "parents": [
        "75a44ce00b312f57264f42a0a985d17cd9994b98",
        "729b2bdbfa19dd9be98dbd49caf2773b3271cc24",
        "2f67a0695dc389247c05041b05d2a2b06fc102a3",
        "51ae796f7fa1d8034252628572053f477bc29913",
        "ce52ddf58cbc2c40f5f08d37d2217945e4d5adf3",
        "e1faa9da284d14487ed4280b4e87cfde8e1539af",
        "36a913586597cab1cd565e9bf348d037f0df955b",
        "9448b0d43e5509c6b7baca02510a92ef2de6e328",
        "99bda83e8b3140b7e81572a5aabc7dedb455b272",
        "1071695f17daf050638e0bc550db647f8237c3bb",
        "7aa0f1a8b1f7072990c9dc37f238c96dc6d78911",
        "68f12ae5d778279e13e406d3913c74c592307770",
        "66fb9d120e91050093b8ce4c1daa2e440660152b"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Apr 30 13:58:00 2008 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Apr 30 13:58:00 2008 -0400"
      },
      "message": "Merge branches \u0027release\u0027, \u0027acpica\u0027, \u0027bugzilla-10224\u0027, \u0027bugzilla-9772\u0027, \u0027bugzilla-9916\u0027, \u0027ec\u0027, \u0027eeepc\u0027, \u0027idle\u0027, \u0027misc\u0027, \u0027pm-legacy\u0027, \u0027sysfs-links-2.6.26\u0027, \u0027thermal\u0027, \u0027thinkpad\u0027 and \u0027video\u0027 into release\n"
    },
    {
      "commit": "b6f448e99ce7955b9707ed36a46cab2c6ddf7ddc",
      "tree": "74ae26692c1fd713a0178faca99dea6761d442e8",
      "parents": [
        "46fb6f110dfc3fc99f44cf701f66ea3e790b6a81"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@queued.net",
        "time": "Mon Apr 28 02:15:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:36 2008 -0700"
      },
      "message": "PM/gxfb: add hook to PM console layer that allows disabling of suspend VT switch\n\nPrior to suspend, we allocate and switch to a new VT; after suspend, we switch\nback to the original VT.  This can be slow, and is completely unnecessary if\nthe framebuffer we\u0027re using can restore video properly.\n\nThis adds a hook that allows drivers to select whether or not to do this vt\nswitch, and changes the gxfb driver to call this hook.  It also adds a module\nparam to gxfb to allow controlling of the vt switch (defaulting to no switch).\n\n(Note: I\u0027m not convinced that console_sem is the best way to protect this, but\nwe should probably have some form of locking..)\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\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": "6afe1a1fe8ff83f6ac2726b04665e76ba7b14f3e",
      "tree": "afb11aefbd33e4fa73b777abdd6ccbb42da36797",
      "parents": [
        "a985aabe4d7a720b109c2b63549f8641676a9c88"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Thu Mar 13 23:52:49 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Apr 15 03:19:07 2008 -0400"
      },
      "message": "PM: Remove legacy PM\n\nAFAICT pm_send_all is a nop when noone uses pm_register...\n\nHmm.. can we just force CONFIG_PM_LEGACY\u003dn, and see what happens?\n\nOr maybe this is better idea? It may break build somewhere, but it\nshould be easy to fix... (it builds here, i386 and x86-64).\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "29ea5171cbd08a7ef37e543cbf02447033f0e289",
      "tree": "80d6c7f8e002117283dd1c1db4d3a915833652c7",
      "parents": [
        "b4de123a0bc4a3f0c90899864d51299628729952",
        "53471121a8aad3f0b590bfce7c95a1f5f52150f3"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Mar 13 01:59:53 2008 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Mar 13 01:59:53 2008 -0400"
      },
      "message": "Merge branches \u0027release\u0027 and \u0027doc\u0027 into release\n"
    },
    {
      "commit": "53471121a8aad3f0b590bfce7c95a1f5f52150f3",
      "tree": "badfd31e8602fab32d9b5e693c6558e32e298e7d",
      "parents": [
        "a09a20b526fde0611b49b76521e3c546a47216a5"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Mar 12 18:10:51 2008 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Wed Mar 12 18:10:51 2008 -0400"
      },
      "message": "documentation:  Move power-related files to Documentation/power/\n\nMove 00-INDEX entries to power/00-INDEX (and add entry for\npm_qos_interface.txt).\n\nUpdate references to moved filenames.\n\nFix some trailing whitespace.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "a82f7119fd940c1505fc9fdf93d835fa52bc075d",
      "tree": "e8fc2aaa6dc73da9dc2626aa6d239bdcf8c9d44d",
      "parents": [
        "baadac8b10c5ac15ce3d26b68fa266c8889b163f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 12 00:34:57 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Mar 11 23:15:55 2008 -0400"
      },
      "message": "Hibernation: Fix mark_nosave_pages()\n\nThere is a problem in the hibernation code that triggers on some NUMA\nsystems on which pfn_valid() returns \u0027true\u0027 for some PFNs that don\u0027t\nbelong to any zone.  Namely, there is a BUG_ON() in\nmemory_bm_find_bit() that triggers for PFNs not belonging to any\nzone and passing the pfn_valid() test.  On the affected systems it\ntriggers when we mark PFNs reported by the platform as not saveable,\nbecause the PFNs in question belong to a region mapped directly using\niorepam() (i.e. the ACPI data area) and they pass the pfn_valid()\ntest.\n\nModify memory_bm_find_bit() so that it returns an error if given PFN\ndoesn\u0027t belong to any zone instead of crashing the kernel and ignore\nthe result returned by it in mark_nosave_pages(), while marking the\n\"nosave\" memory regions.\n\nThis doesn\u0027t affect the hibernation functionality, as we won\u0027t touch\nthe PFNs in question anyway.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9966 .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "13b1c3d4b49bd83d861c775ca2db54e1692a1b07",
      "tree": "6cefdfef300d3431f2b2b32ec86000b0132bd762",
      "parents": [
        "976dde010e513a9c7c3117a32b7b015f84b37430"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Mon Mar 03 20:22:05 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Mar 04 07:59:54 2008 -0800"
      },
      "message": "freezer vs stopped or traced\n\nThis changes the \"freezer\" code used by suspend/hibernate in its treatment\nof tasks in TASK_STOPPED (job control stop) and TASK_TRACED (ptrace) states.\n\nAs I understand it, the intent of the \"freezer\" is to hold all tasks\nfrom doing anything significant.  For this purpose, TASK_STOPPED and\nTASK_TRACED are \"frozen enough\".  It\u0027s possible the tasks might resume\nfrom ptrace calls (if the tracer were unfrozen) or from signals\n(including ones that could come via timer interrupts, etc).  But this\ndoesn\u0027t matter as long as they quickly block again while \"freezing\" is\nin effect.  Some minor adjustments to the signal.c code make sure that\ntry_to_freeze() very shortly follows all wakeups from both kinds of\nstop.  This lets the freezer code safely leave stopped tasks unmolested.\n\nChanging this fixes the longstanding bug of seeing after resuming from\nsuspend/hibernate your shell report \"[1] Stopped\" and the like for all\nyour jobs stopped by ^Z et al, as if you had freshly fg\u0027d and ^Z\u0027d them.\nIt also removes from the freezer the arcane special case treatment for\nptrace\u0027d tasks, which relied on intimate knowledge of ptrace internals.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3a2d5b700132f35401f1d9e22fe3c2cab02c2549",
      "tree": "ad991428c41aee92a5f78b06bf73430af0e6f7ae",
      "parents": [
        "39273b58a409cd6d65c9732bdca00bacd1626672"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Feb 23 19:13:25 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 10:40:04 2008 -0800"
      },
      "message": "PM: Introduce PM_EVENT_HIBERNATE callback state\n\nDuring the last step of hibernation in the \"platform\" mode (with the\nhelp of ACPI) we use the suspend code, including the devices\u0027\n-\u003esuspend() methods, to prepare the system for entering the ACPI S4\nsystem sleep state.\n\nBut at least for some devices the operations performed by the\n-\u003esuspend() callback in that case must be different from its operations\nduring regular suspend.\n\nFor this reason, introduce the new PM event type PM_EVENT_HIBERNATE and\npass it to the device drivers\u0027 -\u003esuspend() methods during the last phase\nof hibernation, so that they can distinguish this case and handle it as\nappropriate.  Modify the drivers that handle PM_EVENT_SUSPEND in a\nspecial way and need to handle PM_EVENT_HIBERNATE in the same way.\n\nThese changes are necessary to fix a hibernation regression related\nto the i915 driver (ref. http://lkml.org/lkml/2008/2/22/488).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nTested-by: Jeff Chua \u003cjeff.chua.linux@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a235efad548abd2ab5ebea45a9ffa750c814375",
      "tree": "9b8c6c1fa3d2e28d9bb198d7019cba8883d5299e",
      "parents": [
        "e80af3a8dbbbf431b2070cc760699f01c5a6ac69"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 20 01:47:44 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 21 02:15:28 2008 -0500"
      },
      "message": "Hibernation: Handle DEBUG_PAGEALLOC on x86\n\nMake hibernation work with CONFIG_DEBUG_PAGEALLOC set on x86, by\nchecking if the pages to be copied are marked as present in the\nkernel mapping and temporarily marking them as present if that\u0027s not\nthe case.  No functional modifications are introduced if\nCONFIG_DEBUG_PAGEALLOC is unset.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "23b168d425ca0ca25257ff8205a39f1c2d1b0f27",
      "tree": "db8849f78280ba6441306368ea5838d848123683",
      "parents": [
        "1a3b77ae60f19fa85f4cdc34b6c09efb1a18372c"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Tue Feb 05 19:27:12 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Feb 07 01:27:17 2008 -0500"
      },
      "message": "PM: documentation cleanups\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "47a460d5a307e639d6c9cdf9bb4857e2f5f3cb76",
      "tree": "afdb7f011316551978d301f4a7fcd79f347d8b33",
      "parents": [
        "cbed6c6e0f7a52859fd0207ef3ffcf4bfffdbf95"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Feb 04 22:30:06 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:22 2008 -0800"
      },
      "message": "kernel/power/disk.c: make code static\n\nresume_file[] and create_image() can become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\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": "9f8f2172537de7af0b0fbd33502d18d52b1339bc",
      "tree": "273c86583ed0295059c5526d3bd6927520a20add",
      "parents": [
        "e2848a0efedef4dad52d1334d37f8719cd6268fd"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:29:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:17 2008 -0800"
      },
      "message": "Page allocator: clean up pcp draining functions\n\n- Add comments explaing how drain_pages() works.\n\n- Eliminate useless functions\n\n- Rename drain_all_local_pages to drain_all_pages(). It does drain\n  all pages not only those of the local processor.\n\n- Eliminate useless interrupt off / on sequences. drain_pages()\n  disables interrupts on its own. The execution thread is\n  pinned to processor by the caller. So there is no need to\n  disable interrupts.\n\n- Put drain_all_pages() declaration in gfp.h and remove the\n  declarations from suspend.h and from mm/memory_hotplug.c\n\n- Make software suspend call drain_all_pages(). The draining\n  of processor local pages is may not the right approach if\n  software suspend wants to support SMP. If they call drain_all_pages\n  then we can make drain_pages() static.\n\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Daniel Walker \u003cdwalker@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a0a2f304612bd63948177fef05987f4bcaddcaf",
      "tree": "17a72bcefbb7806ed5e3627230d6d04fd5f06600",
      "parents": [
        "af258f516b3e4e214121f5d6d53cab32ce0d8010"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jan 11 01:25:21 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:59 2008 -0500"
      },
      "message": "Hibernation: Invoke suspend notifications after console switch\n\nFollowing the recent change in the suspend code path, switch consoles before\ncalling PM notifiers during hibernation.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "af258f516b3e4e214121f5d6d53cab32ce0d8010",
      "tree": "9ae8987d51217316aecfc0c04806cc6970cd69e6",
      "parents": [
        "17b7a89cfb6ea2ff103785f9b2580e5138b6cfd1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jan 11 01:22:23 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:58 2008 -0500"
      },
      "message": "Suspend: Invoke suspend notifications after console switch\n\nIn order to fix APM emulation it is necessary to enable apm-emulation\nnotifications for suspends triggered in various ways via the suspend\nnotifiers.  However, this will cause the systems using APM emulation\nto lock up between X being needed to switch away from the VT and X\nalready waiting for resume in the APM ioctl.\n\nThis patch moves the console switch (if enabled) before the suspend\nnotification (and after the resume notification) to avoid this issue.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "b28f508112c584cdfbb4d8a9489cc4b79dac68ee",
      "tree": "8269d53055d0368f6eb25fac6b9d29077382cbca",
      "parents": [
        "c9b6c8f68ee48e1e3dbb53e13316757e2c0b584d"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Jan 15 23:17:00 2008 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:58 2008 -0500"
      },
      "message": "Suspend: Add config option to disable the freezer if architecture wants that\n\nThis patch makes the freezer optional for suspend to allow the\nsystem to work (or not work) like the original PMU suspend.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "caea99ef339af8e07cda8d03fa415e4b8820f400",
      "tree": "46b975f61a3409a30fc6a7c15a6db2c7f6d9876b",
      "parents": [
        "60417f5976df029227450b46d7fa6f0e9b1e654c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 08 00:08:44 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:58 2008 -0500"
      },
      "message": "Hibernation: Introduce begin() and end() callbacks\n\nIntroduce global hibernation callback .end() and rename global\nhibernation callback .start() to .begin(), in analogy with the\nrecent modifications of the global suspend callbacks.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "c697eecebc6cfc0b393afea3c4ff1a5041526ad1",
      "tree": "36b0cb4e667792212c2b5d05ac212662555d1682",
      "parents": [
        "7671b8ae5381a504d4c4ef8dd9c47128c2c3fd7e"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 08 00:04:17 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:56 2008 -0500"
      },
      "message": "Suspend: Introduce begin() and end() callbacks\n\nOn ACPI systems the target state set by acpi_pm_set_target() is\nreset by acpi_pm_finish(), but that need not be called if the\nsuspend fails.  All platforms that use the .set_target() global\nsuspend callback are affected by analogous issues.\n\nFor this reason, we need an additional global suspend callback that\nwill reset the target state regardless of whether or not the suspend\nis successful.  Also, it is reasonable to rename the .set_target()\ncallback, since it will be used for a different purpose on ACPI\nsystems (due to ACPI 1.0x code ordering requirements).\n\nIntroduce the global suspend callback .end() to be executed at the\nend of the suspend sequence and rename the .set_target() global\nsuspend callback to .begin().\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "7671b8ae5381a504d4c4ef8dd9c47128c2c3fd7e",
      "tree": "f6b8c2ba01ce566549b948eb0cd7f713cf824a41",
      "parents": [
        "a3627f67b1d5ddd8f65eedc2a76da90fbe062530"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 14 01:07:13 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:56 2008 -0500"
      },
      "message": "suspend: fix ia64 allmodconfig build\n\nkernel/power/main.c:488: error: ‘pm_test_attr’ undeclared here (not in a function)\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "f4cb57007662a4ec3c2de3c027900223e0299bdd",
      "tree": "ec0c277f3cae26594714c458ad40b1e0e5aca484",
      "parents": [
        "801e4062fda6496fe9bee3e6915a2aa108f974e5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Dec 08 02:14:00 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Suspend: Clean up Kconfig (V2)\n\nThis cleans up the suspend Kconfig and removes the need to\ndeclare centrally which architectures support suspend. All\narchitectures that currently support suspend are modified\naccordingly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "801e4062fda6496fe9bee3e6915a2aa108f974e5",
      "tree": "092e988b58a3dae9135aac742c8318a5963f095f",
      "parents": [
        "23976728a48c3b76d34e17ead19addd52b3a280e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Dec 08 02:12:39 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Hibernation: Clean up Kconfig (V2)\n\nThis cleans up the hibernation Kconfig and removes the need to\ndeclare centrally which architectures support hibernation. All\narchitectures that currently support hibernation are modified\naccordingly.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "23976728a48c3b76d34e17ead19addd52b3a280e",
      "tree": "964eb95ae9dccb179165649c7ea631d96b23bc91",
      "parents": [
        "465d2b477f6a0ffe01242561a93e7bf81d67c776"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 08 02:09:43 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Hibernation: Update messages\n\nMake hibernation messages start with one common prefix \"PM: \" and use\nthe word \"hibernation\" in the messages as a synonym of \"suspend to\ndisk\".\n\nTurn some KERN_INFO messages into debug ones.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "465d2b477f6a0ffe01242561a93e7bf81d67c776",
      "tree": "c5d9f59e974b68d6d813a79422db3e488581f717",
      "parents": [
        "b6887a29441ed5f0728b31ce90c0f0a0427317a3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 08 02:08:38 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Suspend: Use common prefix in messages\n\nMake suspend messages start with one common prefix \"PM: \".\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "b6887a29441ed5f0728b31ce90c0f0a0427317a3",
      "tree": "a5bae281529bcbaa933eed539984ea2bd952fc7a",
      "parents": [
        "9575809c6fc15e7b6bb1932b6104c80a6d4ffdc9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 08 02:07:40 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Hibernation: Remove unnecessary variable declaration\n\nRemove the unnecessary extern declaration of resume_file[]\nfrom kernel/power/swap.c .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "9575809c6fc15e7b6bb1932b6104c80a6d4ffdc9",
      "tree": "75cbdf455233325575d5f892aaa0f561fa1a953c",
      "parents": [
        "9628c0ee6a6d9ef06a77ea25932c00817f9e88a0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 08 02:06:57 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Hibernation: Fix comment in disk.c\n\nFix a comment in kernel/power/disk.c so that it doesn\u0027t contain lines\nlonger that 80 characters.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "9628c0ee6a6d9ef06a77ea25932c00817f9e88a0",
      "tree": "d80ee478567a098cb7990d73f14ba4bd325c09de",
      "parents": [
        "72df68ca8e006a0107933c4fb13c741a0a48163f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 08 02:06:00 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:55 2008 -0500"
      },
      "message": "Suspend: Fix comment in main.c\n\nFix a comment in kernel/power/main.c so that it doesn\u0027t contain lines\nlonger that 80 characters.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "72df68ca8e006a0107933c4fb13c741a0a48163f",
      "tree": "c6d0d36bffc54989fffcebc8ec1368a47cfa6d65",
      "parents": [
        "2ed43b63285c394cb5e1829c199cc94c7b8233b9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 08 02:04:21 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "Hibernation: Move low level resume to disk.c\n\nMove the low level restore code to kernel/power/disk.c , since the\ncorresponding low level hibernation code is already there.\n\nMake restore fail if device_power_down(PMSG_PRETHAW) returns an\nerror.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "2ed43b63285c394cb5e1829c199cc94c7b8233b9",
      "tree": "6131e028d746b2fc77e53c53285a2e0896491266",
      "parents": [
        "825257569350e913bee3bc918508c0aa6e3398cd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 08 02:03:26 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "Suspend: Fix compilation warning for CONFIG_SUSPEND unset\n\nSuspend: Make debug facility depend on CONFIG_SUSPEND\n\nMake the new suspend debug facility code depend on CONFIG_SUSPEND,\nas appropriate, to remove the compiler warning printed when CONFIG_PM is set\nand CONFIG_SUSPEND is not set.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "825257569350e913bee3bc918508c0aa6e3398cd",
      "tree": "2d016a04dfc09938565d5e932f0d2d5e43fb6bdd",
      "parents": [
        "90dda1cb6ace6abd777f84bf051c4f86fa58986a"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Nov 19 23:49:18 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "PM: Convert PM notifiers to out-of-line code\n\nThis patch (as1008b) converts the PM notifier routines from inline\ncalls to out-of-line code.  It also prevents pm_chain_head from\nbeing created when CONFIG_PM_SLEEP isn\u0027t enabled, and EXPORTs the\nnotifier registration and unregistration routines.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "90dda1cb6ace6abd777f84bf051c4f86fa58986a",
      "tree": "b53a566118e5e130a55707bea6d01e112508c8df",
      "parents": [
        "ce2b7147bb83b7d729b17c1638f092a1bcba4981"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Nov 19 23:46:16 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "PM: Make PM_TRACE more architecture independent\n\nWhen trying to debug a suspend failure I started implementing\nPM_TRACE for powerpc. I then noticed that I\u0027m debugging a suspend\nfailure and so PM_TRACE isn\u0027t useful at all, but thought that\nnonetheless this could be useful in the future.\n\nBasically, to support PM_TRACE, you add a Kconfig option that\nselects PM_TRACE and provides the infrastructure as per the\nhelp text of PM_TRACE.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "4cc79776c9ea431790e04fcacbebb30d28eb1570",
      "tree": "42eb5b8c5f2a2d1fcfb1dae8fa77ad70be209cbb",
      "parents": [
        "039a75c6e17ba4ff76998d6ac6ee3d508fff1930"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Nov 19 23:42:31 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "Hibernation: New testing facility (rev. 2)\n\nMake it possible to test the hibernation core code with the help of the\n/sys/power/pm_test attribute introduced for suspend testing in the previous\npatch.\n\nWriting an appropriate string to this file causes the hibernation code to work\nin one of the test modes defined as follows:\n\nfreezer\n- test the freezing of processes\n\ndevices\n- test the freezing of processes and suspending of devices\n\nplatform\n- test the freezing of processes, suspending of devices and platform global\n  control methods(*)\n\nprocessors\n- test the freezing of processes, suspending of devices, platform global\n  control methods(*) and the disabling of nonboot CPUs\n\ncore\n- test the freezing of processes, suspending of devices, platform global\n  control methods(*), the disabling of nonboot CPUs and suspending of\n  platform/system devices\n\n(*) - the platform global control methods are only available on ACPI systems\n      and are only tested if the hibernation mode is set to \"platform\"\n\nThen, if a hibernation is started by normal means, the hibernation core will\nperform its normal operations up to the point indicated by given test level.\nNext, it will wait for 5 seconds and carry out the resume operations needed to\ntransition the system back to the fully functional state.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "039a75c6e17ba4ff76998d6ac6ee3d508fff1930",
      "tree": "050ce0df5ae0a7e823b2ceb4dec40e85fb5c987c",
      "parents": [
        "0e7d56e3d9d7e37c79d0e05ffb3994e34beb3bbc"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jan 29 00:29:06 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "suspend: build fix responding to 2.6.25 kset change\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "0e7d56e3d9d7e37c79d0e05ffb3994e34beb3bbc",
      "tree": "cac3e72f882085bc869df9302248a079c657bb10",
      "parents": [
        "c3e94d899c864e558f938f9845ddb8c2e5d5ccd0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Nov 19 23:41:19 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:54 2008 -0500"
      },
      "message": "Suspend: Testing facility (rev. 2)\n\nIntroduce sysfs attribute /sys/power/pm_test allowing one to test the suspend\ncore code.  Namely, writing one of the strings:\n\nfreezer\ndevices\nplatform\nprocessors\ncore\n\nto this file causes the suspend code to work in one of the test modes defined as\nfollows:\n\nfreezer\n- test the freezing of processes\n\ndevices\n- test the freezing of processes and suspending of devices\n\nplatform\n- test the freezing of processes, suspending of devices and platform global\n  control methods(*)\n\nprocessors\n- test the freezing of processes, suspending of devices, platform global\n  control methods and the disabling of nonboot CPUs\n\ncore\n- test the freezing of processes, suspending of devices, platform global\n  control methods, the disabling of nonboot CPUs and suspending of\n  platform/system devices\n\n(*) These are ACPI global control methods on ACPI systems\n\nThen, if a suspend is started by normal means, the suspend core will perform\nits normal operations up to the point indicated by given test level.  Next, it\nwill wait for 5 seconds and carry out the resume operations needed to transition\nthe system back to the fully functional state.\n\nWriting \"none\" to /sys/power/pm_test turns the testing off.\n\nWhen open for reading, /sys/power/pm_test contains a space-separated list of all\navailable tests (including \"none\" that represents the normal functionality) in\nwhich the current test level is indicated by square brackets.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "c3e94d899c864e558f938f9845ddb8c2e5d5ccd0",
      "tree": "cdc2d5007e2d8053ab1903f9e66c46dca9a9de81",
      "parents": [
        "2f8ed1c60b06b797bf79a1dc540f0bed8c9d75a0"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Nov 19 23:38:25 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:53 2008 -0500"
      },
      "message": "Hibernation: Add PM_RESTORE_PREPARE and PM_POST_RESTORE notifiers (rev. 2)\n\nAdd PM_RESTORE_PREPARE and PM_POST_RESTORE notifiers to the PM core, to be used\nin analogy with the existing PM_HIBERNATION_PREPARE and PM_POST_HIBERNATION\nnotifiers.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "2f8ed1c60b06b797bf79a1dc540f0bed8c9d75a0",
      "tree": "bf9157cf84a53b0ee74ba1e2b5bd9417589b9226",
      "parents": [
        "964756a52f4cf0417d515b7f01eec69db8cb0fe2"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Nov 19 23:36:20 2007 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:53 2008 -0500"
      },
      "message": "Hibernation: Move function prototypes to header\n\nThis patch moves the prototypes of count_highmem_pages() and\nrestore_highmem() to kernel/power/power.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "3010f8caa48ed38679cc32b0d8e84b82cb8d9980",
      "tree": "b25311fd5c66e2e1f392194089635c4c2fec557e",
      "parents": [
        "cc5d207c85b9a6fafebe2856ead0a9360978c8cd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 26 01:05:05 2007 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:53 2008 -0500"
      },
      "message": "Hibernation: Introduce exportable suspend ioctls header (rev. 2)\n\nMove the definitions of hibernation ioctls to a separate header file in\ninclude/linux, which can be exported to the user space.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "cc5d207c85b9a6fafebe2856ead0a9360978c8cd",
      "tree": "1a7c45b4ffb44a02a76ccd60ec318c796687d568",
      "parents": [
        "96f737490cfc368fdafe49769f52fc8460f9349f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 26 01:03:33 2007 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:53 2008 -0500"
      },
      "message": "Hibernation: Correct definitions of some ioctls (rev. 2)\n\nThree ioctl numbers belonging to the hibernation userland interface,\nSNAPSHOT_ATOMIC_SNAPSHOT, SNAPSHOT_AVAIL_SWAP, SNAPSHOT_GET_SWAP_PAGE,\nare defined in a wrong way (eg. not portable).  Provide new ioctl numbers for\nthese ioctls and mark the existing ones as deprecated.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "96f737490cfc368fdafe49769f52fc8460f9349f",
      "tree": "5c9df5fcb5e07e479fa988ac5d7d67b38cee87bd",
      "parents": [
        "eb57c1cf059630454b40fb8bb124e3f318d241f8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 26 01:02:15 2007 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:53 2008 -0500"
      },
      "message": "Hibernation: Mark SNAPSHOT_SET_SWAP_FILE ioctl as deprecated (rev. 2)\n\nMark the SNAPSHOT_SET_SWAP_FILE ioctl belonging to the hibernation userland\ninterface as deprecated.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "eb57c1cf059630454b40fb8bb124e3f318d241f8",
      "tree": "df8abba4265647f15b3b30053a4d843099bb6b9e",
      "parents": [
        "af508b34d27e3341287d89e0eae6752fdb1b873f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 26 01:01:10 2007 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:53 2008 -0500"
      },
      "message": "Hibernation: Rework platform support ioctls (rev. 2)\n\nModify the hibernation userland interface by adding two new ioctls to it,\nSNAPSHOT_PLATFORM_SUPPORT and SNAPSHOT_POWER_OFF, that can be used,\nrespectively, to switch the hibernation platform support on/off and to make the\nkernel transition the system to the hibernation state (eg. ACPI S4) using the\nplatform (eg. ACPI) driver.\n\nThese ioctls are intended to replace the misdesigned SNAPSHOT_PMOPS ioctl,\nwhich from now is regarded as obsolete and will be removed in the future.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "af508b34d27e3341287d89e0eae6752fdb1b873f",
      "tree": "b5d2a337d78dc25aadb02d481443d484e0dd368c",
      "parents": [
        "aa6299926950c8dfe2fea638276cad6def092bc9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Oct 26 00:59:31 2007 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:52 2008 -0500"
      },
      "message": "Hibernation: Introduce SNAPSHOT_GET_IMAGE_SIZE ioctl\n\nAdd a new ioctl, SNAPSHOT_GET_IMAGE_SIZE, returning the size of the (just\ncreated) hibernation image, to the hibernation userland interface.\n\nThis ioctl is necessary so that the userland utilities using the interface need\nnot access the hibernation image header, owned by the kernel, in order to obtain\nthe size of the image.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "75659ca0c10992dcb39258518368a0f6f56e935d",
      "tree": "5d014ceb2f10158061a23d0d976f9a613d85e659",
      "parents": [
        "fbdde7bd274d74729954190f99afcb1e3d9bbfba",
        "2dfe485a2c8afa54cb069fcf48476f6c90ea3fdf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 01 11:45:47 2008 +1100"
      },
      "message": "Merge branch \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc\n\n* \u0027task_killable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: (22 commits)\n  Remove commented-out code copied from NFS\n  NFS: Switch from intr mount option to TASK_KILLABLE\n  Add wait_for_completion_killable\n  Add wait_event_killable\n  Add schedule_timeout_killable\n  Use mutex_lock_killable in vfs_readdir\n  Add mutex_lock_killable\n  Use lock_page_killable\n  Add lock_page_killable\n  Add fatal_signal_pending\n  Add TASK_WAKEKILL\n  exit: Use task_is_*\n  signal: Use task_is_*\n  sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL\n  ptrace: Use task_is_*\n  power: Use task_is_*\n  wait: Use TASK_NORMAL\n  proc/base.c: Use task_is_*\n  proc/array.c: Use TASK_REPORT\n  perfmon: Use task_is_*\n  ...\n\nFixed up conflicts in NFS/sunrpc manually..\n"
    },
    {
      "commit": "d76e15fb20eeb7632ef38876a884fe3508b2c01d",
      "tree": "5f3d63e70d8ac2365ee0c3f6b0489c8377ec1cd0",
      "parents": [
        "37b0c020343080241984d978981d6caf877b278a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 27 11:28:26 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:25 2008 -0800"
      },
      "message": "driver core: make /sys/power a kobject\n\n/sys/power should not be a kset, that\u0027s overkill.  This patch renames it\nto power_kset and fixes up all usages of it in the tree.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "386f275f5d097758f867bc99ddeaeb7a03b6b190",
      "tree": "bd27130e78e1aad1ce080f8c8ca76b9166b33ed4",
      "parents": [
        "23b5212cc7422f475b82124334b64277b5b43013"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Nov 02 13:47:53 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:18 2008 -0800"
      },
      "message": "Driver Core: switch all dynamic ksets to kobj_sysfs_ops\n\nSwitch all dynamically created ksets, that export simple attributes,\nto kobj_attribute from subsys_attribute. Struct subsys_attribute will\nbe removed.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Mike Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Phillip Hellewell \u003cphillip@hellewell.homeip.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "039a5dcd2fc45188a2d522df630db4f7ef903a0f",
      "tree": "dbadc8ef13f00f90acf3c9caad8a3834a34f6ce9",
      "parents": [
        "7405c1e15edfe43b137bfbc5882f1af34d6d414d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 01 10:39:50 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:16 2008 -0800"
      },
      "message": "kset: convert /sys/power to use kset_create\n\nDynamically create the kset instead of declaring it statically.  We also\nrename power_subsys to power_kset to catch all users of the variable and\nwe properly export it so that people don\u0027t have to guess that it really\nis present in the system.\n\nThe pseries code is wierd, why is it createing /sys/power if CONFIG_PM\nis disabled?  Oh well, stupid big boxes ignoring config options...\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3514faca19a6fdc209734431c509631ea92b094e",
      "tree": "f6d102e6dec276f8e8d1044b47c74a02b901554f",
      "parents": [
        "c11c4154e7ff4cebfadad849b1e22689d759c3f4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 16 10:11:44 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:10 2008 -0800"
      },
      "message": "kobject: remove struct kobj_type from struct kset\n\nWe don\u0027t need a \"default\" ktype for a kset.  We should set this\nexplicitly every time for each kset.  This change is needed so that we\ncan make ksets dynamic, and cleans up one of the odd, undocumented\nassumption that the kset/kobject/ktype model has.\n\nThis patch is based on a lot of help from Kay Sievers.\n\nNasty bug in the block code was found by Dave Young\n\u003chidave.darkstar@gmail.com\u003e\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9f9adecd2d0e4f88fa0e8cb06c6ec207748df70a",
      "tree": "b3914860b74a9f6c3ae42016aa708b54040248f8",
      "parents": [
        "da8cadb31b82c9d41fc593c8deab6aa20b162d6b"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Thu Dec 13 17:38:03 2007 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 11 12:26:47 2008 -0500"
      },
      "message": "PM: ACPI and APM must not be enabled at the same time\n\nACPI and APM used \"pm_active\" to guarantee that\nthey would not be simultaneously active.\n\nBut pm_active was recently moved under CONFIG_PM_LEGACY,\nso that without CONFIG_PM_LEGACY, pm_active became a NOP --\nallowing ACPI and APM to both be simultaneously enabled.\nThis caused unpredictable results, including boot hangs.\n\nFurther, the code under CONFIG_PM_LEGACY is scheduled\nfor removal.\n\nSo replace pm_active with pm_flags.\npm_flags depends only on CONFIG_PM,\nwhich is present for both CONFIG_APM and CONFIG_ACPI.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9194\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d2f60e5faa9aef9a08d0abaee2007e5a0800d2c5",
      "tree": "e85f413bbfe4fe906249c53d553faf52768efec5",
      "parents": [
        "e64d66c8edf11629aa203328daf898775ee27dd4"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Dec 06 11:06:01 2007 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Dec 06 17:34:47 2007 -0500"
      },
      "message": "power: Use task_is_*\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "60a0d23386eab0559ad32ae50b200cc58545f327",
      "tree": "e80067693fe0600ae8cbb0b550b84ab22f43c4fe",
      "parents": [
        "c642b8391cf8efc3622cc97329a0f46e7cbb70b8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Nov 14 17:00:16 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:43 2007 -0800"
      },
      "message": "hibernate: fix lockdep report\n\nLockdep reports a circular locking dependency in the hibernate code\nbecause\n - during system boot hibernate code (from an initcall) locks pm_mutex\n   and then a sysfs buffer mutex via name_to_dev_t\n - during regular operation hibernate code locks pm_mutex under a\n   sysfs buffer mutex because it\u0027s called from sysfs methods.\n\nThe deadlock can never happen because during initcall invocation nothing\ncan write to sysfs yet. This removes the lockdep report by marking the\ninitcall locking as being in a different class.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df7c487250b17aa0caeee7d85f120330f1d31355",
      "tree": "bce0b3c04706ba89e410a22cc9c370086e931693",
      "parents": [
        "963151297328eea39933bda23959ce5319e99fb7"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Sat Oct 20 02:26:04 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 02:26:04 2007 +0200"
      },
      "message": "trivial copy_data_pages() tidy up\n\nChange the loop style of copy_data_pages() to remove a duplicate condition.\n\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    }
  ],
  "next": "9cd9a0058dd35268b24fa16795a92c800f4086d4"
}
