)]}'
{
  "log": [
    {
      "commit": "e5291928839877f8e73c2643ee1d3fe0bcdcaf5c",
      "tree": "df733cad71610a2f5ce283dcca5f2ad1d83bdf1f",
      "parents": [
        "f721889ff65afa6243c463832c74dee3bed418d5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 01 22:12:59 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 02 14:29:55 2011 +0200"
      },
      "message": "PM: Introduce generic \"noirq\" callback routines for subsystems (v2)\n\nIntroduce generic \"noirq\" power management callback routines for\nsubsystems in addition to the \"regular\" generic PM callback routines.\n\nThe new routines will be used, among other things, for implementing\nsystem-wide PM transitions support for generic PM domains.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "dc6e4e56e6ef473a696a1ab24f80b79b9aceb92d",
      "tree": "7ef82afc8d57b0deed436ba6f5f9483c2603d88e",
      "parents": [
        "564b905ab10d17fb42f86aa8b7b9b796276d1336"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jun 23 01:53:04 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 02 14:29:54 2011 +0200"
      },
      "message": "PM: subsys_data in struct dev_pm_info need not depend on RM_RUNTIME\n\nThe subsys_data field of struct dev_pm_info, introduced by commit\n1d2b71f61b6a10216274e27b717becf9ae101fc7 (PM / Runtime: Add subsystem\ndata field to struct dev_pm_info), is going to be used even if\nCONFIG_PM_RUNTIME is not set, so move it from under the #ifdef.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\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": "6d0e0e84f66d32c33511984dd3badd32364b863c",
      "tree": "215916af1632fbaff9d46676d14dafd52143d578",
      "parents": [
        "8440f4b19494467883f8541b7aa28c7bbf6ac92b"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Jun 18 22:42:09 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:20:20 2011 +0200"
      },
      "message": "PM: Fix async resume following suspend failure\n\nThe PM core doesn\u0027t handle suspend failures correctly when it comes to\nasynchronously suspended devices.  These devices are moved onto the\ndpm_suspended_list as soon as the corresponding async thread is\nstarted up, and they remain on the list even if they fail to suspend\nor the sleep transition is cancelled before they get suspended.  As a\nresult, when the PM core unwinds the transition, it tries to resume\nthe devices even though they were never suspended.\n\nThis patch (as1474) fixes the problem by adding a new \"is_suspended\"\nflag to dev_pm_info.  Devices are resumed only if the flag is set.\n\n[rjw:\n * Moved the dev-\u003epower.is_suspended check into device_resume(),\n   because we need to complete dev-\u003epower.completion and clear\n   dev-\u003epower.is_prepared too for devices whose\n   dev-\u003epower.is_suspended flags are unset.\n * Fixed __device_suspend() to avoid setting dev-\u003epower.is_suspended\n   if async_error is different from zero.]\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f76b168b6f117a49d36307053e1acbe30580ea5b",
      "tree": "2aa0cc19b27764d8eb55ce85eaf226a60ce27756",
      "parents": [
        "78420884e680da8fbc3240de2d3106437042381e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Jun 18 20:22:23 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:19:50 2011 +0200"
      },
      "message": "PM: Rename dev_pm_info.in_suspend to is_prepared\n\nThis patch (as1473) renames the \"in_suspend\" field in struct\ndev_pm_info to \"is_prepared\", in preparation for an upcoming change.\nThe new name is more descriptive of what the field really means.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "6538df80194e305f1b78cafb556f4bb442f808b3",
      "tree": "72927d33d82f0e9502811abfc10d722a7423fff2",
      "parents": [
        "91e7c75ba93c48a82670d630b9daac92ff70095d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:21 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:26:21 2011 +0200"
      },
      "message": "PM: Introduce generic prepare and complete callbacks for subsystems\n\nIntroduce generic .prepare() and .complete() power management\ncallbacks, currently missing, that can be used by subsystems and\npower domains and export them.  Provide NULL definitions of all\nthe generic system sleep callbacks for CONFIG_PM_SLEEP unset.\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": "290c748725c170ed9a02522959ae67f528eefe98",
      "tree": "a920190b75c7e054af24d850e79cc54f5cf53263",
      "parents": [
        "2d2a9163bd4f3ba301f8138c32e4790edc30156c",
        "72874daa5e9064c4e8d689e6a04b1e96f687f872"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:23:46 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:23:46 2011 +0200"
      },
      "message": "Merge branch \u0027power-domains\u0027 into for-linus\n\n* power-domains:\n  PM: Fix build issue in clock_ops.c for CONFIG_PM_RUNTIME unset\n  PM: Revert \"driver core: platform_bus: allow runtime override of dev_pm_ops\"\n  OMAP1 / PM: Use generic clock manipulation routines for runtime PM\n  PM / Runtime: Generic clock manipulation rountines for runtime PM (v6)\n  PM / Runtime: Add subsystem data field to struct dev_pm_info\n  OMAP2+ / PM: move runtime PM implementation to use device power domains\n  PM / Platform: Use generic runtime PM callbacks directly\n  shmobile: Use power domains for platform runtime PM\n  PM: Export platform bus type\u0027s default PM callbacks\n  PM: Make power domain callbacks take precedence over subsystem ones\n"
    },
    {
      "commit": "2e711c04dbbf7a7732a3f7073b1fc285d12b369d",
      "tree": "dbc06a3fff744144d7937a205a91fd8ce71585d4",
      "parents": [
        "f5a592f7d74e38c5007876c731e6bf5580072e63"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Apr 26 19:15:07 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 11 21:37:15 2011 +0200"
      },
      "message": "PM: Remove sysdev suspend, resume and shutdown operations\n\nSince suspend, resume and shutdown operations in struct sysdev_class\nand struct sysdev_driver are not used any more, remove them.  Also\ndrop sysdev_suspend(), sysdev_resume() and sysdev_shutdown() used\nfor executing those operations and modify all of their users\naccordingly.  This reduces kernel code size quite a bit and reduces\nits complexity.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1d2b71f61b6a10216274e27b717becf9ae101fc7",
      "tree": "9a2c7c3411cfcf485f17fec985c646ee90390d02",
      "parents": [
        "638080c37ae08fd0c44cec13d7948ca5385ae851"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Apr 29 00:36:53 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Apr 29 00:36:53 2011 +0200"
      },
      "message": "PM / Runtime: Add subsystem data field to struct dev_pm_info\n\nSome subsystems need to attach PM-related data to struct device and\nthey need to use devres for this purpose.  For their convenience\nand to make code more straightforward, add a new field called\nsubsys_data to struct dev_pm_info and let subsystems use it for\nattaching PM-related information to devices.\n\nConvert the ARM shmobile platform to using the new field.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d47d81c0e9abdc3c88653fabff5beae82c949b09",
      "tree": "1745f3316996e3cb0a02dcd7af90b88d836b6d17",
      "parents": [
        "e00e56dfd3cf1d209ce630a2b440c91e4a30bbd3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 23 22:16:41 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Mar 23 22:16:41 2011 +0100"
      },
      "message": "Introduce ARCH_NO_SYSDEV_OPS config option (v2)\n\nIntroduce Kconfig option allowing architectures where sysdev\noperations used during system suspend, resume and shutdown have been\ncompletely replaced with struct sycore_ops operations to avoid\nbuilding sysdev code that will never be used.\n\nMake callbacks in struct sys_device and struct sysdev_driver depend\non ARCH_NO_SYSDEV_OPS to allows us to verify if all of the references\nhave been actually removed from the code the given architecture\ndepends on.\n\nMake x86 select ARCH_NO_SYSDEV_OPS.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\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": "6831c6edc7b272a08dd2a6c71bb183a48fe98ae6",
      "tree": "fc3ef253f12bd9f2d211271c09a5475ed19b18b0",
      "parents": [
        "e8665002477f0278f84f898145b1f141ba26ee26"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Feb 15 21:22:24 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:16 2011 +0100"
      },
      "message": "PM: Drop pm_flags that is not necessary\n\nThe variable pm_flags is used to prevent APM from being enabled\nalong with ACPI, which would lead to problems.  However, acpi_init()\nis always called before apm_init() and after acpi_init() has\nreturned, it is known whether or not ACPI will be used.  Namely, if\nacpi_disabled is not set after acpi_init() has returned, this means\nthat ACPI is enabled.  Thus, it is sufficient to check acpi_disabled\nin apm_init() to prevent APM from being enabled in parallel with\nACPI.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "aa33860158114d0df3c7997bc1dd41c0168e1c2a",
      "tree": "a1ae98c42232835780618b0a5dea78c5478ed58c",
      "parents": [
        "196ec243224bb38fc5c41d9fa4050f70708b7fb4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 11 00:06:54 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:15 2011 +0100"
      },
      "message": "PM: Remove CONFIG_PM_OPS\n\nAfter redefining CONFIG_PM to depend on (CONFIG_PM_SLEEP ||\nCONFIG_PM_RUNTIME) the CONFIG_PM_OPS option is redundant and can be\nreplaced with CONFIG_PM.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "805bdaec1a44155db35f6ee5410d6bbc365324a8",
      "tree": "01f5ba1cca8216de1a6057be8c1877c778603a2d",
      "parents": [
        "2aa15890f3c191326678f1bd68af61ec6b8753ec"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Feb 24 11:10:01 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Feb 24 19:53:06 2011 +0100"
      },
      "message": "PM: Make ACPI wakeup from S5 work again when CONFIG_PM_SLEEP is unset\n\nCommit 074037e (PM / Wakeup: Introduce wakeup source objects and\nevent statistics (v3)) caused ACPI wakeup to only work if\nCONFIG_PM_SLEEP is set, but it also worked for CONFIG_PM_SLEEP unset\nbefore.  This can be fixed by making device_set_wakeup_enable(),\ndevice_init_wakeup() and device_may_wakeup() work in the same way\nas before commit 074037e when CONFIG_PM_SLEEP is unset.\n\nReported-and-tested-by: Justin Maggard \u003cjmaggard10@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "62bcb91573425975d6ad2389d7ab1d8feca88ab4",
      "tree": "c1e2fb54821b77f1a7f32e218ac5cbf91dd4a3e8",
      "parents": [
        "4b31db8a16fa0d4d6a0fa42d044e7a4f4dad3641"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Dec 24 15:04:41 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:04:41 2010 +0100"
      },
      "message": "PM: Prototype the pm_generic_ operations\n\nThe pm_generic_ operations are all exported but are not prototyped in any\nheader file for direct use. Do so.\n\n[rjw: Added extern.]\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "b8c76f6aed0ab7df73a6410f3f82de2c831bb144",
      "tree": "1194ded4c23f62ab253a2e0712cfdd436aa2365b",
      "parents": [
        "5b219a51fdceaf76e0e18da57c7efb9e5586e567"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 16 00:51:21 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:02:44 2010 +0100"
      },
      "message": "PM: Replace the device power.status field with a bit field\n\nThe device power.status field is too complicated for its purpose\n(storing the information about whether or not the device is in the\n\"active\" state from the PM core\u0027s point of view), so replace it with\na bit field and modify all of its users accordingly.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "c7b61de5b7b17f0df34dc7d2f8b9576f8bd36fce",
      "tree": "d8cf6be1aab175839973d2c76060bd41d65b2ed5",
      "parents": [
        "5262a47502adcfc3a64403120768f528418a3b79"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Dec 01 00:14:42 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Dec 24 15:02:41 2010 +0100"
      },
      "message": "PM / Runtime: Add synchronous runtime interface for interrupt handlers (v3)\n\nThis patch (as1431c) makes the synchronous runtime-PM interface\nsuitable for use in interrupt handlers.  Subsystems can call the new\npm_runtime_irq_safe() function to tell the PM core that a device\u0027s\nruntime_suspend and runtime_resume callbacks should be invoked with\ninterrupts disabled and the spinlock held.  This permits the\npm_runtime_get_sync() and the new pm_runtime_put_sync_suspend()\nroutines to be called from within interrupt handlers.\n\nWhen a device is declared irq-safe in this way, the PM core increments\nthe parent\u0027s usage count, so the parent will never be runtime\nsuspended.  This prevents difficult situations in which an irq-safe\ndevice can\u0027t resume because it is forced to wait for its non-irq-safe\nparent.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "15bcb91d7e607d8a2e060f01f7784a7454668da4",
      "tree": "6d59964cb78ab4b7c93a3c4d06f0dad256b99140",
      "parents": [
        "7490e44239e60293bca0c2663229050c36c660c2"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Sep 25 23:35:21 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:48 2010 +0200"
      },
      "message": "PM / Runtime: Implement autosuspend support\n\nThis patch (as1427) implements the \"autosuspend\" facility for runtime\nPM.  A few new fields are added to the dev_pm_info structure and\nseveral new PM helper functions are defined, for telling the PM core\nwhether or not a device uses autosuspend, for setting the autosuspend\ndelay, and for marking periods of device activity.\n\nDrivers that do not want to use autosuspend can continue using the\nsame helper functions as before; their behavior will not change.  In\naddition, drivers supporting autosuspend can also call the old helper\nfunctions to get the old behavior.\n\nThe details are all explained in Documentation/power/runtime_pm.txt\nand Documentation/ABI/testing/sysfs-devices-power.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "7490e44239e60293bca0c2663229050c36c660c2",
      "tree": "938cd1cafba133f2d47c648ac01242de841d6d1b",
      "parents": [
        "140a6c945211ee911dec776fafa52e03a7d7bb9a"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sat Sep 25 23:35:15 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:47 2010 +0200"
      },
      "message": "PM / Runtime: Add no_callbacks flag\n\nSome devices, such as USB interfaces, cannot be power-managed\nindependently of their parents, i.e., they cannot be put in low power\nwhile the parent remains at full power.  This patch (as1425) creates a\nnew \"no_callbacks\" flag, which tells the PM core not to invoke the\nruntime-PM callback routines for the such devices but instead to\nassume that the callbacks always succeed.  In addition, the\nnon-debugging runtime-PM sysfs attributes for the devices are removed,\nsince they are pretty much meaningless.\n\nThe advantage of this scheme comes not so much from avoiding the\ncallbacks themselves, but rather from the fact that without the need\nfor a process context in which to run the callbacks, more work can be\ndone in interrupt context.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "098dff738abbeaea15fc95c4f4fdaee1e9bbea75",
      "tree": "b2282f59358b4f1e8bbf9949ff1eec4c8016ca5f",
      "parents": [
        "074037ec79bea73edf1b1ec72fef1010e83e3cc5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Sep 22 22:10:57 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:43 2010 +0200"
      },
      "message": "PM: Fix potential issue with failing asynchronous suspend\n\nThere is a potential issue with the asynchronous suspend code that\na device driver suspending asynchronously may not notice that it\nshould back off.  There are two failing scenarions, (1) when the\ndriver is waiting for a driver suspending synchronously to complete\nand that second driver returns error code, in which case async_error\nwon\u0027t be set and the waiting driver will continue suspending and (2)\nafter the driver has called device_pm_wait_for_dev() and the waited\nfor driver returns error code, in which case the caller of\ndevice_pm_wait_for_dev() will not know that there was an error and\nwill continue suspending.\n\nTo fix this issue make __device_suspend() set async_error, so\nasync_suspend() doesn\u0027t need to set it any more, and make\ndevice_pm_wait_for_dev() return async_error, so that its callers\ncan check whether or not they should continue suspending.\n\nNo more changes are necessary, since device_pm_wait_for_dev() is\nnot used by any drivers\u0027 suspend routines.\n\nReported-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "074037ec79bea73edf1b1ec72fef1010e83e3cc5",
      "tree": "1876caa07f755e680da5ea102d985efe4b508d56",
      "parents": [
        "0702d9ee0f1dcb6258789032f03b3208bfafaffc"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Sep 22 22:09:10 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Oct 17 01:57:43 2010 +0200"
      },
      "message": "PM / Wakeup: Introduce wakeup source objects and event statistics (v3)\n\nIntroduce struct wakeup_source for representing system wakeup sources\nwithin the kernel and for collecting statistics related to them.\nMake the recently introduced helper functions pm_wakeup_event(),\npm_stay_awake() and pm_relax() use struct wakeup_source objects\ninternally, so that wakeup statistics associated with wakeup devices\ncan be collected and reported in a consistent way (the definition of\npm_relax() is changed, which is harmless, because this function is\nnot called directly by anyone yet).  Introduce new wakeup-related\nsysfs device attributes in /sys/devices/.../power for reporting the\ndevice wakeup statistics.\n\nChange the global wakeup events counters event_count and\nevents_in_progress into atomic variables, so that it is not necessary\nto acquire a global spinlock in pm_wakeup_event(), pm_stay_awake()\nand pm_relax(), which should allow us to avoid lock contention in\nthese functions on SMP systems with many wakeup devices.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8d4b9d1bfef117862a2889dec4dac227068544c9",
      "tree": "a17f69a64b97759452988047058666ae51f70304",
      "parents": [
        "0fcb4eef8294492c8f1de8236b1ed81f09e42922"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jul 19 02:01:06 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jul 19 02:01:06 2010 +0200"
      },
      "message": "PM / Runtime: Add runtime PM statistics (v3)\n\nIn order for PowerTOP to be able to report how well the new runtime PM is\nworking for the various drivers, the kernel needs to export some basic\nstatistics in sysfs.\n\nThis patch adds two sysfs files in the runtime PM domain that expose the\ntotal time a device has been active, and the time a device has been\nsuspended.\n\nWith this PowerTOP can compute the activity percentage\n\nActive %age \u003d 100 * (delta active) / (delta active + delta suspended)\n\nand present the information to the user.\n\nI\u0027ve written the PowerTOP code (slated for version 1.12) already, and the\noutput looks like this:\n\nRuntime Device Power Management statistics\nActive  Device name\n 10.0%\t06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller\n\n[version 2: fix stat update bugs noticed by Alan Stern]\n[version 3: rebase to -next and move the sysfs declaration]\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "c125e96f044427f38d106fab7bc5e4a5e6a18262",
      "tree": "d9bbd40cc933fe522dbdf8ca2f7edf7b6f2f7ca4",
      "parents": [
        "b14e033e17d0ea0ba12668d0d2f371cd31586994"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jul 05 22:43:53 2010 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jul 19 01:58:48 2010 +0200"
      },
      "message": "PM: Make it possible to avoid races between wakeup and system sleep\n\nOne of the arguments during the suspend blockers discussion was that\nthe mainline kernel didn\u0027t contain any mechanisms making it possible\nto avoid races between wakeup and system suspend.\n\nGenerally, there are two problems in that area.  First, if a wakeup\nevent occurs exactly when /sys/power/state is being written to, it\nmay be delivered to user space right before the freezer kicks in, so\nthe user space consumer of the event may not be able to process it\nbefore the system is suspended.  Second, if a wakeup event occurs\nafter user space has been frozen, it is not generally guaranteed that\nthe ongoing transition of the system into a sleep state will be\naborted.\n\nTo address these issues introduce a new global sysfs attribute,\n/sys/power/wakeup_count, associated with a running counter of wakeup\nevents and three helper functions, pm_stay_awake(), pm_relax(), and\npm_wakeup_event(), that may be used by kernel subsystems to control\nthe behavior of this attribute and to request the PM core to abort\nsystem transitions into a sleep state already in progress.\n\nThe /sys/power/wakeup_count file may be read from or written to by\nuser space.  Reads will always succeed (unless interrupted by a\nsignal) and return the current value of the wakeup events counter.\nWrites, however, will only succeed if the written number is equal to\nthe current value of the wakeup events counter.  If a write is\nsuccessful, it will cause the kernel to save the current value of the\nwakeup events counter and to abort the subsequent system transition\ninto a sleep state if any wakeup events are reported after the write\nhas returned.\n\n[The assumption is that before writing to /sys/power/state user space\nwill first read from /sys/power/wakeup_count.  Next, user space\nconsumers of wakeup events will have a chance to acknowledge or\nveto the upcoming system transition to a sleep state.  Finally, if\nthe transition is allowed to proceed, /sys/power/wakeup_count will\nbe written to and if that succeeds, /sys/power/state will be written\nto as well.  Still, if any wakeup events are reported to the PM core\nby kernel subsystems after that point, the transition will be\naborted.]\n\nAdditionally, put a wakeup events counter into struct dev_pm_info and\nmake these per-device wakeup event counters available via sysfs,\nso that it\u0027s possible to check the activity of various wakeup event\nsources within the kernel.\n\nTo illustrate how subsystems can use pm_wakeup_event(), make the\nlow-level PCI runtime PM wakeup-handling code use it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: markgross \u003cmarkgross@thegnar.org\u003e\nReviewed-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\n"
    },
    {
      "commit": "d690b2cd222afc75320b9b8e9da7df02e9e630ca",
      "tree": "41b7f13c7176bc74d7836a7ec585a5a456302ea9",
      "parents": [
        "87d1b3e60b55ef65f10054ccc319e5d67cf010e9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Mar 06 21:28:37 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Mar 06 21:28:37 2010 +0100"
      },
      "message": "PM: Provide generic subsystem-level callbacks\n\nThere are subsystems whose power management callbacks only need to\ninvoke the callbacks provided by device drivers.  Still, their system\nsleep PM callbacks should play well with the runtime PM callbacks,\nso that devices suspended at run time can be left in that state for\na system sleep transition.\n\nProvide a set of generic PM callbacks for such subsystems and\ndefine convenience macros for populating dev_pm_ops structures.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "f8824cee405c62ba465b85365201166d9cf86a14",
      "tree": "90020be3264ff98bad2f14759127a2d9693673d8",
      "parents": [
        "97df8c12995c5bac73e3bfeea4c5be155c1f4401"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 27 23:47:38 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:11 2010 +0100"
      },
      "message": "PM: Allow device drivers to use dpm_wait()\n\nThere are some dependencies between devices (in particular, between\nEHCI USB controllers and their OHCI/UHCI siblings) which are not\nreflected by the structure of the device tree.  With synchronous\nsuspend and resume these dependencies are taken into accout\nautomatically, because the devices in question are always registered\nin the right order, but to meet these constraints with asynchronous\nsuspend and resume the drivers of these devices will need to use\ndpm_wait() in their suspend/resume routines, so introduce a helper\nfunction allowing them to do that.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "5af84b82701a96be4b033aaa51d86c72e2ded061",
      "tree": "ac5751c7d2e9c17bf41dabdbeba964a05f09af18",
      "parents": [
        "8cc6b39ff36b4bbce2d7471da088df122b0e9033"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:23:32 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:09 2010 +0100"
      },
      "message": "PM: Asynchronous suspend and resume of devices\n\nTheoretically, the total time of system sleep transitions (suspend\nto RAM, hibernation) can be reduced by running suspend and resume\ncallbacks of device drivers in parallel with each other.  However,\nthere are dependencies between devices such that we\u0027re not allowed\nto suspend the parent of a device before suspending the device\nitself.  Analogously, we\u0027re not allowed to resume a device before\nresuming its parent.\n\nThe most straightforward way to take these dependencies into accout\nis to start the async threads used for suspending and resuming\ndevices at the core level, so that async_schedule() is called for\neach suspend and resume callback supposed to be executed\nasynchronously.\n\nFor this purpose, introduce a new device flag, power.async_suspend,\nused to mark the devices whose suspend and resume callbacks are to be\nexecuted asynchronously (ie. in parallel with the main suspend/resume\nthread and possibly in parallel with each other) and helper function\ndevice_enable_async_suspend() allowing one to set power.async_suspend\nfor given device (power.async_suspend is unset by default for all\ndevices).  For each device with the power.async_suspend flag set the\nPM core will use async_schedule() to execute its suspend and resume\ncallbacks.\n\nThe async threads started for different devices as a result of\ncalling async_schedule() are synchronized with each other and with\nthe main suspend/resume thread with the help of completions, in the\nfollowing way:\n(1) There is a completion, power.completion, for each device object.\n(2) Each device\u0027s completion is reset before calling async_schedule()\n    for the device or, in the case of devices with the\n    power.async_suspend flags unset, before executing the device\u0027s\n    suspend and resume callbacks.\n(3) During suspend, right before running the bus type, device type\n    and device class suspend callbacks for the device, the PM core\n    waits for the completions of all the device\u0027s children to be\n    completed.\n(4) During resume, right before running the bus type, device type and\n    device class resume callbacks for the device, the PM core waits\n    for the completion of the device\u0027s parent to be completed.\n(5) The PM core completes power.completion for each device right\n    after the bus type, device type and device class suspend (or\n    resume) callbacks executed for the device have returned.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "53823639173cc9e9a261f68f4abefe62364b86c6",
      "tree": "a4af3a12edea5cf24d23ddece703ec85bacffb42",
      "parents": [
        "68c6b859846bd078b37c6ca5f3882032f129e72d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jan 23 22:02:51 2010 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 26 20:39:08 2010 +0100"
      },
      "message": "PM / Runtime: Add sysfs switch for disabling device run-time PM\n\nAdd new device sysfs attribute, power/control, allowing the user\nspace to block the run-time power management of the devices.  If this\nattribute is set to \"on\", the driver of the device won\u0027t be able to power\nmanage it at run time (without breaking the rules) and the device will\nalways be in the full power state (except when the entire system goes\ninto a sleep state).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\n"
    },
    {
      "commit": "471452104b8520337ae2fb48c4e61cd4896e025d",
      "tree": "8594ae4a8362014e3cccf72a4e8834cdbb610bdd",
      "parents": [
        "0ead0f84e81a41c3e98aeceab04af8ab1bb08d1f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Dec 14 18:00:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "const: constify remaining dev_pm_ops\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7a1a8eb58a2c6cd819d17332c5a2c369203635d5",
      "tree": "2424ca8b41f97a0d4110218ef75caa50270c194a",
      "parents": [
        "965c4ac0613b071d6f035334c5d9d942013df4f9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Dec 03 21:19:18 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Dec 06 16:17:57 2009 +0100"
      },
      "message": "PM: Add flag for devices capable of generating run-time wake-up events\n\nApparently, there are devices that can wake up the system from sleep\nstates and yet are incapable of generating wake-up events at run\ntime.  Thus, introduce a flag indicating if given device is capable\nof generating run-time wake-up events.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "9d62ec6ca71d71c8a0d2cb1004f476d33f668955",
      "tree": "9add05fac4a177024f6de235b5d9b82054e24b27",
      "parents": [
        "8dd2b42665f9d4ca4fded99f048631b60f669dc5"
      ],
      "author": {
        "name": "Albin Tonnerre",
        "email": "albin.tonnerre@free-electrons.com",
        "time": "Wed Aug 05 23:59:59 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Sep 14 20:27:00 2009 +0200"
      },
      "message": "PM: Add convenience macro to make switching to dev_pm_ops less error-prone\n\nIn a number of cases, the .suspend, .freeze, .poweroff and .resume,\n.thaw, .restore functions are identical. However, they all need to be\nassigned to avoid regressionsm as the previous code called .suspend\nresp. .resume in all those cases. SIMPLE_DEV_PM_OPS helps to deal\nwith this case.\n\n[rjw: Changed the name of the macro and added the comment explaining its\n purpose.]\n\nSigned-off-by: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "5e928f77a09a07f9dd595bb8a489965d69a83458",
      "tree": "ef53ec90fa3214fd22e36b07c11c06b09e373d8d",
      "parents": [
        "8400146d0dc03590bba051399e4bb7e1cbf1c010"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Aug 18 23:38:32 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Aug 23 00:04:44 2009 +0200"
      },
      "message": "PM: Introduce core framework for run-time PM of I/O devices (rev. 17)\n\nIntroduce a core framework for run-time power management of I/O\ndevices.  Add device run-time PM fields to \u0027struct dev_pm_info\u0027\nand device run-time PM callbacks to \u0027struct dev_pm_ops\u0027.  Introduce\na run-time PM workqueue and define some device run-time PM helper\nfunctions at the core level.  Document all these things.\n\nSpecial thanks to Alan Stern for his help with the design and\nmultiple detailed reviews of the pereceding versions of this patch\nand to Magnus Damm for testing feedback.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\n"
    },
    {
      "commit": "d161630297a20802d01c55847bfcba85d2118a9f",
      "tree": "51685c169319400b6da4dc6c56b69e731c45f297",
      "parents": [
        "e39a71ef80877f4e30d808af9acceec80f4d2f7c"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sun May 24 22:05:42 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:31 2009 +0200"
      },
      "message": "PM core: rename suspend and resume functions\n\nThis patch (as1241) renames a bunch of functions in the PM core.\nRather than go through a boring list of name changes, suffice it to\nsay that in the end we have a bunch of pairs of functions:\n\n\tdevice_resume_noirq\tdpm_resume_noirq\n\tdevice_resume\t\tdpm_resume\n\tdevice_complete\t\tdpm_complete\n\tdevice_suspend_noirq\tdpm_suspend_noirq\n\tdevice_suspend\t\tdpm_suspend\n\tdevice_prepare\t\tdpm_prepare\n\nin which device_X does the X operation on a single device and dpm_X\ninvokes device_X for all devices in the dpm_list.\n\nIn addition, the old dpm_power_up and device_resume_noirq have been\ncombined into a single function (dpm_resume_noirq).\n\nLastly, dpm_suspend_start and dpm_resume_end are the renamed versions\nof the former top-level device_suspend and device_resume routines.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e39a71ef80877f4e30d808af9acceec80f4d2f7c",
      "tree": "e9d4ff1618328cf3a3fafee04621b9776ca169de",
      "parents": [
        "1380a37e3da5d9e14ea5c2a4c6ab2b307a2798ea"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Fri May 15 00:53:26 2009 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 12 21:32:31 2009 +0200"
      },
      "message": "PM: Rename device_power_down/up()\n\nRename the functions performing \"_noirq\" dev_pm_ops\noperations from device_power_down() and device_power_up()\nto device_suspend_noirq() and device_resume_noirq().\n\nThe new function names are chosen to show that the functions\nare responsible for calling the _noirq() versions to finalize\nthe suspend/resume operation. The current function names do\nnot perform power down/up anymore so the names may be misleading.\n\nGlobal function renames:\n- device_power_down() -\u003e device_suspend_noirq()\n- device_power_up() -\u003e device_resume_noirq()\n\nStatic function renames:\n- suspend_device_noirq() -\u003e __device_suspend_noirq()\n- resume_device_noirq() -\u003e __device_resume_noirq()\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "ffa6a7054d172a2f57248dff2de600ca795c5656",
      "tree": "f93c6234bb90295c52fcef09e367ed77ff6c3645",
      "parents": [
        "60530afe1ee8a5532cb09d0ab5bc3f1a6495b780"
      ],
      "author": {
        "name": "Cornelia Huck",
        "email": "cornelia.huck@de.ibm.com",
        "time": "Wed Mar 04 12:44:00 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:26 2009 -0700"
      },
      "message": "Driver core: Fix device_move() vs. dpm list ordering, v2\n\ndpm_list currently relies on the fact that child devices will\nbe registered after their parents to get a correct suspend\norder. Using device_move() however destroys this assumption, as\nan already registered device may be moved under a newly registered\none.\n\nThis patch adds a new argument to device_move(), allowing callers\nto specify how dpm_list should be adapted.\n\nSigned-off-by: Cornelia Huck \u003ccornelia.huck@de.ibm.com\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "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": "7f4f5d4516b441d712fa0ffe5380618fb7fc545e",
      "tree": "60e7577895c1466f1f62b5389017c4dbdad580ec",
      "parents": [
        "adf094931ffb25ef4b381559918f1a34181a5273"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Nov 17 11:14:19 2008 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:30 2009 -0800"
      },
      "message": "Fix misspellings in pm.h macros\n\nThis patch (as1167) fixes some misspellings in various recently-added\nmacros in pm.h.  Fortunately these macros are not yet used anywhere.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n\n"
    },
    {
      "commit": "adf094931ffb25ef4b381559918f1a34181a5273",
      "tree": "bd343d4c15b21dff6a73359fd2d82ff77e30e0d4",
      "parents": [
        "238c6d54830c624f34ac9cf123ac04aebfca5013"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Oct 06 22:46:05 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:29 2009 -0800"
      },
      "message": "PM: Simplify the new suspend/hibernation framework for devices\n\nPM: Simplify the new suspend/hibernation framework for devices\n\nFollowing the discussion at the Kernel Summit, simplify the new\ndevice PM framework by merging \u0027struct pm_ops\u0027 and\n\u0027struct pm_ext_ops\u0027 and removing pointers to \u0027struct pm_ext_ops\u0027\nfrom \u0027struct platform_driver\u0027 and \u0027struct pci_driver\u0027.\n\nAfter this change, the suspend/hibernation callbacks will only\nreside in \u0027struct device_driver\u0027 as well as at the bus type/\ndevice class/device type level.  Accordingly, PCI and platform\ndevice drivers are now expected to put their suspend/hibernation\ncallbacks into the \u0027struct device_driver\u0027 embedded in\n\u0027struct pci_driver\u0027 or \u0027struct platform_driver\u0027, respectively.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d5c003b4d1690e666dbab02bc8e705947baa848c",
      "tree": "868edee78b635698429173a95ac4215b932f0155",
      "parents": [
        "8e9c7716c138fa82d919bfe1115ec8c938e90918"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 15 22:01:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:30 2008 -0700"
      },
      "message": "include: replace __FUNCTION__ with __func__\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8111d1b552349921aae1acf73e4e8cea98e80970",
      "tree": "39dfdfcb722125bb9d036a2f0e9814ba077acb4a",
      "parents": [
        "8c363265d57d755e62053e9f69a1f2164e83f7ea"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Jul 23 21:28:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:23 2008 -0700"
      },
      "message": "pm: add new PM_EVENT codes for runtime power transitions\n\nThis patch (as1112) adds some new PM_EVENT_* codes for use by kernel\nsubsystems.  They describe runtime power-state transitions of the sort already\nimplemented by the USB subsystem.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\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": "8c363265d57d755e62053e9f69a1f2164e83f7ea",
      "tree": "fb5cf13c2b114817d7effcc45cdcded9d3e8e680",
      "parents": [
        "40b4ac33b4d1bdd5cbeb2241be2399c550fa3696"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 23 21:28:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:23 2008 -0700"
      },
      "message": "pm: drop unnecessary includes from pm.h\n\nDrop unnecessary includes from include/linux/pm.h .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\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": "e7ecb331e11d1f7aa66aeef9170fc20781c9bb55",
      "tree": "4194762c4b06742666ffa6f2e9df3d12d23d6020",
      "parents": [
        "558481f038e587b22d02167af58914c814ce9de5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 23 21:28:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "pm: remove remaining obsolete definitions from pm.h\n\nRemove the remaining obsolete definitions from include/linux/pm.h and move\nthe definitions of PM_SUSPEND and PM_RESUME to the header of h3600 which\nis the only user of them.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\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": "558481f038e587b22d02167af58914c814ce9de5",
      "tree": "51a4e53192e81b17291d344860b5d40111b25b8d",
      "parents": [
        "d75f65fd247fe85d90a3880d143b1bb22fe13a48"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 23 21:28:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:22 2008 -0700"
      },
      "message": "pm: remove definition of struct pm_dev\n\nRemove the definition of \u0027struct pm_dev\u0027, which is not used any more,\nalong with some related stuff from include/linux/pm.h .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\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": "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": "735643ee6cc5249bfac07fcad0946a5e7aff4423",
      "tree": "e725df246f4a3cf88b6b42a28d859ab969acf81c",
      "parents": [
        "71cc2c2152170b8166f59abb0604dc62073aeb92"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Apr 30 00:55:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "Remove \"#ifdef __KERNEL__\" checks from unexported headers\n\nRemove the \"#ifdef __KERNEL__\" tests from unexported header files in\nlinux/include whose entire contents are wrapped in that preprocessor\ntest.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a3df1f7de0ecaf77a1dde86f2a4dc020f37f87e",
      "tree": "599a884cf4b42c516226c0f845cd32d0295b74ed",
      "parents": [
        "d288e47c471e1090e80c62ad95882fafbf3f499d"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Mar 19 22:39:13 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:26 2008 -0700"
      },
      "message": "PM: Convert wakeup flag accessors to inline functions\n\nThis patch (as1058) improves the wakeup macros in include/linux/pm.h.\nAll but the trivial ones are converted to inline routines, which\nrequires moving them to a separate header file since they depend on\nthe definition of struct device.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d288e47c471e1090e80c62ad95882fafbf3f499d",
      "tree": "bfc8a880b49a0b7a0bb200ae0f0462f5523d0256",
      "parents": [
        "74081f8667d73ad59961cf63be5f0e9d6a87c8a3"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Mar 19 22:37:42 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:25 2008 -0700"
      },
      "message": "PM: Make wakeup flags available whenever CONFIG_PM is set\n\nThe various wakeup flags and their accessor macros in struct\ndev_pm_info should be available whenever CONFIG_PM is enabled, not\njust when CONFIG_PM_SLEEP is on.  Otherwise remote wakeup won\u0027t always\nbe configurable for runtime power management.  This patch (as1056b)\nfixes the oversight.\n\nDavid Brownell adds:\n\tMore accurately, fixes the \"regression\" ... as noted sometime\n\tlast summer, after 296699de6bdc717189a331ab6bbe90e05c94db06\n\tintroduced CONFIG_SUSPEND.  But that didn\u0027t make the regression\n\tlist for that kernel, ergo the delay in fixing it.\n\n[rjw: rebased]\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "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": "fd3f8984f6fa1ad1a6c2283eef48ba6e5242bcc5",
      "tree": "12f69b5301ece00daff4a73aa9ed92e9e88d07a0",
      "parents": [
        "ab690d9fedf5103bc3057bcd20555159f613b5f2"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Feb 03 17:45:46 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 17:45:46 2008 +0200"
      },
      "message": "include/linux/: Spelling fixes\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\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": "95d9ffbe01fb21d524c86bf77871255066bc6e55",
      "tree": "647355f56f85b1038ffc81fa50ff2c3878ab6597",
      "parents": [
        "a065c86e1bfcdd36709025d018965afea3f3a2b6"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Oct 18 03:04:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:18 2007 -0700"
      },
      "message": "PM: Move definition of struct pm_ops to suspend.h\n\nMove the definition of \u0027struct pm_ops\u0027 and related functions from \u003clinux/pm.h\u003e\nto \u003clinux/suspend.h\u003e .\n\nThere are, at least, the following reasons to do that:\n* \u0027struct pm_ops\u0027 is specifically related to suspend and not to the power\n  management in general.\n* As long as \u0027struct pm_ops\u0027 is defined in \u003clinux/pm.h\u003e, any modification of it\n  causes the entire kernel to be recompiled, which is unnecessary and annoying.\n* Some suspend-related features are already defined in \u003clinux/suspend.h\u003e, so it\n  is logical to move the definition of \u0027struct pm_ops\u0027 into there.\n* \u0027struct hibernation_ops\u0027, being the hibernation-related counterpart of\n  \u0027struct pm_ops\u0027, is defined in \u003clinux/suspend.h\u003e .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80ba80a9bf25d251237694c3fcee850a73324532",
      "tree": "b6cc901b7942255afcbe0f946e2f49b07fe856e6",
      "parents": [
        "9c837fb692b005203765d8a569a2fe43fdff9df1"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jul 30 23:08:46 2007 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 30 12:25:49 2007 -0700"
      },
      "message": "Fallout from \"Remove fs.h from mm.h\" patch\n\nWhile I was busy compile-testing my patch, ENOSYS sneaked into pm.h\nleading to some compile-breakages mostly on ia64 and some mips configs.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "296699de6bdc717189a331ab6bbe90e05c94db06",
      "tree": "53c847ecc8cce11952502921844052e44ca60d5e",
      "parents": [
        "b0cb1a19d05b8ea8611a9ef48a17fe417f1832e6"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jul 29 23:27:18 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 29 16:45:38 2007 -0700"
      },
      "message": "Introduce CONFIG_SUSPEND for suspend-to-Ram and standby\n\nIntroduce CONFIG_SUSPEND representing the ability to enter system sleep\nstates, such as the ACPI S3 state, and allow the user to choose SUSPEND\nand HIBERNATION independently of each other.\n\nMake HOTPLUG_CPU be selected automatically if SUSPEND or HIBERNATION has\nbeen chosen and the kernel is intended for SMP systems.\n\nAlso, introduce CONFIG_PM_SLEEP which is automatically selected if\nCONFIG_SUSPEND or CONFIG_HIBERNATION is set and use it to select the\ncode needed for both suspend and hibernation.\n\nThe top-level power management headers and the ACPI code related to\nsuspend and hibernation are modified to use the new definitions (the\nchanges in drivers/acpi/sleep/main.c are, mostly, moving code to reduce\nthe number of ifdefs).\n\nThere are many other files in which CONFIG_PM can be replaced with\nCONFIG_PM_SLEEP or even with CONFIG_SUSPEND, but they can be updated in\nthe future.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bd804eba1c8597cbb7cd5a5f9fe886aae16a079a",
      "tree": "082f289809f92db6d23a13cd8fbbb82da125fcda",
      "parents": [
        "d7372cdf6938ccea23ec9fc68970702fed9ec3c8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jul 19 01:47:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 19 10:04:42 2007 -0700"
      },
      "message": "PM: Introduce pm_power_off_prepare\n\nIntroduce the pm_power_off_prepare() callback that can be registered by the\ninterested platforms in analogy with pm_idle() and pm_power_off(), used for\npreparing the system to power off (needed by ACPI).\n\nThis allows us to drop acpi_sysclass and device_acpi that are only defined in\norder to register the ACPI power off preparation callback, which is needed by\npm_power_off() registered in a much different way.\n\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": "3f8df781fc5f9ee5253a54ba669e1c8872844b86",
      "tree": "fbca591c1538dfe4b812910dfaacfa8ed928307d",
      "parents": [
        "471d0558045fe35f8c5f291c1ee63815eb9c2dcd"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Jul 12 16:57:22 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:49:49 2007 -0700"
      },
      "message": "PM: remove deprecated dpm_runtime_* routines\n\nThis patch (as933) removes the deprecated dpm_runtime_suspend() and\ndpm_runtime_resume() routines from the PM core.  The only user of\nthose routines is the PCMCIA ds driver; local replacements are added.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "515c53576299e32d6bdb6295cfa2fe1307516eb4",
      "tree": "210def9ddfced2800dc014a49a6f6a37dbf795eb",
      "parents": [
        "2a0134554e12f530c6eccb1dab3f0f8954f855c9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jun 17 19:48:06 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:02 2007 -0700"
      },
      "message": "PM: Remove prev_state from struct dev_pm_info\n\nThe prev_state member of struct dev_pm_info (defined in include/linux/pm.h) is\nonly used during a resume to check if the device\u0027s state before the suspend was\n\u0027off\u0027, in which case the device is not resumed.  However, in such cases the\ndecision whether or not to resume the device should be made on the driver level\nand the resume callbacks from the device\u0027s bus and class should be executed\nanyway (the may be needed for some things other than just powering on the\ndevice).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cc4900690bf77257996e90f0059eb074b8db52e6",
      "tree": "df70ea9cb6e8f0a1f92aaea3b83f890efd698339",
      "parents": [
        "9cddad77574313fcee36c5e60122718daa7c0361"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jun 13 15:55:34 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:01 2007 -0700"
      },
      "message": "PM: Remove saved_state from struct dev_pm_info\n\nThe saved_state member of struct dev_pm_info, defined in include/linux/pm.h, is\nnot used anywhere, so it can be removed.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9cddad77574313fcee36c5e60122718daa7c0361",
      "tree": "2d6dd05e02ffff565ffb23046933f33cda0531e8",
      "parents": [
        "11048dcf333c414f237bb713c422e68f67b115a3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jun 13 15:53:34 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 11 16:09:01 2007 -0700"
      },
      "message": "PM: Remove pm_parent from struct dev_pm_info\n\nThe pm_parent member of struct dev_pm_info (defined in include/linux/pm.h) is\nonly used to check if the device\u0027s parent is in the right state while the\ndevice is being suspended or resumed.  However, this can be done just as well\nwith the help of the parent pointer in struct device, so pm_parent can be\nremoved along with some code that handles it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2391dae3e36c19fe668c71eac2eb8344dbaaf46d",
      "tree": "ae8c1fa53fe67e3ccbb8c5097f6b5bda27b26959",
      "parents": [
        "cbcdd772ff43de58cc0d9de76ae9d05e2dd98bc0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jul 01 12:07:33 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 01 12:29:44 2007 -0700"
      },
      "message": "PM: introduce set_target method in pm_ops\n\nCommit 52ade9b3b97fd3bea42842a056fe0786c28d0555 changed the suspend code\nordering to execute pm_ops-\u003eprepare() after the device model per-device\n.suspend() calls in order to fix some ACPI-related issues.  Unfortunately, it\nbroke the at91 platform which assumed that pm_ops-\u003eprepare() would be called\nbefore suspending devices.\n\nat91 used pm_ops-\u003eprepare() to get notified of the target system sleep state,\nso that it could use this information while suspending devices.  However, with\nthe current suspend code ordering pm_ops-\u003eprepare() is called too late for\nthis purpose.  Thus, at91 needs an additional method in \u0027struct pm_ops\u0027 that\nwill be used for notifying the platform of the target system sleep state.\nMoreover, in the future such a method will also be needed by ACPI.\n\nThis patch adds the .set_target() method to \u0027struct pm_ops\u0027 and makes the\nsuspend code call it, if implemented, before executing the device model\nper-device .suspend() calls.  It also modifies the at91 code to use\npm_ops-\u003eset_target() instead of pm_ops-\u003eprepare().\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3d25c275d383975504dc53c25b691df59bd3c48",
      "tree": "161a2ae12a20a630c2f639e144872db2b92eb098",
      "parents": [
        "d60846c4d16f9518b098b905af2b87cb6bf6dc42"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed May 09 02:33:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:48 2007 -0700"
      },
      "message": "PM: Separate hibernation code from suspend code\n\n[ With Johannes Berg \u003cjohannes@sipsolutions.net\u003e ]\n\nSeparate the hibernation (aka suspend to disk code) from the other suspend\ncode.  In particular:\n\n * Remove the definitions related to hibernation from include/linux/pm.h\n * Introduce struct hibernation_ops and a new hibernate() function to hibernate\n   the system, defined in include/linux/suspend.h\n * Separate suspend code in kernel/power/main.c from hibernation-related code\n   in kernel/power/disk.c and kernel/power/user.c (with the help of\n   hibernation_ops)\n * Switch ACPI (the only user of pm_ops.pm_disk_mode) to hibernation_ops\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Nigel Cunningham \u003cnigel@nigel.suspend2.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14e38ac823b7b25e3f4e563c182f93fde78167d6",
      "tree": "f4252518efdd877ee1558ded8bcea4ed130837cc",
      "parents": [
        "11443ec7d9286dd25663516436a14edfb5f43857"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Apr 30 15:09:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 16:40:41 2007 -0700"
      },
      "message": "pm: include EIO from errno-base.h\n\nFor backwards compatibility, call_platform_enable_wakeup() can return 0\ninstead of -EIO since we aren\u0027t guaranteed to have errno defined.\n\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9684e51cd157607f0727c1550e7df6e31de40808",
      "tree": "eef6e19205a22817ee659cb2dc7b9ae39465c69d",
      "parents": [
        "e8c9c502690efd24b7055bf608e7a3c34216848b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 30 15:09:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 16:40:40 2007 -0700"
      },
      "message": "power management: force pm_ops.valid callback to be assigned\n\nThis patch changes the docs and behaviour from \"all states valid\" to \"no\nstates valid\" if no .valid callback is assigned.  Users of pm_ops that only\nneed mem sleep can assign pm_valid_only_mem without any overhead, others\nwill require more elaborate callbacks.\n\nNow that all users of pm_ops have a .valid callback this is a safe thing to\ndo and prevents things from getting messy again as they were before.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nLooks-okay-to: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: \u003clinux-pm@lists.linux-foundation.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8c9c502690efd24b7055bf608e7a3c34216848b",
      "tree": "1583f34ec9cac07ddfdcb24de66e49718b107436",
      "parents": [
        "11d77d0c01b80e44c7aceb21928508dafce774f9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 30 15:09:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 16:40:40 2007 -0700"
      },
      "message": "power management: implement pm_ops.valid for everybody\n\nAlmost all users of pm_ops only support mem sleep, don\u0027t check in .valid and\ndon\u0027t reject any others in .prepare so users can be confused if they check\n/sys/power/state, especially when new states are added (these would then\nresult in s-t-r although they\u0027re supposed to be something different).\n\nThis patch implements a generic pm_valid_only_mem function that is then\nexported for users and puts it to use in almost all existing pm_ops.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: linux-pm@lists.linux-foundation.org\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11d77d0c01b80e44c7aceb21928508dafce774f9",
      "tree": "4952f15df4ea2fcdba824aec5689ee9c0c7ceb90",
      "parents": [
        "fe0c935a6cbf25d72a27c7a345df8a2151de0b74"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 30 15:09:53 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 16:40:40 2007 -0700"
      },
      "message": "power management: remove firmware disk mode\n\nThis patch removes the firmware disk suspend mode which is the wrong approach,\nit is supposed to be used for implementing firmware-based disk suspend but\ncannot actually be used for that.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \u003clinux-pm@lists.linux-foundation.org\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe0c935a6cbf25d72a27c7a345df8a2151de0b74",
      "tree": "841a847412694ee586b0ca7e1e2ce7c45700d9b1",
      "parents": [
        "1173a729fc3ce2fa0d698bd39be8ff7bf6c70bf1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Apr 30 15:09:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 16:40:40 2007 -0700"
      },
      "message": "rework pm_ops pm_disk_mode, kill misuse\n\nThis patch series cleans up some misconceptions about pm_ops.  Some users of\nthe pm_ops structure attempt to use it to stop the user from entering suspend\nto disk, this, however, is not possible since the user can always use\n\"shutdown\" in /sys/power/disk and then the pm_ops are never invoked.  Also,\nplatforms that don\u0027t support suspend to disk simply should not allow\nconfiguring SOFTWARE_SUSPEND (read the help text on it, it only selects\nsuspend to disk and nothing else, all the other stuff depends on PM).\n\nThe pm_ops structure is actually intended to provide a way to enter\nplatform-defined sleep states (currently supported states are \"standby\" and\n\"mem\" (suspend to ram)) and additionally (if SOFTWARE_SUSPEND is configured)\nallows a platform to support a platform specific way to enter low-power mode\nonce everything has been saved to disk.  This is currently only used by ACPI\n(S4).\n\nThis patch:\n\nThe pm_ops.pm_disk_mode is used in totally bogus ways since nobody really\nseems to understand what it actually does.\n\nThis patch clarifies the pm_disk_mode description.\n\nIt also removes all the arm and sh users that think they can veto suspend to\ndisk via pm_ops; not so since the user can always do echo shutdown \u003e\n/sys/power/disk, they need to find a better way involving Kconfig or such.\n\nACPI is the only user left with a non-zero pm_disk_mode.\n\nThe patch also sets the default mode to shutdown again, but when a new pm_ops\nis registered its pm_disk_mode is selected as default, that way the default\nstays for ACPI where it is apparently required.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \u003clinux-pm@lists.linux-foundation.org\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a53c46dc8253cc613ad66a2ca7aad6de8b7e61b9",
      "tree": "5b041cbe147597efb337525ad8260128cc8bc2b0",
      "parents": [
        "075c1771526c85849ed22298d048bc07e400aee5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Apr 26 11:43:58 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:33 2007 -0700"
      },
      "message": "s2ram: add arch irq disable/enable hooks\n\nAfter some more discussion this patch replaces it:\n\nFrom: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSubject: suspend: add arch irq disable/enable hooks\n\nFor powermac, we need to do some things between suspending devices and\ndevice_power_off, for example setting the decrementer. This patch\nallows architectures to define arch_s2ram_{en,dis}able_irqs in their\nasm/suspend.h to have control over this step.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "075c1771526c85849ed22298d048bc07e400aee5",
      "tree": "a1579e93b450b0e870a7a65698f9a07bddbfd899",
      "parents": [
        "057f6c019fff9ee290641d50647359bb8898918e"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Thu Apr 26 00:12:06 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 27 10:57:33 2007 -0700"
      },
      "message": "define platform wakeup hook, use in pci_enable_wake()\n\nThis defines a platform hook to enable/disable a device as a wakeup event\nsource.  It\u0027s initially for use with ACPI, but more generally it could be used\nwhenever enable_irq_wake()/disable_irq_wake() don\u0027t suffice.\n\nThe hook is called -- if available -- inside pci_enable_wake(); and the\nsemantics of that call are enhanced so that support for PCI PME# is no longer\nneeded.  It can now work for devices with \"legacy PCI PM\", when platform\nsupport allows it.  (That support would use some board-specific signal for for\nthe same purpose as PME#.)\n\n[akpm@linux-foundation.org: Make it compile with CONFIG_PM\u003dn]\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Zhang Rui \u003crui.zhang@intel.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2a9df4945106d62ed9249a44d666fab93c685f7a",
      "tree": "3cdc8716743d9d01d172856ecff64ace2b07aab0",
      "parents": [
        "9c372d06ce9ddf65e1393f9ea22a6d6bd5f96b42"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Feb 16 01:38:30 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 23 14:52:09 2007 -0800"
      },
      "message": "power management: fix struct layout and docs\n\nBecause the pm ops in powermac are obviously not using them as intended, I\nadded documentation for it in kernel-doc format.\n\nReordering the fields in struct pm_ops not only makes the output of kernel-doc\nmake more sense but also removes a hole from the structure on 64-bit\nplatforms.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Pavel Macheck \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b918f6e62cd46774f9fc0a3fbba6bd10ad85ee14",
      "tree": "d73dc0e8823c8445d84701cc3d527e0e34494a32",
      "parents": [
        "90d53909443b3986569b38ef145f09ea2359af75"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Nov 02 22:07:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Nov 03 12:27:58 2006 -0800"
      },
      "message": "[PATCH] swsusp: debugging\n\nAdd a swsusp debugging mode.  This does everything that\u0027s needed for a suspend\nexcept for actually suspending.  So we can look in the log messages and work\nout a) what code is being slow and b) which drivers are misbehaving.\n\n(1)\n# echo testproc \u003e /sys/power/disk\n# echo disk \u003e /sys/power/state\n\nThis should turn off the non-boot CPU, freeze all processes, wait for 5\nseconds and then thaw the processes and the CPU.\n\n(2)\n# echo test \u003e /sys/power/disk\n# echo disk \u003e /sys/power/state\n\nThis should turn off the non-boot CPU, freeze all processes, shrink\nmemory, suspend all devices, wait for 5 seconds, resume the devices etc.\n\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Stefan Seyfried \u003cseife@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "82bb67f2c1f9ef438c56ac24e7dca027fe7289b5",
      "tree": "e0531466b19295129692da81bdff3538ab3621b3",
      "parents": [
        "8b4b8a24e4e49dc9fe36d4d079f6d2c23f942b03"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon Aug 14 23:11:04 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:37 2006 -0700"
      },
      "message": "PM: define PM_EVENT_PRETHAW\n\nThis adds a new pm_message_t event type to use when preparing to restore a\nswsusp snapshot.  Devices that have been initialized by Linux after resume\n(rather than left in power-up-reset state) may need to be reset; this new\nevent type give drivers the chance to do that.\n\nThe drivers that will care about this are those which understand more hardware\nstates than just \"on\" and \"reset\", relying on hardware state during resume()\nmethods to be either the state left by the preceding suspend(), or a\npower-lost reset.  The best current example of this class of drivers are USB\nhost controller drivers, which currently do not work through swsusp when\nthey\u0027re statically linked.\n\nWhen the swsusp freeze/thaw mechanism kicks in, a troublesome third state\ncould exist: one state set up by a different kernel instance, before a\nsnapshot image is resumed.  This mechanism lets drivers prevent that state.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7c8265f51073bc8632a99de78d5fd19117ed78b7",
      "tree": "85efa2114f3765c98236152ca46d783dc1bd7d5b",
      "parents": [
        "ceeee1fb2897651b434547eb26d93e6d2ff5a1a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@osdl.org",
        "time": "Sat Jun 24 14:50:29 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Sep 25 21:08:36 2006 -0700"
      },
      "message": "Suspend infrastructure cleanup and extension\n\nAllow devices to participate in the suspend process more intimately,\nin particular, allow the final phase (with interrupts disabled) to\nalso be open to normal devices, not just system devices.\n\nAlso, allow classes to participate in device suspend.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "026694920579590c73b5c56705d543568ed5ad41",
      "tree": "1c3ad318fe65c5812dd33008af8e77389ee31c46",
      "parents": [
        "372254018eb1b65ee69210d11686bfc65c8d84db"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 23 01:38:34 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 14 11:41:25 2006 -0700"
      },
      "message": "[PATCH] pm: print name of failed suspend function\n\nPrint more diagnostic info to help identify the source of power management\nsuspend failures.\n\nExample:\n\nusb_hcd_pci_suspend(): pci_set_power_state+0x0/0x1af() returns -22\npci_device_suspend(): usb_hcd_pci_suspend+0x0/0x11b() returns -22\nsuspend_device(): pci_device_suspend+0x0/0x34() returns -22\n\nWork-in-progress.  It needs lots more suspend_report_result() calls sprinkled\neverywhere.\n\nCc: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Nigel Cunningham \u003cnigel@suspend2.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "74c7e2efbe37378026f00ad9e7253796d7b2fc99",
      "tree": "ddea6072e727fb37b55a3b45122e023a3951decf",
      "parents": [
        "61159a314bca6408320c3173c1282c64f5cdaa76"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Thu Mar 23 03:00:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:07 2006 -0800"
      },
      "message": "[PATCH] kernel/power: move externs to header files\n\nMove externs from C source files to header files.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bca73e4bf8563d83f7856164caa44d5f42e44cca",
      "tree": "ea8c50adca509c8012aed715d578b6c927f9e284",
      "parents": [
        "95e861db3eaba7bc99f8605db70103ec3d078203"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Nov 13 16:06:25 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:10 2005 -0800"
      },
      "message": "[PATCH] move pm_register/etc. to CONFIG_PM_LEGACY, pm_legacy.h\n\nSince few people need the support anymore, this moves the legacy\npm_xxx functions to CONFIG_PM_LEGACY, and include/linux/pm_legacy.h.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eb9289eb20df6b54214c45ac7c6bf5179a149026",
      "tree": "dac51cecdd94e0c7273c990259ddd800057311b9",
      "parents": [
        "0245b3e787dc3267a915e1f56419e7e9c197e148"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Sun Oct 30 15:00:01 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:15 2005 -0800"
      },
      "message": "[PATCH] introduce .valid callback for pm_ops\n\nAdd pm_ops.valid callback, so only the available pm states show in\n/sys/power/state.  And this also makes an earlier states error report at\nenter_state before we do actual suspend/resume.\n\nSigned-off-by: Shaohua Li\u003cshaohua.li@intel.com\u003e\nAcked-by: Pavel Machek\u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a7834d06d553d02cc6e659e94772f69a8b5367f",
      "tree": "9ca891740becd9a090565bc3d73f8da2c2ea54d3",
      "parents": [
        "db2d55b7f7f11823b8d2e5f0c706c7a264320d1b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Oct 23 23:02:20 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 16:47:52 2005 -0700"
      },
      "message": "[PATCH] USB: fix pm patches with CONFIG_PM off part 2\n\nWith CONFIG_PM\u003dn:\n\ndrivers/built-in.o(.text+0x1098c): In function `hub_thread\u0027:\ndrivers/usb/core/hub.c:2673: undefined reference to `.dpm_runtime_resume\u0027\ndrivers/built-in.o(.text+0x10998):drivers/usb/core/hub.c:2674: undefined reference to `.dpm_runtime_resume\u0027\n\nPlease, never ever ever put extern decls into .c files.  Use the darn header\nfiles :(\n\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e9b7bd4ee7f6e3ee002dc72c5211cd97c7186d00",
      "tree": "03eb4c6ae1529c904a3aca42fa597f8548bddcb4",
      "parents": [
        "a1d59ce842a35b552f22868404e4e7c923242257"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Thu Sep 22 22:30:48 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 16:47:39 2005 -0700"
      },
      "message": "[PATCH] one less word in struct device\n\nThis saves a word from \"struct device\" ... there\u0027s a refcounting mechanism\nstub that\u0027s rather ineffective (the values are never even tested!), which\ncan safely be deleted.  With this patch it uses normal device refcounting,\nso any potential users of the pm_parent mechanism will be more correct.\n(That mechanism is actually unusable for now though; it does nothing.)\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n drivers/base/power/main.c |   26 +++-----------------------\n include/linux/pm.h        |    1 -\n 2 files changed, 3 insertions(+), 24 deletions(-)\n"
    },
    {
      "commit": "0ac85241ebc7bf6b86ab498960cc121d53ef69ae",
      "tree": "8b5d9d5a3e475c49d771d1a4bd597ea561331ff7",
      "parents": [
        "2a7ff1feda9f5cd6463744239ec5e661ee7d5f01"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon Sep 12 19:39:34 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 09:52:50 2005 -0700"
      },
      "message": "[PATCH] driver model wakeup flags\n\nThis is a refresh of an earlier patch to add \"wakeup\" support to the\nPM core model.  This provides per-device bus-neutral control of the\nuse of wakeup events.\n\n  * \"struct device_pm_info\" has two bits that are initialized as\n    part of setting up the enclosing struct device:\n      - \"can_wakeup\", reflecting hardware capabilities\n      - \"may_wakeup\", the policy setting (when CONFIG_PM)\n\n  * There\u0027s a writeable sysfs \"wakeup\" file, with one of two values:\n      - \"enabled\", when the policy is to allow wakeup\n      - \"disabled\", when the policy is not to allow it\n      - \"\" if the device can\u0027t currently issue wakeups\n\nBy default, wakeup is enabled on all devices that support it.  If its\ndriver doesn\u0027t support it ... treat it as a bug.  :)\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ca078bae813dd46c0f9b102fdfb4a3384641ff48",
      "tree": "e3348f5dcb24159a522941aa2e3ee40bc9e0589b",
      "parents": [
        "829ca9a30a2ddb727981d80fabdbff2ea86bc9ea"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Sep 03 15:56:57 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@evo.osdl.org",
        "time": "Mon Sep 05 00:06:16 2005 -0700"
      },
      "message": "[PATCH] swsusp: switch pm_message_t to struct\n\nThis adds type-checking to pm_message_t, so that people can\u0027t confuse it\nwith int or u32.  It also allows us to fix \"disk yoyo\" during suspend (disk\nspinning down/up/down).\n\n[We\u0027ve tried that before; since that cpufreq problems were fixed and I\u0027ve\ntried make allyes config and fixed resulting damage.]\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Alexander Nyberg \u003calexn@telia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5028770a42e7bc4d15791a44c28f0ad539323807",
      "tree": "74800e35129775413c13ce7caf036ca19e3ce56c",
      "parents": [
        "9f02d6b7b43d46a74dd385f06090104ecd0fb807",
        "d8683a0cb5d09cb7f19feefa708424a84577e68f"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Jul 12 17:21:56 2005 -0400"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Jul 12 17:21:56 2005 -0400"
      },
      "message": "[ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc...\n\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "e2a5b420f716cd1a46674b1a90389612eced916f",
      "tree": "96f363f2e402d53428c046269514a82856b0cb34",
      "parents": [
        "be91492ca871e58f61b517cfba541095bb60001c"
      ],
      "author": {
        "name": "Alexey Starikovskiy",
        "email": "alexey.y.starikovskiy@intel.com",
        "time": "Fri Mar 18 16:20:46 2005 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Mon Jul 11 23:20:49 2005 -0400"
      },
      "message": "[ACPI] ACPI poweroff fix\n\nRegister an \"acpi\" system device to be notified of shutdown preparation.\nThis depends on CONFIG_PM\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d4041\n\nSigned-off-by: Alexey Starikovskiy \u003calexey.y.starikovskiy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "620b03276488c3cf103caf1e326bd21f00d3df84",
      "tree": "e2de713c76ddb42b091305b88aa7ca4938081789",
      "parents": [
        "5ce47e59c9688d8480ae41100117d8188c191401"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@ucw.cz",
        "time": "Sat Jun 25 14:55:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 25 16:24:33 2005 -0700"
      },
      "message": "[PATCH] properly stop devices before poweroff\n\nWithout this patch, Linux provokes emergency disk shutdowns and\nsimilar nastiness. It was in SuSE kernels for some time, IIRC.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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"
    }
  ]
}
