)]}'
{
  "log": [
    {
      "commit": "58aca23226a19983571bd3b65167521fc64f5869",
      "tree": "1fd3f54ce5f18dc972b77970289a27a4e4a39bee",
      "parents": [
        "6bcf19d02a5d7e627fa054f2f10e0a8d830df326"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 12 00:57:22 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:24 2008 -0700"
      },
      "message": "PM: Handle device registrations during suspend/resume\n\nModify the PM core to protect its data structures, specifically the\ndpm_active list, from being corrupted if a child of the currently\nsuspending device is registered concurrently with its -\u003esuspend()\ncallback.  In that case, since the new device (the child) is added\nto dpm_active after its parent, the PM core will attempt to\nsuspend it after the parent, which is wrong.\n\nIntroduce a new member of struct dev_pm_info, called \u0027sleeping\u0027,\nand use it to check if the parent of the device being added to\ndpm_active has been suspended, in which case the device registration\nfails.  Also, use \u0027sleeping\u0027 for checking if the ordering of devices\non dpm_active is correct.\n\nIntroduce variable \u0027all_sleeping\u0027 that will be set to \u0027true\u0027 once all\ndevices have been suspended and make new device registrations fail\nuntil \u0027all_sleeping\u0027 is reset to \u0027false\u0027, in order to avoid having\nunsuspended devices around while the system is going into a sleep state.\n\nRemove pm_sleep_rwsem which is not necessary any more.\n\nSpecial thanks to Alan Stern for discussions and suggestions that\nlead to the creation of this patch.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "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": "ffffa4b502099a03b5215b814fdcd79fb4348854",
      "tree": "31fd59aaca4278f0c124e77d427dbc58d98a2bf4",
      "parents": [
        "5a0a2f304612bd63948177fef05987f4bcaddcaf"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Fri Jan 11 01:26:57 2008 +0100"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Feb 01 18:30:59 2008 -0500"
      },
      "message": "PM: Remove obsolete /sys/devices/.../power/state docs\n\nThe /sys/devices/.../power/state files have been gone for a while\nnow, but I just noticed some documentation that still refers to\nthem.  (Fortunately described as DEPRECATED and WILL REMOVE).\n\nTime to remove that obsolete documentation too ...\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.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": "4fc0840006bf3df69dcf92397fdcaf85a542f939",
      "tree": "28d13c47e598d646314a062a73ebd20ca9f3ea1d",
      "parents": [
        "f1cc0a894c963923b766eb2d455747495e6e982d"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Thu Aug 10 16:38:28 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:37 2006 -0700"
      },
      "message": "updated Documentation/power/devices.txt\n\nThis turned into a rewrite of Documentation/power/devices.txt:\n\n - Provide more of the \"big picture\"\n\n - Fixup some of the horribly ancient/obsolete description of device suspend()\n   semantics; lots of text just got deleted.\n\n - Add a decent description of PM_EVENT_* codes, including the new PRETHAW code\n   needed in some swsusp scenarios.\n\n - Describe the new PM factorization from Linus:\n     * class suspend, current suspend, then suspend_late\n     * NOT suspend_prepare, it wasn\u0027t really usable\n     * resume_early, current resume, class resume.\n\n - Updates power/state docs to be correct, and deprecate its usage except for\n   driver testing.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1e724845034eb898c97dc6636207f0a231af9432",
      "tree": "1c99a56d22c10fe995ebc5c5a088233adeee677d",
      "parents": [
        "4039483fd3065920f035eed39ec59085421c0a4f"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Tue May 16 17:00:08 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:40:49 2006 -0700"
      },
      "message": "[PATCH] remove duplication from Documentation/power/devices.txt\n\nRemove a chunk of duplicated documentation text.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0b405a0f7e4d4d18fd1fe46ddf5ff465443036ab",
      "tree": "49d74df6eddfdd095c650e0af34cde7f4548a2d5",
      "parents": [
        "82428b62aa6294ea640c7e920a9224ecaf46db65"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Thu May 12 12:06:27 2005 -0700"
      },
      "committer": {
        "name": "Greg KH",
        "email": "gregkh@suse.de",
        "time": "Tue May 17 14:54:55 2005 -0700"
      },
      "message": "[PATCH] Driver Core: remove driver model detach_state\n\nThe driver model has a \"detach_state\" mechanism that:\n\n - Has never been used by any in-kernel drive;\n - Is superfluous, since driver remove() methods can do the same thing;\n - Became buggy when the suspend() parameter changed semantics and type;\n - Could self-deadlock when called from certain suspend contexts;\n - Is effectively wasted documentation, object code, and headspace.\n\nThis removes that \"detach_state\" mechanism; net code shrink, as well\nas a per-device saving in the driver model and sysfs.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
