)]}'
{
  "log": [
    {
      "commit": "cf579dfb82550e34de7ccf3ef090d8b834ccd3a9",
      "tree": "764ed72670c18c86d3eb9650025c56d661a31315",
      "parents": [
        "181e9bdef37bfcaa41f3ab6c948a2a0d60a268b5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 29 20:38:29 2012 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 29 20:38:29 2012 +0100"
      },
      "message": "PM / Sleep: Introduce \"late suspend\" and \"early resume\" of devices\n\nThe current device suspend/resume phases during system-wide power\ntransitions appear to be insufficient for some platforms that want\nto use the same callback routines for saving device states and\nrelated operations during runtime suspend/resume as well as during\nsystem suspend/resume.  In principle, they could point their\n.suspend_noirq() and .resume_noirq() to the same callback routines\nas their .runtime_suspend() and .runtime_resume(), respectively,\nbut at least some of them require device interrupts to be enabled\nwhile the code in those routines is running.\n\nIt also makes sense to have device suspend-resume callbacks that will\nbe executed with runtime PM disabled and with device interrupts\nenabled in case someone needs to run some special code in that\ncontext during system-wide power transitions.\n\nApart from this, .suspend_noirq() and .resume_noirq() were introduced\nas a workaround for drivers using shared interrupts and failing to\nprevent their interrupt handlers from accessing suspended hardware.\nIt appears to be better not to use them for other porposes, or we may\nhave to deal with some serious confusion (which seems to be happening\nalready).\n\nFor the above reasons, introduce new device suspend/resume phases,\n\"late suspend\" and \"early resume\" (and analogously for hibernation)\nwhose callback will be executed with runtime PM disabled and with\ndevice interrupts enabled and whose callback pointers generally may\npoint to runtime suspend/resume routines.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "35cd133c6130c1eb52806808abee9d62e6854a27",
      "tree": "2f06e7f0288b9d4a3785a202f6480928113d8d5c",
      "parents": [
        "9cf519d1c15fa05a538c2b3963c5f3903daf765a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 18 00:34:13 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Dec 21 22:01:05 2011 +0100"
      },
      "message": "PM: Run the driver callback directly if the subsystem one is not there\n\nMake the PM core execute driver PM callbacks directly if the\ncorresponding subsystem callbacks are not present.\n\nThere are three reasons for doing that.  First, it reflects the\nbehavior of drivers/base/dd.c:really_probe() that runs the driver\u0027s\n.probe() callback directly if the bus type\u0027s one is not defined, so\nthis change will remove one arbitrary difference between the PM core\nand the remaining parts of the driver core.  Second, it will allow\nsome subsystems, whose PM callbacks don\u0027t do anything except for\nexecuting driver callbacks, to be simplified quite a bit by removing\nthose \"forward-only\" callbacks.  Finally, it will allow us to remove\none level of indirection in the system suspend and resume code paths\nwhere it is not necessary, which is going to lead to less debug noise\nwith initcall_debug passed in the kernel command line (messages won\u0027t\nbe printed for driverless devices whose subsystems don\u0027t provide\nPM callbacks among other things).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "fafba48d4dd6fcbb1fd7ac4ab0ba22ef45b9796c",
      "tree": "b46cd28e597cf30da24ace6db2768fc6b469e6cd",
      "parents": [
        "907565921966260921e4c4581ed8985ef4cf9a67"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 23 21:20:15 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Nov 28 22:14:45 2011 +0100"
      },
      "message": "PM / Sleep: Update documentation related to system wakeup\n\nThe system wakeup section of Documentation/power/devices.txt is\noutdated, so make it agree with the current code.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "fa8ce723936460fcf7e49f508fd5dbd5125e39c4",
      "tree": "9a5dd5d6ab1e780d4209d79dd49c7890c3909f44",
      "parents": [
        "5841eb6402707a387b216373e65c9c28e8136663"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 23 21:19:57 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Nov 28 22:14:27 2011 +0100"
      },
      "message": "PM / Sleep: Correct inaccurate information in devices.txt\n\nThe documentation file Documentation/power/devices.txt contains some\ninformation that isn\u0027t correct any more due to code modifications\nmade after that file had been created (or updated last time).  Fix\nthis.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "5841eb6402707a387b216373e65c9c28e8136663",
      "tree": "1841f84c931e6e55ab510f4d44c505e802eae4eb",
      "parents": [
        "bb58dd5d1ffad6c2d21c69698ba766dad4ae54e6"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Nov 23 21:18:39 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Nov 28 22:14:19 2011 +0100"
      },
      "message": "PM / Domains: Document how PM domains are used by the PM core\n\nThe current power management documentation in Documentation/power/\neither doesn\u0027t cover PM domains at all, or gives inaccurate\ninformation about them, so update the relevant files in there to\nfollow the code.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2aede851ddf08666f68ffc17be446420e9d2a056",
      "tree": "f63a0477c9fe618cd374065bac4cb5f172aaf7db",
      "parents": [
        "8f88893c05f2f677f18f2ce5591b4bed5d4a7535"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 26 20:32:27 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:28:52 2011 +0200"
      },
      "message": "PM / Hibernate: Freeze kernel threads after preallocating memory\n\nThere is a problem with the current ordering of hibernate code which\nleads to deadlocks in some filesystems\u0027 memory shrinkers.  Namely,\nsome filesystems use freezable kernel threads that are inactive when\nthe hibernate memory preallocation is carried out.  Those same\nfilesystems use memory shrinkers that may be triggered by the\nhibernate memory preallocation.  If those memory shrinkers wait for\nthe frozen kernel threads, the hibernate process deadlocks (this\nhappens with XFS, for one example).\n\nApparently, it is not technically viable to redesign the filesystems\nin question to avoid the situation described above, so the only\npossible solution of this issue is to defer the freezing of kernel\nthreads until the hibernate memory preallocation is done, which is\nimplemented by this change.\n\nUnfortunately, this requires the memory preallocation to be done\nbefore the \"prepare\" stage of device freeze, so after this change the\nonly way drivers can allocate additional memory for their freeze\nroutines in a clean way is to use PM notifiers.\n\nReported-by: Christoph \u003ccr2005@u-club.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "8f88893c05f2f677f18f2ce5591b4bed5d4a7535",
      "tree": "4368e42a2c35ee018f7cd91b8fa6643f6ff2b852",
      "parents": [
        "37cce26b32142f09a8967f6d238178af654b20de"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Sep 26 17:38:50 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 16 23:28:51 2011 +0200"
      },
      "message": "PM: Update the policy on default wakeup settings\n\nThis patch (as1485) documents a change to the kernel\u0027s default wakeup\npolicy.  Devices that forward wakeup requests between buses should be\nenabled for wakeup by default.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "455716e9b12ba93e93181ac88bef62e4eb5ac66c",
      "tree": "8a203f3f4a7a76db1c274c1c18c49508a6704758",
      "parents": [
        "c47586b6d36ef2d5d7dc39afc44b75e31bc1a671"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 01 22:29:05 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 02 14:30:09 2011 +0200"
      },
      "message": "PM / Runtime: Update documentation of interactions with system sleep\n\nThe documents describing the interactions between runtime PM and\nsystem sleep generally refer to the model in which the system sleep\nstate is entered through a global firmware or hardware operation.\nAs a result, some recommendations given in there are not entirely\nsuitable for systems in which this is not the case.  Update the\ndocumentation to take the existence of those systems into account.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "564b905ab10d17fb42f86aa8b7b9b796276d1336",
      "tree": "b191c000e55ae1a354bd67876ca6945d2ad87c93",
      "parents": [
        "f5da24dbed213d103f00aa9ef26e010b50d2db24"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jun 23 01:52:55 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 02 14:29:54 2011 +0200"
      },
      "message": "PM / Domains: Rename struct dev_power_domain to struct dev_pm_domain\n\nThe naming convention used by commit 7538e3db6e015e890825fbd9f86599b\n(PM: Add support for device power domains), which introduced the\nstruct dev_power_domain type for representing device power domains,\nevidently confuses some developers who tend to think that objects\nof this type must correspond to \"power domains\" as defined by\nhardware, which is not the case.  Namely, at the kernel level, a\nstruct dev_power_domain object can represent arbitrary set of devices\nthat are mutually dependent power management-wise and need not belong\nto one hardware power domain.  To avoid that confusion, rename struct\ndev_power_domain to struct dev_pm_domain and rename the related\npointers in struct device and struct pm_clk_notifier_block from\npwr_domain to pm_domain.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "ca9c6890b598997165a7c85c001f382c910f12b0",
      "tree": "82743f3b6c8b473543e778bb25f33bba44f58130",
      "parents": [
        "4d1518f5668ef1b3dff6c3b30fa761fe5573cdaa"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:25:32 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:25:32 2011 +0200"
      },
      "message": "PM / Domains: Update documentation\n\nCommit 4d27e9dcff00a6425d779b065ec8892e4f391661 (PM: Make power\ndomain callbacks take precedence over subsystem ones) forgot to\nupdate the device power management documentation to take changes\nmade by it into account.  Correct that mistake.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "78420884e680da8fbc3240de2d3106437042381e",
      "tree": "e527e3f745a6c69689fbe66c6a85a08cffa0e778",
      "parents": [
        "129b656a0de9a229a72fe4bb6bacd134a1477b44"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jun 18 19:53:57 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:19:15 2011 +0200"
      },
      "message": "PM: Update documentation regarding sysdevs\n\nThe part of Documentation/power/devices.txt regarding sysdevs is not\nvalid any more after commit 2e711c04dbbf7a7732a3f7073b1fc285d12b369d\n(PM: Remove sysdev suspend, resume and shutdown operations), so\nremove it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "91e7c75ba93c48a82670d630b9daac92ff70095d",
      "tree": "b44ac3dca1d03cce99cccc3f4ce55d4b5475d373",
      "parents": [
        "c650da23d59d2c82307380414606774c6d49b8bd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:00 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:00 2011 +0200"
      },
      "message": "PM: Allow drivers to allocate memory from .prepare() callbacks safely\n\nIf device drivers allocate substantial amounts of memory (above 1 MB)\nin their hibernate .freeze() callbacks (or in their legacy suspend\ncallbcks during hibernation), the subsequent creation of hibernate\nimage may fail due to the lack of memory.  This is the case, because\nthe drivers\u0027 .freeze() callbacks are executed after the hibernate\nmemory preallocation has been carried out and the preallocated amount\nof memory may be too small to cover the new driver allocations.\nUnfortunately, the drivers\u0027 .prepare() callbacks also are executed\nafter the hibernate memory preallocation has completed, so they are\nnot suitable for allocating additional memory either.  Thus the only\nway a driver can safely allocate memory during hibernation is to use\na hibernate/suspend notifier.  However, the notifiers are called\nbefore the freezing of user space and the drivers wanting to use them\nfor allocating additional memory may not know how much memory needs\nto be allocated at that point.\n\nTo let device drivers overcome this difficulty rework the hibernation\nsequence so that the memory preallocation is carried out after the\ndrivers\u0027 .prepare() callbacks have been executed, so that the\n.prepare() callbacks can be used for allocating additional memory\nto be used by the drivers\u0027 .freeze() callbacks.  Update documentation\nto match the new behavior of the code.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "9659cc0678b954f187290c6e8b247a673c5d37e1",
      "tree": "b9b391d2397b0583757dd1529a85d714dbb81697",
      "parents": [
        "cf4fb80ca3d591cae366ae8364e3c3f7a68bd249"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 18 23:20:21 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:17 2011 +0100"
      },
      "message": "PM: Make system-wide PM and runtime PM treat subsystems consistently\n\nThe code handling system-wide power transitions (eg. suspend-to-RAM)\ncan in theory execute callbacks provided by the device\u0027s bus type,\ndevice type and class in each phase of the power transition.  In\nturn, the runtime PM core code only calls one of those callbacks at\na time, preferring bus type callbacks to device type or class\ncallbacks and device type callbacks to class callbacks.\n\nIt seems reasonable to make them both behave in the same way in that\nrespect.  Moreover, even though a device may belong to two subsystems\n(eg. bus type and device class) simultaneously, in practice power\nmanagement callbacks for system-wide power transitions are always\nprovided by only one of them (ie. if the bus type callbacks are\ndefined, the device class ones are not and vice versa).  Thus it is\npossible to modify the code handling system-wide power transitions\nso that it follows the core runtime PM code (ie. treats the\nsubsystem callbacks as mutually exclusive).\n\nOn the other hand, the core runtime PM code will choose to execute,\nfor example, a runtime suspend callback provided by the device type\neven if the bus type\u0027s struct dev_pm_ops object exists, but the\nruntime_suspend pointer in it happens to be NULL.  This is confusing,\nbecause it may lead to the execution of callbacks from different\nsubsystems during different operations (eg. the bus type suspend\ncallback may be executed during runtime suspend of the device, while\nthe device type callback will be executed during system suspend).\n\nMake all of the power management code treat subsystem callbacks in\na consistent way, such that:\n(1) If the device\u0027s type is defined (eg. dev-\u003etype is not NULL)\n    and its pm pointer is not NULL, the callbacks from dev-\u003etype-\u003epm\n    will be used.\n(2) If dev-\u003etype is NULL or dev-\u003etype-\u003epm is NULL, but the device\u0027s\n    class is defined (eg. dev-\u003eclass is not NULL) and its pm pointer\n    is not NULL, the callbacks from dev-\u003eclass-\u003epm will be used.\n(3) If dev-\u003etype is NULL or dev-\u003etype-\u003epm is NULL and dev-\u003eclass is\n    NULL or dev-\u003eclass-\u003epm is NULL, the callbacks from dev-\u003ebus-\u003epm\n    will be used provided that both dev-\u003ebus and dev-\u003ebus-\u003epm are\n    not NULL.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nReasoning-sounds-sane-to: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7538e3db6e015e890825fbd9f8659952896ddd5b",
      "tree": "01a6d8c97599474d9c5fc1ed0eb6f0addaec5652",
      "parents": [
        "6831c6edc7b272a08dd2a6c71bb183a48fe98ae6"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 16 21:53:17 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:16 2011 +0100"
      },
      "message": "PM: Add support for device power domains\n\nThe platform bus type is often used to handle Systems-on-a-Chip (SoC)\nwhere all devices are represented by objects of type struct\nplatform_device.  In those cases the same \"platform\" device driver\nmay be used with multiple different system configurations, but the\nactions needed to put the devices it handles into a low-power state\nand back into the full-power state may depend on the design of the\ngiven SoC.  The driver, however, cannot possibly include all the\ninformation necessary for the power management of its device on all\nthe systems it is used with.  Moreover, the device hierarchy in its\ncurrent form also is not suitable for representing this kind of\ninformation.\n\nThe patch below attempts to address this problem by introducing\nobjects of type struct dev_power_domain that can be used for\nrepresenting power domains within a SoC.  Every struct\ndev_power_domain object provides a sets of device power\nmanagement callbacks that can be used to perform what\u0027s needed for\ndevice power management in addition to the operations carried out by\nthe device\u0027s driver and subsystem.\n\nNamely, if a struct dev_power_domain object is pointed to by the\npwr_domain field in a struct device, the callbacks provided by its\nops member will be executed in addition to the corresponding\ncallbacks provided by the device\u0027s subsystem and driver during all\npower transitions.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-and-acked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "cb8f51bdadb7969139c2e39c2defd4cde98c1ea8",
      "tree": "a6d6e20878460d50b8f61d5fe3237818c54065eb",
      "parents": [
        "4681b17154b3fd81f898802262985f662344e6ed"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Feb 08 23:26:02 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:14 2011 +0100"
      },
      "message": "PM: Do not create wakeup sysfs files for devices that cannot wake up\n\nCurrently, wakeup sysfs attributes are created for all devices,\nregardless of whether or not they are wakeup-capable.  This is\nexcessive and complicates wakeup device identification from user\nspace (i.e. to identify wakeup-capable devices user space has to read\n/sys/devices/.../power/wakeup for all devices and see if they are not\nempty).\n\nFix this issue by avoiding to create wakeup sysfs files for devices\nthat cannot wake up the system from sleep states (i.e. whose\npower.can_wakeup flags are unset during registration) and modify\ndevice_set_wakeup_capable() so that it adds (or removes) the relevant\nsysfs attributes if a device\u0027s wakeup capability status is changed.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d6f9cda1fd241bc7a1d896da94950fd972eca9b7",
      "tree": "e2429cbfb7b59e52c77672a85c9e0ef1aa8c759e",
      "parents": [
        "624f6ec871886525ca19cf7841f918da91d4315e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Mar 26 23:53:55 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon May 10 23:08:16 2010 +0200"
      },
      "message": "PM: Improve device power management document\n\nImprove the device power management document after it\u0027s been\nupdated by the previous patch.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "624f6ec871886525ca19cf7841f918da91d4315e",
      "tree": "9728d0ab5f3715cb4567069553690916e567d985",
      "parents": [
        "240c7337a4cd3d91b196c5ef97ad461b3a22fa09"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Mar 26 23:53:42 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon May 10 23:08:16 2010 +0200"
      },
      "message": "PM: Update device power management document\n\nThe device PM document, Documentation/power/devices.txt, is badly\noutdated and requires total rework to fit the current design of the\nPM framework.  Make it more up to date.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\n"
    },
    {
      "commit": "e240b58c79144708530138e05f17c6d0d8d744a8",
      "tree": "c42553ae8ffb034a767cebb0b4876db3528a2e11",
      "parents": [
        "d161630297a20802d01c55847bfcba85d2118a9f"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Sun May 24 22:05:54 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:31 2009 +0200"
      },
      "message": "PM: Remove bus_type suspend_late()/resume_early() V2\n\nRemove the -\u003esuspend_late() and -\u003eresume_early() callbacks\nfrom struct bus_type V2. These callbacks are legacy stuff\nat this point and since there seem to be no in-tree users\nwe may as well remove them. New users should use dev_pm_ops.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "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"
    }
  ]
}
