)]}'
{
  "log": [
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc92805a8e25e5e2b0ba7c413cc15d9f05962ee8",
      "tree": "841ba603726e0168d0cddaf528e9e5c472a7fed1",
      "parents": [
        "adc400f69053b16756ff3b00daa64884c8df0787"
      ],
      "author": {
        "name": "Jonghwan Choi",
        "email": "jhbird.choi@samsung.com",
        "time": "Tue Jul 26 16:08:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:41 2011 -0700"
      },
      "message": "drivers/base/power/opp.c: fix dev_opp initial value\n\nDev_opp initial value shoule be ERR_PTR(), IS_ERR() is used to check\nerror.\n\nSigned-off-by: Jonghwan Choi \u003cjhbird.choi@samsung.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\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": "f0deb97ab13ad1f89cd0993f7339655d59788405",
      "tree": "41572e643cb4983115707ae330b5896ae76e1ea1",
      "parents": [
        "184475029a724b6b900d88fc3a5f462a6107d5af",
        "21d541aa19e90752232bf6c43002f019f204f988"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 23:06:24 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 23:06:24 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  updated Documentation/ja_JP/SubmittingPatches\n  debugfs: add documentation for debugfs_create_x64\n  uio: uio_pdrv_genirq: Add OF support\n  firmware: gsmi: remove sysfs entries when unload the module\n  Documentation/zh_CN: Fix messy code file email-clients.txt\n  driver core: add more help description for \"path to uevent helper\"\n  driver-core: modify FIRMWARE_IN_KERNEL help message\n  driver-core: Kconfig grammar corrections in firmware configuration\n  DOCUMENTATION: Replace create_device() with device_create().\n  DOCUMENTATION: Update overview.txt in Doc/driver-model.\n  pti: pti_tty_install documentation mispelling.\n"
    },
    {
      "commit": "184475029a724b6b900d88fc3a5f462a6107d5af",
      "tree": "408320b46df221a2424bf94282b1b8e5b7aff7a1",
      "parents": [
        "3b76eefe0f970c2e19f165d4a1650abc523d10bc",
        "f1f4ee01c0d3dce0e3aa7d04e4332677db7af478"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 22:59:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 22:59:39 2011 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (99 commits)\n  drivers/virt: add missing linux/interrupt.h to fsl_hypervisor.c\n  powerpc/85xx: fix mpic configuration in CAMP mode\n  powerpc: Copy back TIF flags on return from softirq stack\n  powerpc/64: Make server perfmon only built on ppc64 server devices\n  powerpc/pseries: Fix hvc_vio.c build due to recent changes\n  powerpc: Exporting boot_cpuid_phys\n  powerpc: Add CFAR to oops output\n  hvc_console: Add kdb support\n  powerpc/pseries: Fix hvterm_raw_get_chars to accept \u003c 16 chars, fixing xmon\n  powerpc/irq: Quieten irq mapping printks\n  powerpc: Enable lockup and hung task detectors in pseries and ppc64 defeconfigs\n  powerpc: Add mpt2sas driver to pseries and ppc64 defconfig\n  powerpc: Disable IRQs off tracer in ppc64 defconfig\n  powerpc: Sync pseries and ppc64 defconfigs\n  powerpc/pseries/hvconsole: Fix dropped console output\n  hvc_console: Improve tty/console put_chars handling\n  powerpc/kdump: Fix timeout in crash_kexec_wait_realmode\n  powerpc/mm: Fix output of total_ram.\n  powerpc/cpufreq: Add cpufreq driver for Momentum Maple boards\n  powerpc: Correct annotations of pmu registration functions\n  ...\n\nFix up trivial Kconfig/Makefile conflicts in arch/powerpc, drivers, and\ndrivers/cpufreq\n"
    },
    {
      "commit": "0003230e8200699860f0b10af524dc47bf8aecad",
      "tree": "8addb0c889b32111d6973c46cd3d0a5b5c17606c",
      "parents": [
        "4b478cedcdc1b2d131170f22bd3f916e53472f52",
        "4e34e719e457f2e031297175410fc0bd4016a085"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 12:53:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 12:53:15 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  fs: take the ACL checks to common code\n  bury posix_acl_..._masq() variants\n  kill boilerplates around posix_acl_create_masq()\n  generic_acl: no need to clone acl just to push it to set_cached_acl()\n  kill boilerplate around posix_acl_chmod_masq()\n  reiserfs: cache negative ACLs for v1 stat format\n  xfs: cache negative ACLs if there is no attribute fork\n  9p: do no return 0 from -\u003echeck_acl without actually checking\n  vfs: move ACL cache lookup into generic code\n  CIFS: Fix oops while mounting with prefixpath\n  xfs: Fix wrong return value of xfs_file_aio_write\n  fix devtmpfs race\n  caam: don\u0027t pass bogus S_IFCHR to debugfs_create_...()\n  get rid of create_proc_entry() abuses - proc_mkdir() is there for purpose\n  asus-wmi: -\u003eis_visible() can\u0027t return negative\n  fix jffs2 ACLs on big-endian with 16bit mode_t\n  9p: close ACL leaks\n  ocfs2_init_acl(): fix a leak\n  VFS : mount lock scalability for internal mounts\n"
    },
    {
      "commit": "e13889bab3c6b5c839075086d28fe05f71984dda",
      "tree": "4b2931575f48186533848f36a7c80809ea929097",
      "parents": [
        "eda65cc6ce2a45dc01c233e301e59cd7a0f763ad"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:15:50 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:15:50 2011 -0400"
      },
      "message": "fix devtmpfs race\n\nAfter we\u0027s done complete(\u0026req-\u003edone), there\u0027s nothing to prevent the\nscope containing *req from being gone and *req overwritten by any\nkind of junk.  So we must read req-\u003enext before that...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f5fc87905ea075a0b14878086fd4fe38be128844",
      "tree": "09d7ad146b737caefb472534de95ef53f95d7e65",
      "parents": [
        "d4e06701b89286a306b31e20ec69a904fae374a1",
        "90923351d480fffd0d24646db83f6f8315eed0d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 23 11:14:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 23 11:14:47 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:\n  regulator: Convert tps65023 to use regmap API\n  regmap: Add SPI bus support\n  regmap: Add I2C bus support\n  regmap: Add generic non-memory mapped register access API\n"
    },
    {
      "commit": "a676f083068b08e676c557279effbd7f4d590812",
      "tree": "06161eab88e942cd6c4d672f51fbd9011018cb5d",
      "parents": [
        "9943fa300a5dcd4536e9a4aa5c09cf94e5e7b28c"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu May 12 11:42:10 2011 +0200"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Jul 23 07:56:59 2011 +0100"
      },
      "message": "regmap: Add SPI bus support\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "9943fa300a5dcd4536e9a4aa5c09cf94e5e7b28c",
      "tree": "d846756bbc3feb9ffd8d3d2b6aa7ff876c39d367",
      "parents": [
        "b83a313bf2520183641cf485d68cc273323597d2"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jun 20 19:02:29 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Jul 23 07:56:39 2011 +0100"
      },
      "message": "regmap: Add I2C bus support\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "b83a313bf2520183641cf485d68cc273323597d2",
      "tree": "e478834902bba3d4c774804d55a88c9b50bca2c0",
      "parents": [
        "620917de59eeb934b9f8cf35cc2d95c1ac8ed0fc"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed May 11 19:59:58 2011 +0200"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Jul 23 07:56:03 2011 +0100"
      },
      "message": "regmap: Add generic non-memory mapped register access API\n\nThere are many places in the tree where we implement register access for\ndevices on non-memory mapped buses, especially I2C and SPI. Since hardware\ndesigners seem to have settled on a relatively consistent set of register\ninterfaces this can be effectively factored out into shared code.  There\nare a standard set of formats for marshalling data for exchange with the\ndevice, with the actual I/O mechanisms generally being simple byte\nstreams.\n\nWe create an abstraction for marshaling data into formats which can be\nsent on the control interfaces, and create a standard method for\nplugging in actual transport underneath that.\n\nThis is mostly a refactoring and renaming of the bottom level of the\nexisting code for sharing register I/O which we have in ASoC. A\nsubsequent patch in this series converts ASoC to use this.  The main\ndifference in interface is that reads return values by writing to a\nlocation provided by a pointer rather than in the return value, ensuring\nwe can use the full range of the type for register data.  We also use\nunsigned types rather than ints for the same reason.\n\nAs some of the devices can have very large register maps the existing\nASoC code also contains infrastructure for managing register caches.\nThis cache work will be moved over in a future stage to allow for\nseparate review, the current patch only deals with the physical I/O.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "bbd9d6f7fbb0305c9a592bf05a32e87eb364a4ff",
      "tree": "12b2bb4202b05f6ae6a43c6ce830a0472043dbe5",
      "parents": [
        "8e204874db000928e37199c2db82b7eb8966cc3c",
        "5a9a43646cf709312d71eca71cef90ad802f28f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (107 commits)\n  vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp\n  isofs: Remove global fs lock\n  jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory\n  fix IN_DELETE_SELF on overwriting rename() on ramfs et.al.\n  mm/truncate.c: fix build for CONFIG_BLOCK not enabled\n  fs:update the NOTE of the file_operations structure\n  Remove dead code in dget_parent()\n  AFS: Fix silly characters in a comment\n  switch d_add_ci() to d_splice_alias() in \"found negative\" case as well\n  simplify gfs2_lookup()\n  jfs_lookup(): don\u0027t bother with . or ..\n  get rid of useless dget_parent() in btrfs rename() and link()\n  get rid of useless dget_parent() in fs/btrfs/ioctl.c\n  fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n  drivers: fix up various -\u003ellseek() implementations\n  fs: handle SEEK_HOLE/SEEK_DATA properly in all fs\u0027s that define their own llseek\n  Ext4: handle SEEK_HOLE/SEEK_DATA generically\n  Btrfs: implement our own -\u003ellseek\n  fs: add SEEK_HOLE and SEEK_DATA flags\n  reiserfs: make reiserfs default to barrier\u003dflush\n  ...\n\nFix up trivial conflicts in fs/xfs/linux-2.6/xfs_super.c due to the new\nshrinker callout for the inode cache, that clashed with the xfs code to\nstart the periodic workers later.\n"
    },
    {
      "commit": "6d16d6d9bb6f93e6f8506cfb3e91795d6443d54f",
      "tree": "92a1c9e4b645fa6d1fffedaeb56141b66f847320",
      "parents": [
        "431bf99d26157d56689e5de65bd27ce9f077fc3f",
        "b395fb36d59e17b9335805c10fa30fc51c8a94c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:39:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 16:39:42 2011 -0700"
      },
      "message": "Merge branch \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-iommu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  iommu/core: Fix build with INTR_REMAP\u003dy \u0026\u0026 CONFIG_DMAR\u003dn\n  iommu/amd: Don\u0027t use MSI address range for DMA addresses\n  iommu/amd: Move missing parts to drivers/iommu\n  iommu: Move iommu Kconfig entries to submenu\n  x86/ia64: intel-iommu: move to drivers/iommu/\n  x86: amd_iommu: move to drivers/iommu/\n  msm: iommu: move to drivers/iommu/\n  drivers: iommu: move to a dedicated folder\n  x86/amd-iommu: Store device alias as dev_data pointer\n  x86/amd-iommu: Search for existind dev_data before allocting a new one\n  x86/amd-iommu: Allow dev_data-\u003ealias to be NULL\n  x86/amd-iommu: Use only dev_data in low-level domain attach/detach functions\n  x86/amd-iommu: Use only dev_data for dte and iotlb flushing routines\n  x86/amd-iommu: Store ATS state in dev_data\n  x86/amd-iommu: Store devid in dev_data\n  x86/amd-iommu: Introduce global dev_data_list\n  x86/amd-iommu: Remove redundant device_flush_dte() calls\n  iommu-api: Add missing header file\n\nFix up trivial conflicts (independent additions close to each other) in\ndrivers/Makefile and include/linux/pci.h\n"
    },
    {
      "commit": "5da4e689449ad99ab31cf2208d99eddfce0498ba",
      "tree": "5cd8ccc145b8b29b3a63dd6252ee921d8e01379b",
      "parents": [
        "69753a0f14d3cb2e8a70e559ef8d409e4deeac8a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 27 16:37:12 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:44:11 2011 -0400"
      },
      "message": "devtmpfs: get rid of bogus mkdir in create_path()\n\nWe do _NOT_ want to mkdir the path itself - we are preparing to\nmknod it, after all.  Normally it\u0027ll fail with -ENOENT and\njust do nothing, but if somebody has created the parent in\nthe meanwhile, we\u0027ll get buggered...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "69753a0f14d3cb2e8a70e559ef8d409e4deeac8a",
      "tree": "e00ca40e65892ff9383bbf2d301d4269dd9327e9",
      "parents": [
        "2780f1ff6aec0cf708a61c022d475bfcaa648965"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 27 16:35:45 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:44:10 2011 -0400"
      },
      "message": "switch devtmpfs to kern_path_create()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2780f1ff6aec0cf708a61c022d475bfcaa648965",
      "tree": "c8c65497d2ab7c56bde6fc6166489d9caf9386e9",
      "parents": [
        "6657719390cd05be45f4e3b501d8bb46889c0a19"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 27 16:25:29 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:44:09 2011 -0400"
      },
      "message": "switch devtmpfs object creation/removal to separate kernel thread\n\n... and give it a namespace where devtmpfs would be mounted on root,\nthus avoiding abuses of vfs_path_lookup() (it was never intended to\nbe used with LOOKUP_PARENT).  Games with credentials are also gone.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7ae033cc0dfce68d8e0c83aca60837cf2bf0d2e6",
      "tree": "91bb3b8ae2790c7fef06b1832a7df61ae496a77a",
      "parents": [
        "ba1389d74f34c0c6e95cc135a332cd29c29d9c20",
        "c8c9fda5069456eb9e0e403c19764b2e257802e1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:59:25 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:59:25 2011 +0200"
      },
      "message": "Merge branch \u0027pm-runtime\u0027 into for-linus\n\n* pm-runtime:\n  OMAP: PM: disable idle on suspend for GPIO and UART\n  OMAP: PM: omap_device: add API to disable idle on suspend\n  OMAP: PM: omap_device: add system PM methods for PM domain handling\n  OMAP: PM: omap_device: conditionally use PM domain runtime helpers\n  PM / Runtime: Add new helper function: pm_runtime_status_suspended()\n  PM / Runtime: Consistent utilization of deferred_resume\n  PM / Runtime: Prevent runtime_resume from racing with probe\n  PM / Runtime: Replace \"run-time\" with \"runtime\" in documentation\n  PM / Runtime: Improve documentation of enable, disable and barrier\n  PM: Limit race conditions between runtime PM and system sleep (v2)\n  PCI / PM: Detect early wakeup in pci_pm_prepare()\n  PM / Runtime: Return special error code if runtime PM is disabled\n  PM / Runtime: Update documentation of interactions with system sleep\n"
    },
    {
      "commit": "ba1389d74f34c0c6e95cc135a332cd29c29d9c20",
      "tree": "53813843d22cfcfe6d466a5daa44c646f8157980",
      "parents": [
        "f0c077a8b7f9dce590c760a7b2f3c417dffa52d1",
        "5ca80817e231723f1399bff495854ba2171103ca"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:59:09 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:59:09 2011 +0200"
      },
      "message": "Merge branch \u0027pm-domains\u0027 into for-linus\n\n* pm-domains: (33 commits)\n  ARM / shmobile: Return -EBUSY from A4LC power off if A3RV is active\n  PM / Domains: Take .power_off() error code into account\n  ARM / shmobile: Use genpd_queue_power_off_work()\n  ARM / shmobile: Use pm_genpd_poweroff_unused()\n  PM / Domains: Introduce function to power off all unused PM domains\n  PM / Domains: Queue up power off work only if it is not pending\n  PM / Domains: Improve handling of wakeup devices during system suspend\n  PM / Domains: Do not restore all devices on power off error\n  PM / Domains: Allow callbacks to execute all runtime PM helpers\n  PM / Domains: Do not execute device callbacks under locks\n  PM / Domains: Make failing pm_genpd_prepare() clean up properly\n  PM / Domains: Set device state to \"active\" during system resume\n  ARM: mach-shmobile: sh7372 A3RV requires A4LC\n  PM / Domains: Export pm_genpd_poweron() in header\n  ARM: mach-shmobile: sh7372 late pm domain off\n  ARM: mach-shmobile: Runtime PM late init callback\n  ARM: mach-shmobile: sh7372 D4 support\n  ARM: mach-shmobile: sh7372 A4MP support\n  ARM: mach-shmobile: sh7372: make sure that fsi is peripheral of spu2\n  ARM: mach-shmobile: sh7372 A3SG support\n  ...\n"
    },
    {
      "commit": "1d8047a6f7973470bb1de4606a6e00c0bbee3cc6",
      "tree": "eeac09edbc2b43d912a7c100f9acd6882207788a",
      "parents": [
        "a5e4fd8783a2bec861ecf1138cdc042269ff59aa"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jun 27 01:01:16 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:58:19 2011 +0200"
      },
      "message": "PM: Add \"RTC\" to PM trace time stamps to avoid confusion\n\nSome users are apparently confused by dmesg output from\nread_magic_time(), which looks like \"real\" time and date.\nAdd the \"RTC\" string to time stamps printed by read_magic_time() to\navoid that confusion.\n\nReported-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "99f381d3549432a250fe846a2a82d61a032804b0",
      "tree": "c267e27c99d0609732e54fb7e7fda9fef2a7e8c0",
      "parents": [
        "3110df800c4de2724624d46e6bed27efc5e9a707"
      ],
      "author": {
        "name": "Nishanth Menon",
        "email": "nm@ti.com",
        "time": "Fri Jun 10 20:24:57 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 15 23:58:18 2011 +0200"
      },
      "message": "PM / OPP: Introduce function to free cpufreq table\n\ncpufreq table allocated by opp_init_cpufreq_table is better\nfreed by OPP layer itself. This allows future modifications to\nthe table handling to be transparent to the users.\n\nSigned-off-by: Nishanth Menon \u003cnm@ti.com\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "d28054020f97c7c9f15327a53945f0f40ffc5d7a",
      "tree": "0c1d4dcef6eca9c5fe6a435d8a86d51c373d90c8",
      "parents": [
        "0bc5b2debb832191a42baea7ff59d2ca6ce9f7d5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jul 14 20:59:20 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jul 14 20:59:20 2011 +0200"
      },
      "message": "PM / Domains: Take .power_off() error code into account\n\nCurrently pm_genpd_poweroff() discards error codes returned by\nthe PM domain\u0027s .power_off() callback, because it\u0027s safer to always\nregard the domain as inaccessible to drivers after a failing\n.power_off().  Still, there are situations in which the low-level\ncode may want to indicate that it doesn\u0027t want to power off the\ndomain, so allow it to do that by returning -EBUSY from .power_off().\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Magnus Damm \u003cdamm@opensource.se\u003e\n"
    },
    {
      "commit": "0bc5b2debb832191a42baea7ff59d2ca6ce9f7d5",
      "tree": "cb7f1f7a20fb9a9d2483714a8e9f0a3a84862245",
      "parents": [
        "796204142a98b6e0e71b494e808d1b6ee62cc75f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jul 14 20:59:07 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jul 14 20:59:07 2011 +0200"
      },
      "message": "ARM / shmobile: Use genpd_queue_power_off_work()\n\nMake pd_power_down_a3rv() use genpd_queue_power_off_work() to queue\nup the powering off of the A4LC domain to avoid queuing it up when\nit is pending.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Magnus Damm \u003cdamm@opensource.se\u003e\n"
    },
    {
      "commit": "5125bbf3880755419eff68672623cde49c4f31e8",
      "tree": "50c4bfa1745e6d30ca16652a4d2ea848c568eb31",
      "parents": [
        "56375fd420f851944960bd53dbb08d674f4d9406"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 13 12:31:52 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 13 12:31:52 2011 +0200"
      },
      "message": "PM / Domains: Introduce function to power off all unused PM domains\n\nAdd a new function pm_genpd_poweroff_unused() queuing up the\nexecution of pm_genpd_poweroff() for every initialized generic PM\ndomain.  Calling it will cause every generic PM domain without\ndevices in use to be powered off.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Magnus Damm \u003cdamm@opensource.se\u003e\n"
    },
    {
      "commit": "a63fdc5156f2ef5690b6cf03d72b0c4917efbba7",
      "tree": "03d9b67a5d07ab9d805ea39db2f331740eba1d4c",
      "parents": [
        "620917de59eeb934b9f8cf35cc2d95c1ac8ed0fc"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jun 14 10:57:50 2011 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Jul 12 11:08:01 2011 +1000"
      },
      "message": "mm: Move definition of MIN_MEMORY_BLOCK_SIZE to a header\n\nThe macro MIN_MEMORY_BLOCK_SIZE is currently defined twice in two .c\nfiles, and I need it in a third one to fix a powerpc bug, so let\u0027s\nfirst move it into a header\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "56375fd420f851944960bd53dbb08d674f4d9406",
      "tree": "634fc52ba88aad057cbd2175d9a2b91d5dee4f01",
      "parents": [
        "4ecd6e651dd25ebbf0cc53c68162c0ab08641725"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 12 00:40:03 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 12 00:40:03 2011 +0200"
      },
      "message": "PM / Domains: Queue up power off work only if it is not pending\n\nIn theory it is possible that pm_genpd_poweroff() for two different\nsubdomains of the same parent domain will attempt to queue up the\nexecution of pm_genpd_poweroff() for the parent twice in a row.  This\nwould lead to unpleasant consequences, so prevent it from happening\nby checking if genpd-\u003epower_off_work is pending before attempting to\nqueue it up.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4ecd6e651dd25ebbf0cc53c68162c0ab08641725",
      "tree": "6a9a77fde53b096432f28a691889d9f79112eec3",
      "parents": [
        "697a7f3727b53c7d4c927948bbe1f6afc4fabfde"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 12 00:39:57 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 12 00:39:57 2011 +0200"
      },
      "message": "PM / Domains: Improve handling of wakeup devices during system suspend\n\nKevin points out that if there\u0027s a device that can wake up the system\nfrom sleep states, but it doesn\u0027t generate wakeup signals by itself\n(they are generated on its behalf by other parts of the system) and\nit currently is not enabled to wake up the system (that is,\ndevice_may_wakeup() returns \"false\" for it), we may need to change\nits wakeup settings during system suspend (for example, the device\nmight have been configured to signal remote wakeup from the system\u0027s\nworking state, as needed by runtime PM).  Therefore the generic PM\ndomains code should invoke the system suspend callbacks provided by\nthe device\u0027s driver, which it doesn\u0027t do if the PM domain is powered\noff during the system suspend\u0027s \"prepare\" stage.  This is a valid\npoint.  Moreover, this code also should make sure that system wakeup\ndevices that are enabled to wake up the system from sleep states and\nhave to remain active for this purpose are not suspended while the\nsystem is in a sleep state.\n\nTo avoid the above issues, make the generic PM domains\u0027 .prepare()\nroutine, pm_genpd_prepare(), force runtime resume of devices whose\nsystem wakeup settings may need to be changed during system suspend\nor that should remain active while the system is in a sleep state to\nbe able to wake it up from that state.\n\nReported-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "697a7f3727b53c7d4c927948bbe1f6afc4fabfde",
      "tree": "d57da1cbcc7d0c72d1549aba1a19def94141773d",
      "parents": [
        "c6d22b37263607ba5aeeb2e11169fa65caa29bee"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 12 00:39:48 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 12 00:39:48 2011 +0200"
      },
      "message": "PM / Domains: Do not restore all devices on power off error\n\nSince every device in a PM domain has its own need_restore\nflag, which is set by __pm_genpd_save_device(), there\u0027s no need to\nwalk the domain\u0027s device list and restore all devices on an error\nfrom one of the drivers\u0027 .runtime_suspend() callbacks.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "c6d22b37263607ba5aeeb2e11169fa65caa29bee",
      "tree": "890d56f9559a93be0d09b77b54cf1b6a80fd34f4",
      "parents": [
        "17b75eca7683d4942f4d8d00563fd15f37c39589"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 12 00:39:36 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 12 00:39:36 2011 +0200"
      },
      "message": "PM / Domains: Allow callbacks to execute all runtime PM helpers\n\nA deadlock may occur if one of the PM domains\u0027 .start_device() or\n.stop_device() callbacks or a device driver\u0027s .runtime_suspend() or\n.runtime_resume() callback executed by the core generic PM domain\ncode uses a \"wrong\" runtime PM helper function.  This happens, for\nexample, if .runtime_resume() from one device\u0027s driver calls\npm_runtime_resume() for another device in the same PM domain.\nA similar situation may take place if a device\u0027s parent is in the\nsame PM domain, in which case the runtime PM framework may execute\npm_genpd_runtime_resume() automatically for the parent (if it is\nsuspended at the moment).  This, of course, is undesirable, so\nthe generic PM domains code should be modified to prevent it from\nhappening.\n\nThe runtime PM framework guarantees that pm_genpd_runtime_suspend()\nand pm_genpd_runtime_resume() won\u0027t be executed in parallel for\nthe same device, so the generic PM domains code need not worry\nabout those cases.  Still, it needs to prevent the other possible\nrace conditions between pm_genpd_runtime_suspend(),\npm_genpd_runtime_resume(), pm_genpd_poweron() and pm_genpd_poweroff()\nfrom happening and it needs to avoid deadlocks at the same time.\nTo this end, modify the generic PM domains code to relax\nsynchronization rules so that:\n\n* pm_genpd_poweron() doesn\u0027t wait for the PM domain status to\n  change from GPD_STATE_BUSY.  If it finds that the status is\n  not GPD_STATE_POWER_OFF, it returns without powering the domain on\n  (it may modify the status depending on the circumstances).\n\n* pm_genpd_poweroff() returns as soon as it finds that the PM\n  domain\u0027s status changed from GPD_STATE_BUSY after it\u0027s released\n  the PM domain\u0027s lock.\n\n* pm_genpd_runtime_suspend() doesn\u0027t wait for the PM domain status\n  to change from GPD_STATE_BUSY after executing the domain\u0027s\n  .stop_device() callback and executes pm_genpd_poweroff() only\n  if pm_genpd_runtime_resume() is not executed in parallel.\n\n* pm_genpd_runtime_resume() doesn\u0027t wait for the PM domain status\n  to change from GPD_STATE_BUSY after executing pm_genpd_poweron()\n  and sets the domain\u0027s status to GPD_STATE_BUSY and increments its\n  counter of resuming devices (introduced by this change) immediately\n  after acquiring the lock.  The counter of resuming devices is then\n  decremented after executing __pm_genpd_runtime_resume() for the\n  device and the domain\u0027s status is reset to GPD_STATE_ACTIVE (unless\n  there are more resuming devices in the domain, in which case the\n  status remains GPD_STATE_BUSY).\n\nThis way, for example, if a device driver\u0027s .runtime_resume()\ncallback executes pm_runtime_resume() for another device in the same\nPM domain, pm_genpd_poweron() called by pm_genpd_runtime_resume()\ninvoked by the runtime PM framework will not block and it will see\nthat there\u0027s nothing to do for it.  Next, the PM domain\u0027s lock will\nbe acquired without waiting for its status to change from\nGPD_STATE_BUSY and the device driver\u0027s .runtime_resume() callback\nwill be executed.  In turn, if pm_runtime_suspend() is executed by\none device driver\u0027s .runtime_resume() callback for another device in\nthe same PM domain, pm_genpd_poweroff() executed by\npm_genpd_runtime_suspend() invoked by the runtime PM framework as a\nresult will notice that one of the devices in the domain is being\nresumed, so it will return immediately.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "17b75eca7683d4942f4d8d00563fd15f37c39589",
      "tree": "539ee88f2c4008eec206ca98cec54263deeae708",
      "parents": [
        "b6c10c84665912985d0bf9b6ae8ce19fc4298d9f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 12 00:39:29 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 12 00:39:29 2011 +0200"
      },
      "message": "PM / Domains: Do not execute device callbacks under locks\n\nCurrently, the .start_device() and .stop_device() callbacks from\nstruct generic_pm_domain() as well as the device drivers\u0027 runtime PM\ncallbacks used by the generic PM domains code are executed under\nthe generic PM domain lock.  This, unfortunately, is prone to\ndeadlocks, for example if a device and its parent are boths members\nof the same PM domain.  For this reason, it would be better if the\nPM domains code didn\u0027t execute device callbacks under the lock.\n\nRework the locking in the generic PM domains code so that the lock\nis dropped for the execution of device callbacks.  To this end,\nintroduce PM domains states reflecting the current status of a PM\ndomain and such that the PM domain lock cannot be acquired if the\nstatus is GPD_STATE_BUSY.  Make threads attempting to acquire a PM\ndomain\u0027s lock wait until the status changes to either\nGPD_STATE_ACTIVE or GPD_STATE_POWER_OFF.\n\nThis change by itself doesn\u0027t fix the deadlock problem mentioned\nabove, but the mechanism introduced by it will be used for for this\npurpose by a subsequent patch.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "b6c10c84665912985d0bf9b6ae8ce19fc4298d9f",
      "tree": "6dd76693427b432646c05633090f390dcc74e2c3",
      "parents": [
        "6f00ff78278fd5d6ac110b6903ee042af2d6af91"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 12 00:39:21 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 12 00:39:21 2011 +0200"
      },
      "message": "PM / Domains: Make failing pm_genpd_prepare() clean up properly\n\nIf pm_generic_prepare() in pm_genpd_prepare() returns error code,\nthe PM domains counter of \"prepared\" devices should be decremented\nand its suspend_power_off flag should be reset if this counter drops\ndown to zero.  Otherwise, the PM domain runtime PM code will not\nhandle the domain correctly (it will permanently think that system\nsuspend is in progress).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "6f00ff78278fd5d6ac110b6903ee042af2d6af91",
      "tree": "e466b608591a916ed3a6faace59a47065a2a6f4f",
      "parents": [
        "775b8ae8707592af9275b8b216c2bf056b3f5d82"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 12 00:39:10 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jul 12 00:39:10 2011 +0200"
      },
      "message": "PM / Domains: Set device state to \"active\" during system resume\n\nThe runtime PM status of devices in a power domain that is not\npowered off in pm_genpd_complete() should be set to \"active\", because\nthose devices are operational at this point.  Some of them may not be\nin use, though, so make pm_genpd_complete() call pm_runtime_idle()\nin addition to pm_runtime_set_active() for each of them.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "887596224cca4dc4669c53e4d7a33fcfc9d9e823",
      "tree": "51cf1ce6f98ddf3e304c06b45c28265dfc9e4503",
      "parents": [
        "e3bbfa78bab125f58b831b5f7f45b5a305091d72"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Jul 11 10:51:49 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jul 11 10:51:49 2011 +0200"
      },
      "message": "PM: Reintroduce dropped call to check_wakeup_irqs\n\nPatch 2e711c04dbbf7a7732a3f7073b1fc285d12b369d\n(PM: Remove sysdev suspend, resume and shutdown operations)\ndeleted sysdev_suspend(), which was being relied on to call\ncheck_wakeup_irqs() in suspend.  If check_wakeup_irqs() is not\ncalled, wake interrupts that are pending when suspend is\nentered may be lost.  It also breaks IRQCHIP_MASK_ON_SUSPEND,\nwhich is handled in check_wakeup_irqs().\n\nThis patch adds a call to check_wakeup_irqs() in syscore_suspend(),\nsimilar to what was deleted in sysdev_suspend().\n\nSigned-off-by: Colin Cross \u003cccross@android.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "18b4f3f5d058b590e7189027eeb5d897742ade0a",
      "tree": "8cc1c52f77e218593fc8cea275f57b6ba5e4076b",
      "parents": [
        "b9416f03fd9f809225a90f63b2fbc86f90010eab"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@opensource.se",
        "time": "Sun Jul 10 10:39:14 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jul 10 10:39:14 2011 +0200"
      },
      "message": "PM / Domains: Export pm_genpd_poweron() in header\n\nAllow SoC-specific code to call pm_genpd_poweron().\n\nSigned-off-by: Magnus Damm \u003cdamm@opensource.se\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2cffff1281a74714c9e035322077ec52ffb1f838",
      "tree": "a0321ea7466987e6e860fc4e05633ac64b8120c9",
      "parents": [
        "69c843b45eb3b8f267019e6a05860c9c48337419"
      ],
      "author": {
        "name": "ShuoX Liu",
        "email": "shuox.liu@intel.com",
        "time": "Fri Jul 08 20:53:55 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 08 20:53:55 2011 +0200"
      },
      "message": "PM / Runtime: Consistent utilization of deferred_resume\n\ndev-\u003epower.deferred_resume is used as a bool typically, so change\none assignment to false from 0, like other places.\n\nSigned-off-by: ShuoX Liu \u003cshuox.liu@intel.com\u003e\n"
    },
    {
      "commit": "a77ce8167cc1d0370fcb1d79b367d62e050cb2b0",
      "tree": "dcc1ad81d57546e066edbaddb9f6ebbd70e1c6a5",
      "parents": [
        "3160b09796129abc9523ea3cd1633b0faba64a02"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Fri Jun 10 01:52:57 2011 -0500"
      },
      "committer": {
        "name": "Kumar Gala",
        "email": "galak@kernel.crashing.org",
        "time": "Fri Jul 08 00:21:35 2011 -0500"
      },
      "message": "driver core: Add ability for arch code to setup pdev_archdata\n\nOn some architectures we need to setup pdev_archdata before we add the\ndevice.  Waiting til a bus_notifier is too late since we might need the\npdev_archdata in the bus notifier.  One example is setting up of dma_mask\npointers such that it can be used in a bus_notifier.\n\nWe add weak noop version of arch_setup_pdev_archdata() and allow the arch\ncode to override with access the full definitions of struct device,\nstruct platform_device, and struct pdev_archdata.\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "b395fb36d59e17b9335805c10fa30fc51c8a94c6",
      "tree": "b96bc8eee33753e2a1b1181c62a028d7f89643d7",
      "parents": [
        "fe0d42203cb5616eeff68b14576a0f7e2dd56625",
        "6b385b46ee17d7e1a68d3411b8cdb2342e0f0445"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 07 12:56:44 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 07 12:58:28 2011 +0200"
      },
      "message": "Merge branch \u0027iommu-3.1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu into core/iommu\n"
    },
    {
      "commit": "69c843b45eb3b8f267019e6a05860c9c48337419",
      "tree": "11a797e0cfa0dee3e0f790123a687f9daa2789bb",
      "parents": [
        "62052ab1d1a456f5f62f8b753e12d10ca1a83604"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Jul 06 10:52:23 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 06 10:52:23 2011 +0200"
      },
      "message": "PM / Runtime: Prevent runtime_resume from racing with probe\n\nThis patch (as1475) adds device_lock() and device_unlock() calls to\nthe store methods for the power/control and power/autosuspend_delay_ms\nsysfs attribute files.  We don\u0027t want badly timed writes to these\nfiles to cause runtime_resume callbacks to occur while a driver is\nbeing probed for a device.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "62052ab1d1a456f5f62f8b753e12d10ca1a83604",
      "tree": "0a4bca617dbec22b82f9261c0b99ff40ef7fc5b9",
      "parents": [
        "e358bad75ff13210f5211cac9f93d76170d43f89"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 06 10:52:13 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 06 10:52:13 2011 +0200"
      },
      "message": "PM / Runtime: Replace \"run-time\" with \"runtime\" in documentation\n\nThe runtime PM documentation and kerneldoc comments sometimes spell\n\"runtime\" with a dash (i.e. \"run-time\").  Replace all of those\ninstances with \"runtime\" to make the naming consistent.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "1e2ef05bb8cf851a694d38e9170c89e7ff052741",
      "tree": "ff1dfccc622374f9039d342cc48d16d6636740ae",
      "parents": [
        "eea3fc0357eb89d0b2d1af37bdfb83eb4076a542"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 06 10:51:58 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jul 06 10:51:58 2011 +0200"
      },
      "message": "PM: Limit race conditions between runtime PM and system sleep (v2)\n\nOne of the roles of the PM core is to prevent different PM callbacks\nexecuted for the same device object from racing with each other.\nUnfortunately, after commit e8665002477f0278f84f898145b1f141ba26ee26\n(PM: Allow pm_runtime_suspend() to succeed during system suspend)\nruntime PM callbacks may be executed concurrently with system\nsuspend/resume callbacks for the same device.\n\nThe main reason for commit e8665002477f0278f84f898145b1f141ba26ee26\nwas that some subsystems and device drivers wanted to use runtime PM\nhelpers, pm_runtime_suspend() and pm_runtime_put_sync() in\nparticular, for carrying out the suspend of devices in their\n.suspend() callbacks.  However, as it\u0027s been determined recently,\nthere are multiple reasons not to do so, inlcuding:\n\n * The caller really doesn\u0027t control the runtime PM usage counters,\n   because user space can access them through sysfs and effectively\n   block runtime PM.  That means using pm_runtime_suspend() or\n   pm_runtime_get_sync() to suspend devices during system suspend\n   may or may not work.\n\n * If a driver calls pm_runtime_suspend() from its .suspend()\n   callback, it causes the subsystem\u0027s .runtime_suspend() callback to\n   be executed, which leads to the call sequence:\n\n   subsys-\u003esuspend(dev)\n      driver-\u003esuspend(dev)\n         pm_runtime_suspend(dev)\n            subsys-\u003eruntime_suspend(dev)\n\n   recursive from the subsystem\u0027s point of view.  For some subsystems\n   that may actually work (e.g. the platform bus type), but for some\n   it will fail in a rather spectacular fashion (e.g. PCI).  In each\n   case it means a layering violation.\n\n * Both the subsystem and the driver can provide .suspend_noirq()\n   callbacks for system suspend that can do whatever the\n   .runtime_suspend() callbacks do just fine, so it really isn\u0027t\n   necessary to call pm_runtime_suspend() during system suspend.\n\n * The runtime PM\u0027s handling of wakeup devices is usually different\n   from the system suspend\u0027s one, so .runtime_suspend() may simply be\n   inappropriate for system suspend.\n\n * System suspend is supposed to work even if CONFIG_PM_RUNTIME is\n   unset.\n\n * The runtime PM workqueue is frozen before system suspend, so if\n   whatever the driver is going to do during system suspend depends\n   on it, that simply won\u0027t work.\n\nStill, there is a good reason to allow pm_runtime_resume() to\nsucceed during system suspend and resume (for instance, some\nsubsystems and device drivers may legitimately use it to ensure that\ntheir devices are in full-power states before suspending them).\nMoreover, there is no reason to prevent runtime PM callbacks from\nbeing executed in parallel with the system suspend/resume .prepare()\nand .complete() callbacks and the code removed by commit\ne8665002477f0278f84f898145b1f141ba26ee26 went too far in this\nrespect.  On the other hand, runtime PM callbacks, including\n.runtime_resume(), must not be executed during system suspend\u0027s\n\"late\" stage of suspending devices and during system resume\u0027s \"early\"\ndevice resume stage.\n\nTaking all of the above into consideration, make the PM core\nacquire a runtime PM reference to every device and resume it if\nthere\u0027s a runtime PM resume request pending right before executing\nthe subsystem-level .suspend() callback for it.  Make the PM core\ndrop references to all devices right after executing the\nsubsystem-level .resume() callbacks for them.  Additionally,\nmake the PM core disable the runtime PM framework for all devices\nduring system suspend, after executing the subsystem-level .suspend()\ncallbacks for them, and enable the runtime PM framework for all\ndevices during system resume, right before executing the\nsubsystem-level .resume() callbacks for them.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "632e270e01d8a1ee9e8ea56c83028727f17b1d17",
      "tree": "58cbc127f9f173409f40bbaf27f8ea85c185c52d",
      "parents": [
        "455716e9b12ba93e93181ac88bef62e4eb5ac66c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 01 22:29:15 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 02 14:30:10 2011 +0200"
      },
      "message": "PM / Runtime: Return special error code if runtime PM is disabled\n\nSome callers of pm_runtime_get_sync() and other runtime PM helper\nfunctions, scsi_autopm_get_host() and scsi_autopm_get_device() in\nparticular, need to distinguish error codes returned when runtime PM\nis disabled (i.e. power.disable_depth is nonzero for the given\ndevice) from error codes returned in other situations.  For this\nreason, make the runtime PM helper functions return -EACCES when\npower.disable_depth is nonzero and ensure that this error code\nwon\u0027t be returned by them in any other circumstances.  Modify\nscsi_autopm_get_host() and scsi_autopm_get_device() to check the\nerror code returned by pm_runtime_get_sync() and ignore -EACCES.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "3d5c30367cbc0c55c93bb158e824e00badc7ddc4",
      "tree": "073ab59dfbf0514e9ba5eb37431a337c5511af33",
      "parents": [
        "b7b95920aa2e89e655afe9913ee0e55855ceda90"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 01 22:13:44 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 02 14:29:57 2011 +0200"
      },
      "message": "PM: Rename clock management functions\n\nThe common PM clock management functions may be used for system\nsuspend/resume as well as for runtime PM, so rename them\naccordingly.  Modify kerneldoc comments describing these functions\nand kernel messages printed by them, so that they refer to power\nmanagement in general rather that to runtime PM.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "b7b95920aa2e89e655afe9913ee0e55855ceda90",
      "tree": "6f7f30252e2b4b518d76906706a745107288a701",
      "parents": [
        "d4f2d87a8b46c14c4307c690c92bd08229f66ecf"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 01 22:13:37 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 02 14:29:56 2011 +0200"
      },
      "message": "PM: Allow the clocks management code to be used during system suspend\n\nThe common clocks management code in drivers/base/power/clock_ops.c\nis going to be used during system-wide power transitions as well as\nfor runtime PM, so it shouldn\u0027t depend on CONFIG_PM_RUNTIME.\nHowever, the suspend/resume functions provided by it for\nCONFIG_PM_RUNTIME unset, to be used during system-wide power\ntransitions, should not behave in the same way as their counterparts\ndefined for CONFIG_PM_RUNTIME set, because in that case the clocks\nare managed differently at run time.\n\nThe names of the functions still contain the word \"runtime\" after\nthis change, but that is going to be modified by a separate patch\nlater.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "d4f2d87a8b46c14c4307c690c92bd08229f66ecf",
      "tree": "6560c88f024f9972936cfd4dabc1685e00baee8b",
      "parents": [
        "596ba34bcd2978ee9823cc1d84df230576f8ffb9"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 01 22:13:29 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 02 14:29:56 2011 +0200"
      },
      "message": "PM / Domains: Wakeup devices support for system sleep transitions\n\nThere is the problem how to handle devices set up to wake up the\nsystem from sleep states during system-wide power transitions.\nIn some cases, those devices can be turned off entirely, because the\nwakeup signals will be generated on their behalf anyway.  In some\nother cases, they will generate wakeup signals if their clocks are\nstopped, but only if power is not removed from them.  Finally, in\nsome cases, they can only generate wakeup signals if power is not\nremoved from them and their clocks are enabled.\n\nTo allow platform-specific code to decide whether or not to put\nwakeup devices (and their PM domains) into low-power state during\nsystem-wide transitions, such as system suspend, introduce a new\ngeneric PM domain callback, .active_wakeup(), that will be used\nduring the \"noirq\" phase of system suspend and hibernation (after\nimage creation) to decide what to do with wakeup devices.\nSpecifically, if this callback is present and returns \"true\", the\ngeneric PM domain code will not execute .stop_device() for the\ngiven wakeup device and its PM domain won\u0027t be powered off.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "596ba34bcd2978ee9823cc1d84df230576f8ffb9",
      "tree": "ef118fc94c08730c7e82a58c2e7f70cb781d17c2",
      "parents": [
        "5248051b9afb6684cd817b2fbdaefa5063761dab"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 01 22:13:19 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 02 14:29:56 2011 +0200"
      },
      "message": "PM / Domains: System-wide transitions support for generic domains (v5)\n\nMake generic PM domains support system-wide power transitions\n(system suspend and hibernation).  Add suspend, resume, freeze, thaw,\npoweroff and restore callbacks to be associated with struct\ngeneric_pm_domain objects and make pm_genpd_init() use them as\nappropriate.\n\nThe new callbacks do nothing for devices belonging to power domains\nthat were powered down at run time (before the transition).  For the\nother devices the action carried out depends on the type of the\ntransition.  During system suspend the power domain .suspend()\ncallback executes pm_generic_suspend() for the device, while the\nPM domain .suspend_noirq() callback runs pm_generic_suspend_noirq()\nfor it, stops it and eventually removes power from the PM domain it\nbelongs to (after all devices in the domain have been stopped and its\nsubdomains have been powered off).\n\nDuring system resume the PM domain .resume_noirq() callback\nrestores power to the PM domain (when executed for it first time),\nstarts the device and executes pm_generic_resume_noirq() for it,\nwhile the .resume() callback executes pm_generic_resume() for the\ndevice.  Finally, the .complete() callback executes pm_runtime_idle()\nfor the device which should put it back into the suspended state if\nits runtime PM usage count is equal to zero at that time.\n\nThe actions carried out during hibernation and resume from it are\nanalogous to the ones described above.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "5248051b9afb6684cd817b2fbdaefa5063761dab",
      "tree": "44782bb3ae2330f676e053d1b3a8aad4d2abb6e7",
      "parents": [
        "e5291928839877f8e73c2643ee1d3fe0bcdcaf5c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 01 22:13:10 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 02 14:29:55 2011 +0200"
      },
      "message": "PM / Domains: Move code from under #ifdef CONFIG_PM_RUNTIME (v2)\n\nThere is some code in drivers/base/power/domain.c that will be useful\nfor both runtime PM and system-wide power transitions, so make it\ndepend on CONFIG_PM instead of CONFIG_PM_RUNTIME.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "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": "f721889ff65afa6243c463832c74dee3bed418d5",
      "tree": "350bcb4fd7964167189fce93d0a9352f2958b1a4",
      "parents": [
        "dc6e4e56e6ef473a696a1ab24f80b79b9aceb92d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 01 22:12:45 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 02 14:29:55 2011 +0200"
      },
      "message": "PM / Domains: Support for generic I/O PM domains (v8)\n\nIntroduce common headers, helper functions and callbacks allowing\nplatforms to use simple generic power domains for runtime power\nmanagement.\n\nIntroduce struct generic_pm_domain to be used for representing\npower domains that each contain a number of devices and may be\nparent domains or subdomains with respect to other power domains.\nAmong other things, this structure includes callbacks to be\nprovided by platforms for performing specific tasks related to\npower management (i.e. -\u003estop_device() may disable a device\u0027s\nclocks, while -\u003estart_device() may enable them, -\u003epower_off() is\nsupposed to remove power from the entire power domain\nand -\u003epower_on() is supposed to restore it).\n\nIntroduce functions that can be used as power domain runtime PM\ncallbacks, pm_genpd_runtime_suspend() and pm_genpd_runtime_resume(),\nas well as helper functions for the initialization of a power\ndomain represented by a struct generic_power_domain object,\nadding a device to or removing a device from it and adding or\nremoving subdomains.\n\nIntroduce configuration option CONFIG_PM_GENERIC_DOMAINS to be\nselected by the platforms that want to use the new code.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nReviewed-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "564b905ab10d17fb42f86aa8b7b9b796276d1336",
      "tree": "b191c000e55ae1a354bd67876ca6945d2ad87c93",
      "parents": [
        "f5da24dbed213d103f00aa9ef26e010b50d2db24"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jun 23 01:52:55 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Jul 02 14:29:54 2011 +0200"
      },
      "message": "PM / Domains: Rename struct dev_power_domain to struct dev_pm_domain\n\nThe naming convention used by commit 7538e3db6e015e890825fbd9f86599b\n(PM: Add support for device power domains), which introduced the\nstruct dev_power_domain type for representing device power domains,\nevidently confuses some developers who tend to think that objects\nof this type must correspond to \"power domains\" as defined by\nhardware, which is not the case.  Namely, at the kernel level, a\nstruct dev_power_domain object can represent arbitrary set of devices\nthat are mutually dependent power management-wise and need not belong\nto one hardware power domain.  To avoid that confusion, rename struct\ndev_power_domain to struct dev_pm_domain and rename the related\npointers in struct device and struct pm_clk_notifier_block from\npwr_domain to pm_domain.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "573c9774396091dc9d55e7de91026608fa2db3ee",
      "tree": "0c533e28036c57c7f148f093fbf02a3688725133",
      "parents": [
        "156faf9080e0acf2b301c982e7a77cd6fbb2d0ad"
      ],
      "author": {
        "name": "Márton Németh",
        "email": "nm127@freemail.hu",
        "time": "Sun Jun 19 22:30:16 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jul 01 15:12:15 2011 -0700"
      },
      "message": "driver core: add more help description for \"path to uevent helper\"\n\nThe kernel configuration UEVENT_HELPER_PATH is a string to\nthe uevent helper program. Add more description about how\nto disable this feature and how to enable it again during\nruntime.\n\nSigned-off-by: Márton Németh \u003cnm127@freemail.hu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "156faf9080e0acf2b301c982e7a77cd6fbb2d0ad",
      "tree": "730a11ec8256c03f80f5e5d5020494ab5f63031f",
      "parents": [
        "113647a281037d8b6f32e07f42a1328c7cd3da3b"
      ],
      "author": {
        "name": "matt mooney",
        "email": "mfm@muteddisk.com",
        "time": "Sun Jun 12 11:17:31 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jul 01 15:12:03 2011 -0700"
      },
      "message": "driver-core: modify FIRMWARE_IN_KERNEL help message\n\nThe help message for the configuration variable was inconsistent\nwith the way \"make firmware_install\" really works.\n\nSigned-off-by: matt mooney \u003cmfm@muteddisk.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "113647a281037d8b6f32e07f42a1328c7cd3da3b",
      "tree": "c7805d252f304d5334d232754432de779530cf3d",
      "parents": [
        "b6badddcccf9d48a01e9a9b33c47922976291ab6"
      ],
      "author": {
        "name": "matt mooney",
        "email": "mfm@muteddisk.com",
        "time": "Sun Jun 12 11:17:30 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jul 01 15:12:02 2011 -0700"
      },
      "message": "driver-core: Kconfig grammar corrections in firmware configuration\n\nFix some grammatical errors and reword a few sentences.\n\nSigned-off-by: matt mooney \u003cmfm@muteddisk.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c89b857ce6d803905b2c9d71bc9effdd286c45ed",
      "tree": "6cf4a6e23f68f3b65906210dccb272ab2f9c5c74",
      "parents": [
        "2e34b429a404675dc4fc4ad2ee339eea028da3ca",
        "663dd6dcaf7e95526e469e91f41972a9c0cca30c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 28 11:15:36 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 28 11:15:36 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:\n  Connector: Correctly set the error code in case of success when dispatching receive callbacks\n  Connector: Set the CN_NETLINK_USERS correctly\n  pti: PTI semantics fix in pti_tty_cleanup.\n  pti: ENXIO error case memory leak PTI fix.\n  pti: double-free security PTI fix\n  drivers:misc: ti-st: fix skipping of change remote baud\n  drivers/base/platform.c: don\u0027t mark platform_device_register_resndata() as __init_or_module\n  st_kim: Handle case of no device found for ID 0\n  firmware: fix GOOGLE_SMI kconfig dependency warning\n"
    },
    {
      "commit": "4d1518f5668ef1b3dff6c3b30fa761fe5573cdaa",
      "tree": "9e9c6d6b4c8d241ce392d31c2fb8ca07f9c9b753",
      "parents": [
        "6d0e0e84f66d32c33511984dd3badd32364b863c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:24:33 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 21 23:24:33 2011 +0200"
      },
      "message": "PM / Runtime: Handle clocks correctly if CONFIG_PM_RUNTIME is unset\n\nCommit 85eb8c8d0b0900c073b0e6f89979ac9c439ade1a (PM / Runtime:\nGeneric clock manipulation rountines for runtime PM (v6)) converted\nthe shmobile platform to using generic code for runtime PM clock\nmanagement, but it changed the behavior for CONFIG_PM_RUNTIME unset\nincorrectly.\n\nSpecifically, for CONFIG_PM_RUNTIME unset pm_runtime_clk_notify()\nshould enable clocks for action equal to BUS_NOTIFY_BIND_DRIVER and\nit should disable them for action equal to BUS_NOTIFY_UNBOUND_DRIVER\n(instead of BUS_NOTIFY_ADD_DEVICE and BUS_NOTIFY_DEL_DEVICE,\nrespectively).  Make this function behave as appropriate.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Magnus Damm \u003cdamm@opensource.se\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": "ab493a0f0f55d28636ac860ea682d57b84257f10",
      "tree": "41c1801407e25060ae415a7c2bb1cb6a8df45884",
      "parents": [
        "74315cccd2104a953f493acca2c6b0519d6f5c6f"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Thu Jun 02 02:48:05 2011 +0300"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Jun 14 14:47:41 2011 +0200"
      },
      "message": "drivers: iommu: move to a dedicated folder\n\nCreate a dedicated folder for iommu drivers, and move the base\niommu implementation over there.\n\nGrouping the various iommu drivers in a single location will help\nfinding similar problems shared by different platforms, so they\ncould be solved once, in the iommu framework, instead of solved\ndifferently (or duplicated) in each driver.\n\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "3b3eca3116861113ccc0e1ca3b98cb43598f46a7",
      "tree": "958427e5260ec95b04faaef18b5c08249ce8dfda",
      "parents": [
        "99592ba4a80edb84938e7e0cf71fdecff1ce67fd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 07 23:34:58 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Jun 07 23:34:58 2011 +0200"
      },
      "message": "PM / Runtime: Fix loops in pm_runtime_clk_notify()\n\nThe loops over connection ID strings in pm_runtime_clk_notify()\nshould actually iterate over the strings and not over the elements\nof the first of them, so make them behave as appropriate.\n\nThis fixes a regression introduced by commit 600b776eb39a13a28b090\n(OMAP1 / PM: Use generic clock manipulation routines for runtime PM).\n\nReported-and-tested-by: Janusz Krzysztofik \u003cjkrzyszt@tis.icnet.pl\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "bb2b43fefab723f4a0760146e7bed59d41a50e53",
      "tree": "6b10e25669c7edc00280b5ace564be29347d767c",
      "parents": [
        "7316a9f2a94c14e66e9421a777dffc509a2fe0e3"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon May 23 14:44:19 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 07 10:01:17 2011 -0700"
      },
      "message": "drivers/base/platform.c: don\u0027t mark platform_device_register_resndata() as __init_or_module\n\nThis reverts 737a3bb9416ce2a7c7a4 (\"Driver core: move platform device\ncreation helpers to .init.text (if MODULE\u003dn)\").  That patch assumed that\nplatform_device_register_resndata() is only ever called from __init code\nbut that isn\u0027t true in the case ioctl-\u003edrm_ioctl-\u003eradeon_cp_init().\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d35192\n\nCc: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nReported-by: Anthony Basile \u003cblueness@gentoo.org\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fa25c503dfa203b921199ea42c0046c89f2ed49f",
      "tree": "9a56c17ffda1183c66dc112ceba76ece65f0a4e6",
      "parents": [
        "bb005a59e08733bb416126dc184f73120fc6366b"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue May 24 17:11:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:07 2011 -0700"
      },
      "message": "mm: per-node vmstat: show proper vmstats\n\ncommit 2ac390370a (\"writeback: add\n/sys/devices/system/node/\u003cnode\u003e/vmstat\") added vmstat entry.  But\nstrangely it only show nr_written and nr_dirtied.\n\n        # cat /sys/devices/system/node/node20/vmstat\n        nr_written 0\n        nr_dirtied 0\n\nOf course, It\u0027s not adequate.  With this patch, the vmstat show all vm\nstastics as /proc/vmstat.\n\n        # cat /sys/devices/system/node/node0/vmstat\n\tnr_free_pages 899224\n\tnr_inactive_anon 201\n\tnr_active_anon 17380\n\tnr_inactive_file 31572\n\tnr_active_file 28277\n\tnr_unevictable 0\n\tnr_mlock 0\n\tnr_anon_pages 17321\n\tnr_mapped 8640\n\tnr_file_pages 60107\n\tnr_dirty 33\n\tnr_writeback 0\n\tnr_slab_reclaimable 6850\n\tnr_slab_unreclaimable 7604\n\tnr_page_table_pages 3105\n\tnr_kernel_stack 175\n\tnr_unstable 0\n\tnr_bounce 0\n\tnr_vmscan_write 0\n\tnr_writeback_temp 0\n\tnr_isolated_anon 0\n\tnr_isolated_file 0\n\tnr_shmem 260\n\tnr_dirtied 1050\n\tnr_written 938\n\tnuma_hit 962872\n\tnuma_miss 0\n\tnuma_foreign 0\n\tnuma_interleave 8617\n\tnuma_local 962872\n\tnuma_other 0\n\tnr_anon_transparent_hugepages 0\n\n[akpm@linux-foundation.org: no externs in .c files]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nAcked-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": "57d19e80f459dd845fb3cfeba8e6df8471bac142",
      "tree": "8254766715720228db3d50f1ef3c7fe003c06d65",
      "parents": [
        "ee9ec4f82049c678373a611ce20ac67fe9ad836e",
        "e64851f5a0ad6ec991f74ebb3108c35aa0323d5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 23 09:12:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  b43: fix comment typo reqest -\u003e request\n  Haavard Skinnemoen has left Atmel\n  cris: typo in mach-fs Makefile\n  Kconfig: fix copy/paste-ism for dell-wmi-aio driver\n  doc: timers-howto: fix a typo (\"unsgined\")\n  perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c\n  md, raid5: Fix spelling error in comment (\u0027Ofcourse\u0027 --\u003e \u0027Of course\u0027).\n  treewide: fix a few typos in comments\n  regulator: change debug statement be consistent with the style of the rest\n  Revert \"arm: mach-u300/gpio: Fix mem_region resource size miscalculations\"\n  audit: acquire creds selectively to reduce atomic op overhead\n  rtlwifi: don\u0027t touch with treewide double semicolon removal\n  treewide: cleanup continuations and remove logging message whitespace\n  ath9k_hw: don\u0027t touch with treewide double semicolon removal\n  include/linux/leds-regulator.h: fix syntax in example code\n  tty: fix typo in descripton of tty_termios_encode_baud_rate\n  xtensa: remove obsolete BKL kernel option from defconfig\n  m68k: fix comment typo \u0027occcured\u0027\n  arch:Kconfig.locks Remove unused config option.\n  treewide: remove extra semicolons\n  ...\n"
    },
    {
      "commit": "39ab05c8e0b519ff0a04a869f065746e6e8c3d95",
      "tree": "e73f0ba74c4ea7a80dff9b2dd9445a3a74190e28",
      "parents": [
        "1477fcc290b3d5c2614bde98bf3b1154c538860d",
        "c42d2237143fcf35cff642cefe2bcf7786aae312"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:24:11 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 19 18:24:11 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (44 commits)\n  debugfs: Silence DEBUG_STRICT_USER_COPY_CHECKS\u003dy warning\n  sysfs: remove \"last sysfs file:\" line from the oops messages\n  drivers/base/memory.c: fix warning due to \"memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION\"\n  memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION\n  SYSFS: Fix erroneous comments for sysfs_update_group().\n  driver core: remove the driver-model structures from the documentation\n  driver core: Add the device driver-model structures to kerneldoc\n  Translated Documentation/email-clients.txt\n  RAW driver: Remove call to kobject_put().\n  reboot: disable usermodehelper to prevent fs access\n  efivars: prevent oops on unload when efi is not enabled\n  Allow setting of number of raw devices as a module parameter\n  Introduce CONFIG_GOOGLE_FIRMWARE\n  driver: Google Memory Console\n  driver: Google EFI SMI\n  x86: Better comments for get_bios_ebda()\n  x86: get_bios_ebda_length()\n  misc: fix ti-st build issues\n  params.c: Use new strtobool function to process boolean inputs\n  debugfs: move to new strtobool\n  ...\n\nFix up trivial conflicts in fs/debugfs/file.c due to the same patch\nbeing applied twice, and an unrelated cleanup nearby.\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": "c650da23d59d2c82307380414606774c6d49b8bd",
      "tree": "b511dc2cda05ff910c745d49a309dc33445dc592",
      "parents": [
        "290c748725c170ed9a02522959ae67f528eefe98"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:25:10 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:25:10 2011 +0200"
      },
      "message": "PM: Remove CONFIG_PM_VERBOSE\n\nNow that we have CONFIG_DYNAMIC_DEBUG there is no need for yet\nanother flag causing dev_dbg() and pr_debug() statements in the\ncore PM code to produce output.  Moreover, CONFIG_PM_VERBOSE\ncauses so much output to be generated that it\u0027s not really useful\nand almost no one sets it.\n\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d23182\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": "2d2a9163bd4f3ba301f8138c32e4790edc30156c",
      "tree": "ac7d43e6c4f6a2f357454c42d762595cc358104d",
      "parents": [
        "1c1be3a949a61427a962771c85a347c822aeb991",
        "2e711c04dbbf7a7732a3f7073b1fc285d12b369d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:23:40 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:23:40 2011 +0200"
      },
      "message": "Merge branch \u0027syscore\u0027 into for-linus\n\n* syscore:\n  PM: Remove sysdev suspend, resume and shutdown operations\n  PM / PowerPC: Use struct syscore_ops instead of sysdevs for PM\n  PM / UNICORE32: Use struct syscore_ops instead of sysdevs for PM\n  PM / AVR32: Use struct syscore_ops instead of sysdevs for PM\n  PM / Blackfin: Use struct syscore_ops instead of sysdevs for PM\n  ARM / Samsung: Use struct syscore_ops for \"core\" power management\n  ARM / PXA: Use struct syscore_ops for \"core\" power management\n  ARM / SA1100: Use struct syscore_ops for \"core\" power management\n  ARM / Integrator: Use struct syscore_ops for core PM\n  ARM / OMAP: Use struct syscore_ops for \"core\" power management\n  ARM: Use struct syscore_ops instead of sysdevs for PM in common code\n"
    },
    {
      "commit": "13e381365614855bf14c8ad68f9b65e3afd3dd2c",
      "tree": "b51f9b4eda56b768f2cc8f5646dd02a8d49d900c",
      "parents": [
        "13d53f8775c6a00b070a3eef6833795412eb7fcd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 11 22:40:45 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:19:19 2011 +0200"
      },
      "message": "PM / Wakeup: Remove useless synchronize_rcu() call\n\nwakeup_source_add() adds an item into wakeup_sources list.\n\nThere is no need to call synchronize_rcu() at this point.\n\nIts only needed in wakeup_source_remove()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "e762318baae3002944d68220910aef7caffcd065",
      "tree": "01da9af1ae09f6723a3a5da06e452aba4c364817",
      "parents": [
        "a144c6a6c924aa1da04dd77fb84b89927354fdff"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat May 07 18:11:52 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:19:18 2011 +0200"
      },
      "message": "PM / Wakeup: Fix build warning related to the \"wakeup\" sysfs file\n\nThe \"wakeup\" device sysfs file is only created if CONFIG_PM_SLEEP\nis set, so put it under CONFIG_PM_SLEEP and make a build warning\nrelated to it go away.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a144c6a6c924aa1da04dd77fb84b89927354fdff",
      "tree": "10cab9080a722a191086f58b9f304329e8a8b942",
      "parents": [
        "e1866b33b1e89f077b7132daae3dfd9a594e9a1a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri May 06 20:09:42 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:19:17 2011 +0200"
      },
      "message": "PM: Print a warning if firmware is requested when tasks are frozen\n\nSome drivers erroneously use request_firmware() from their -\u003eresume()\n(or -\u003ethaw(), or -\u003erestore()) callbacks, which is not going to work\nunless the firmware has been built in.  This causes system resume to\nstall until the firmware-loading timeout expires, which makes users\nthink that the resume has failed and reboot their machines\nunnecessarily.  For this reason, make _request_firmware() print a\nwarning and return immediately with error code if it has been called\nwhen tasks are frozen and it\u0027s impossible to start any new usermode\nhelpers.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nReviewed-by: Valdis Kletnieks \u003cvaldis.kletnieks@vt.edu\u003e\n"
    },
    {
      "commit": "e1866b33b1e89f077b7132daae3dfd9a594e9a1a",
      "tree": "674760cf6db30a664112ef73ad15b7b676a4debd",
      "parents": [
        "ee940d8dccd899aa1777ea84da3d9cd04b1d2e8e"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Apr 29 00:33:45 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 17 23:19:17 2011 +0200"
      },
      "message": "PM / Runtime: Rework runtime PM handling during driver removal\n\nThe driver core tries to prevent race conditions between runtime PM\nand driver removal from happening by incrementing the runtime PM\nusage counter of the device and executing pm_runtime_barrier() before\nrunning the bus notifier and the -\u003eremove() callbacks provided by the\ndevice\u0027s subsystem or driver.  This guarantees that, if a future\nruntime suspend of the device has been scheduled or a runtime resume\nor idle request has been queued up right before the driver removal,\nit will be canceled or waited for to complete and no other\nasynchronous runtime suspend or idle requests for the device will be\nput into the PM workqueue until the -\u003eremove() callback returns.\nHowever, it doesn\u0027t prevent resume requests from being queued up\nafter pm_runtime_barrier() has been called and it doesn\u0027t prevent\npm_runtime_resume() from executing the device subsystem\u0027s runtime\nresume callback.  Morever, it prevents the device\u0027s subsystem or\ndriver from putting the device into the suspended state by calling\npm_runtime_suspend() from its -\u003eremove() routine.  This turns out to\nbe a major inconvenience for some subsystems and drivers that want to\nleave the devices they handle in the suspended state.\n\nTo really prevent runtime PM callbacks from racing with the bus\nnotifier callback in __device_release_driver(), which is necessary,\nbecause the notifier is used by some subsystems to carry out\noperations affecting the runtime PM functionality, use\npm_runtime_get_sync() instead of the combination of\npm_runtime_get_noresume() and pm_runtime_barrier().  This will resume\nthe device if it\u0027s in the suspended state and will prevent it from\nbeing suspended again until pm_runtime_put_*() is called.\n\nTo allow subsystems and drivers to put devices into the suspended\nstate by calling pm_runtime_suspend() from their -\u003eremove() routines,\nexecute pm_runtime_put_sync() after running the bus notifier in\n__device_release_driver().  This will require subsystems and drivers\nto make their -\u003eremove() callbacks avoid races with runtime PM\ndirectly, but it will allow of more flexibility in the handling of\ndevices during the removal of their drivers.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "72874daa5e9064c4e8d689e6a04b1e96f687f872",
      "tree": "dd6b6926f8349845144a82ae5318d516431edfbd",
      "parents": [
        "2064af917b3ba7589070064ca4ed12cecd99a63c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue May 03 19:45:32 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon May 16 20:17:48 2011 +0200"
      },
      "message": "PM: Fix build issue in clock_ops.c for CONFIG_PM_RUNTIME unset\n\nFix a build issue in drivers/base/power/clock_ops.c occuring when\nCONFIG_PM_RUNTIME is not set.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "2064af917b3ba7589070064ca4ed12cecd99a63c",
      "tree": "36f7e08bbfb33079fc62b4a810a83fe4f3985636",
      "parents": [
        "600b776eb39a13a28b090ba9efceb0c69d4508aa"
      ],
      "author": {
        "name": "Kevin Hilman",
        "email": "khilman@ti.com",
        "time": "Fri Apr 29 00:37:26 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon May 16 20:17:47 2011 +0200"
      },
      "message": "PM: Revert \"driver core: platform_bus: allow runtime override of dev_pm_ops\"\n\nThe platform_bus_set_pm_ops() operation is deprecated in favor of the\nnew device power domain infrastructre implemented in commit\n7538e3db6e015e890825fbd9f8659952896ddd5b (PM: add support for device\npower domains)\n\nSigned-off-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "a236c71766a5f69edf189e2eaeb0aa587c8c5684",
      "tree": "f0db043b6e4364a28bf4f190a3fefd9e96bfff99",
      "parents": [
        "5409d2cd841cf2c76396470e566500f6505f8d2a"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu May 12 12:45:31 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu May 12 13:27:19 2011 -0700"
      },
      "message": "drivers/base/memory.c: fix warning due to \"memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION\"\n\ndrivers/base/memory.c: In function \u0027memory_block_change_state\u0027:\ndrivers/base/memory.c:281: warning: unused variable \u0027i\u0027\n\nless beer, more testing\n\nCc: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5409d2cd841cf2c76396470e566500f6505f8d2a",
      "tree": "ba91b4eb9d982461b45cf810380b53a2a9916408",
      "parents": [
        "1f8e1cdac616e510eeb2dc2a9226bf597bc6cfd6"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed May 11 17:25:14 2011 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 11 15:19:27 2011 -0700"
      },
      "message": "memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION\n\nOn ppc64 the minimum memory section for hotplug is 16MB but most\nrecent machines have a memory block size of 256MB. This means\nmemory_block_change_state does 16 separate calls to\nmemory_section_action.\n\nThis also means we call the notifiers 16 times and the hook\nin the ehea network driver is quite costly. To offline one 256MB\nregion takes:\n\n# time echo offline \u003e /sys/devices/system/memory/memory32/state\n7.9s\n\nThis patch removes the loop and calls online_pages or\nremove_memory once for the entire region and in doing so makes\nthe logic simpler since we don\u0027t have to back out if things fail\npart way through.\n\nThe same test to offline one region now takes:\n\n# time echo online \u003e /sys/devices/system/memory/memory32/state\n0.67s\n\nOver 11 times faster.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\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": "85eb8c8d0b0900c073b0e6f89979ac9c439ade1a",
      "tree": "ff3486424b60bb8de28ef76655d65cd0c1180449",
      "parents": [
        "1d2b71f61b6a10216274e27b717becf9ae101fc7"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Apr 30 00:25:44 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Apr 30 00:25:44 2011 +0200"
      },
      "message": "PM / Runtime: Generic clock manipulation rountines for runtime PM (v6)\n\nMany different platforms and subsystems may want to disable device\nclocks during suspend and enable them during resume which is going to\nbe done in a very similar way in all those cases.  For this reason,\nprovide generic routines for the manipulation of device clocks during\nsuspend and resume.\n\nConvert the ARM shmobile platform to using the new routines.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "8b313a38ecffc0ff0b4c5115f0a461f73b7dfdb6",
      "tree": "f0e9501dc9d8353736e4824443f7bb603042a076",
      "parents": [
        "38ade3a1fa0421c12627c7b48c33e89414fc9b76"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Apr 29 00:36:32 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Apr 29 00:36:32 2011 +0200"
      },
      "message": "PM / Platform: Use generic runtime PM callbacks directly\n\nOnce shmobile platforms have been converted to using power domains\nfor overriding the platform bus type\u0027s PM callbacks, it isn\u0027t\nnecessary to use the __weakly defined wrappers around the generinc\nruntime PM callbacks in the platform bus type any more.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "69c9dd1ecf446ad8a830e4afc539a2a1adc85b78",
      "tree": "2c43906b23ce709057b7cc0546fbcf31d1f9a8d6",
      "parents": [
        "4d27e9dcff00a6425d779b065ec8892e4f391661"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Apr 29 00:36:05 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Apr 29 00:36:05 2011 +0200"
      },
      "message": "PM: Export platform bus type\u0027s default PM callbacks\n\nExport the default PM callbacks defined for the platform bus type so\nthat they can be used by power domains for suspending and resuming\nplatform devices in the future.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4d27e9dcff00a6425d779b065ec8892e4f391661",
      "tree": "6602f1dcfad3e3065a1c081cf89f2d020976600d",
      "parents": [
        "fafc9929c668f8bae6dd1f109f33a86d2cb3c460"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Apr 29 00:35:50 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Apr 29 00:35:50 2011 +0200"
      },
      "message": "PM: Make power domain callbacks take precedence over subsystem ones\n\nChange the PM core\u0027s behavior related to power domains in such a way\nthat, if a power domain is defined for a given device, its callbacks\nwill be executed instead of and not in addition to the device\nsubsystem\u0027s PM callbacks.\n\nThe idea behind the initial implementation of power domains handling\nby the PM core was that power domain callbacks would be executed in\naddition to subsystem callbacks, so that it would be possible to\nextend the subsystem callbacks by using power domains.  It turns out,\nhowever, that this wouldn\u0027t be really convenient in some important\nsituations.\n\nFor example, there are systems in which power can only be removed\nfrom entire power domains.  On those systems it is not desirable to\nexecute device drivers\u0027 PM callbacks until it is known that power is\ngoing to be removed from the devices in question, which means that\nthey should be executed by power domain callbacks rather then by\nsubsystem (e.g. bus type) PM callbacks, because subsystems generally\nhave no information about what devices belong to which power domain.\nThus, for instance, if the bus type in question is the platform bus\ntype, its PM callbacks generally should not be called in addition to\npower domain callbacks, because they run device drivers\u0027 callbacks\nunconditionally if defined.\n\nWhile in principle the default subsystem PM callbacks, or a subset of\nthem, may be replaced with different functions, it doesn\u0027t seem\ncorrect to do so, because that would change the subsystem\u0027s behavior\nwith respect to all devices in the system, regardless of whether or\nnot they belong to any power domains.  Thus, the only remaining\noption is to make power domain callbacks take precedence over\nsubsystem callbacks.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\n"
    },
    {
      "commit": "22110faf8c8e980013790e6a5214de32b3303730",
      "tree": "fb8239c3e4969cd43981eb10846802ca89b09224",
      "parents": [
        "5dd12af05ca6b7d052c06a9ca4ff755fdfa25ae4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Apr 26 11:33:09 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Apr 26 11:33:09 2011 +0200"
      },
      "message": "PM / Wakeup: Fix initialization of wakeup-related device sysfs files\n\nIt turns out that some PCI devices are only found to be\nwakeup-capable during registration, in which case, when\ndevice_set_wakeup_capable() is called, device_is_registered() already\nreturns \u0027true\u0027 for the given device, but dpm_sysfs_add() hasn\u0027t been\ncalled for it yet.  This leads to situations in which the device\u0027s\npower.can_wakeup flag is not set as requested because of failing\nwakeup_sysfs_add() and its wakeup-related sysfs files are not\ncreated, although they should be present.  This is a post-2.6.38\nregression introduced by commit cb8f51bdadb7969139c2e39c2defd4cde98c1\n(PM: Do not create wakeup sysfs files for devices that cannot wake\nup).\n\nTo work around this problem initialize the device\u0027s power.entry\nfield to an empty list head and make device_set_wakeup_capable()\ncheck if it is still empty before attempting to add the devices\nwakeup-related sysfs files with wakeup_sysfs_add().  Namely, if\npower.entry is still empty at this point, device_pm_add() hasn\u0027t been\ncalled yet for the device and its wakeup-related files will be\ncreated later, so device_set_wakeup_capable() doesn\u0027t have to create\nthem.\n\nReported-and-tested-by: Tino Keitel \u003ctino.keitel@tikei.de\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "07f9479a40cc778bc1462ada11f95b01360ae4ff",
      "tree": "0676cf38df3844004bb3ebfd99dfa67a4a8998f5",
      "parents": [
        "9d5e6bdb3013acfb311ab407eeca0b6a6a3dedbf",
        "cd2e49e90f1cae7726c9a2c54488d881d7f1cd1c"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 26 10:22:15 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Apr 26 10:22:59 2011 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nFast-forwarded to current state of Linus\u0027 tree as there are patches to be\napplied for files that didn\u0027t exist on the old branch.\n"
    },
    {
      "commit": "85723943537bf6a73bdf1140b2088fbe0c17c3c2",
      "tree": "cd74c9bc8ce1aa0fab85b25f0531e90d547b691c",
      "parents": [
        "c8705082404823a5bb3e02a32ba0764399b9e6f2"
      ],
      "author": {
        "name": "Wanlong Gao",
        "email": "wanlong.gao@gmail.com",
        "time": "Sat Apr 23 22:18:26 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Apr 25 15:52:40 2011 -0700"
      },
      "message": "drivers:base:fix the coding format of memory.c\n\nFix the line longer than 80 of memory_uevent function .\n\nSigned-off-by: Wanlong Gao \u003cwanlong.gao@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c8705082404823a5bb3e02a32ba0764399b9e6f2",
      "tree": "1853345f3c0ca963365ff9a07fd2d92e09454799",
      "parents": [
        "4a03d6f7c863a039b937649a93341615f531358e"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Apr 20 09:44:46 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 22 17:09:13 2011 -0700"
      },
      "message": "driver core: let dev_set_drvdata return int instead of void as it can fail\n\nBefore commit\n\n\tb402843 (Driver core: move dev_get/set_drvdata to drivers/base/dd.c)\n\ncalling dev_set_drvdata with dev\u003dNULL was an unchecked error. After some\ndiscussion about what to return in this case removing the check (and so\nproducing a null pointer exception) seems fine.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4a03d6f7c863a039b937649a93341615f531358e",
      "tree": "70906acfe285ec87c8b037e61da5fc27dd21f78b",
      "parents": [
        "cea896238fbfdbce254f51fc8fd78c59df50081f"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Apr 20 09:44:45 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 22 17:09:13 2011 -0700"
      },
      "message": "driver core/platform_device_add_resources: free resource before overwriting\n\nReviewed-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "cea896238fbfdbce254f51fc8fd78c59df50081f",
      "tree": "4536217e6a2f43432384e526e962d2240b141c23",
      "parents": [
        "251e031d132ea3d03e0a32f2240c67f449979c5d"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Apr 20 09:44:44 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 22 17:09:13 2011 -0700"
      },
      "message": "driver core/platform_device_add_resources: set resource to NULL if !res\n\nThis makes the res \u003d NULL case more consistant to the res !\u003d NULL case\nas now both overwrite pdev-\u003eresource.\n\nReviewed-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "251e031d132ea3d03e0a32f2240c67f449979c5d",
      "tree": "83ee22c8d152196875959a58c3e5fb99544468e4",
      "parents": [
        "27a33f9e8fb203e71925257cf039fe6ec623c5d1"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Apr 20 09:44:43 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 22 17:09:12 2011 -0700"
      },
      "message": "driver core/platform_device_add_data: free platform data before overwriting\n\nReviewed-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "27a33f9e8fb203e71925257cf039fe6ec623c5d1",
      "tree": "4aa52696ba58a294c854ddc61422d6c47a1963d6",
      "parents": [
        "7f100d1566d6ee353a43be92599511fc438ec281"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Apr 20 09:44:42 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 22 17:09:11 2011 -0700"
      },
      "message": "driver core/platform_device_add_data: set platform_data to NULL if !data\n\nThis makes the data \u003d NULL case more consistent to the data !\u003d NULL case.\nThe functional change is that now\n\n\tplatform_device_add_data(somepdev, NULL, somesize)\n\nsets pdev-\u003edev.platform_data to NULL instead of not touching it.\n\nReviewed-by: Viresh Kumar \u003cviresh.kumar@st.com\u003e\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7f100d1566d6ee353a43be92599511fc438ec281",
      "tree": "408ffc2cc8ccaa67e3c20c6527b9e12566b12ac2",
      "parents": [
        "8497d6a21c4b17052e868bd53a74c82b557a6c46"
      ],
      "author": {
        "name": "Karthigan Srinivasan",
        "email": "karthigan.srinivasan@hp.com",
        "time": "Mon Apr 18 16:16:52 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 22 17:06:30 2011 -0700"
      },
      "message": "drivers/base/core.c: Fixed brace coding style issue.\n\nFixed brace coding style issue.\n\nSigned-off-by: Karthigan Srinivasan \u003ckarthigan.srinivasan@hp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8497d6a21c4b17052e868bd53a74c82b557a6c46",
      "tree": "f20b4098f8811a0dc7790a26150c969e5ae2ae80",
      "parents": [
        "fc2711992b8601c20b7cc078f533e55c3106fbd4"
      ],
      "author": {
        "name": "Sebastian Ott",
        "email": "sebott@linux.vnet.ibm.com",
        "time": "Tue Apr 12 19:05:37 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Apr 22 17:06:29 2011 -0700"
      },
      "message": "driver-core: fix race between device_register and driver_register\n\nWhen a device is registered to a bus it will be a) added to the list\nof devices of the bus and b) bind to a driver (if one matches). As a\nresult of a driver being registered at this bus between a) and b) this\ndevice could already be bound to a driver. This leads to a warning\nand incorrect refcounting.\nTo fix this add a check to device_attach to identify an already bound\ndevice.\n\nSigned-off-by: Sebastian Ott \u003csebott@linux.vnet.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "aed65af1cc2f6fc9ded5a8158f1405a02cf6d2ff",
      "tree": "fd7051c0d25a6f463db9593a981ca3e558d17b4f",
      "parents": [
        "695cca8763078c743417886e80af8ccb78bec9f2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 28 09:12:52 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 19 16:45:51 2011 -0700"
      },
      "message": "drivers: make device_type const\n\nThe device_type structure does not contain data that changes\nduring usage and should be const. This allows devices to declare\nthe struct const.\n\nI have patches to change all the subsystems, but need the infra\nstructure change first.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "19234c0819da0e043a02710488dfd9b242b42eba",
      "tree": "c55331dd010e5fe257e001261f1a31f53f62dff4",
      "parents": [
        "2ca6f62f595c01f689b269db6736de5544da7667"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Apr 20 00:36:11 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Apr 20 00:36:11 2011 +0200"
      },
      "message": "PM: Add missing syscore_suspend() and syscore_resume() calls\n\nDevice suspend/resume infrastructure is used not only by the suspend\nand hibernate code in kernel/power, but also by APM, Xen and the\nkexec jump feature.  However, commit 40dc166cb5dddbd36aa4ad11c03915ea\n(PM / Core: Introduce struct syscore_ops for core subsystems PM)\nfailed to add syscore_suspend() and syscore_resume() calls to that\ncode, which generally leads to breakage when the features in question\nare used.\n\nTo fix this problem, add the missing syscore_suspend() and\nsyscore_resume() calls to arch/x86/kernel/apm_32.c, kernel/kexec.c\nand drivers/xen/manage.c.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Ian Campbell \u003cian.campbell@citrix.com\u003e\n"
    },
    {
      "commit": "aaa119a3d4e0b7421c82ae3fbe288e65d0f3485f",
      "tree": "134923311a0ec019a1365f3ed87ffe32dae37f19",
      "parents": [
        "6faf9a54156fb4d01d73344cc90cb52dda074433",
        "d419e4c0f7584ffc5c72d9aeeaac485cc756ebcf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 12 17:18:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 12 17:18:05 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  fix XEN_SAVE_RESTORE Kconfig dependencies\n  PM / Hibernate: Introduce CONFIG_HIBERNATE_CALLBACKS\n"
    },
    {
      "commit": "e710d7d5a9cab1041b7a3cf9e655b75d92786857",
      "tree": "916fc4d0e3e42e9fbd0e9051fe19c5bb082f4e8f",
      "parents": [
        "a6360dd37e1a144ed11e6548371bade559a1e4df"
      ],
      "author": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Apr 08 00:43:01 2011 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Tue Apr 12 11:13:00 2011 +0200"
      },
      "message": "mfd: Fetch cell pointer from platform_device-\u003emfd_cell\n\nIn order for MFD drivers to fetch their cell pointer but also their\nplatform data one, an mfd cell pointer is added to the platform_device\nstructure.\nThat allows all MFD sub devices drivers to be MFD agnostic, unless\nthey really need to access their MFD cell data. Most of them don\u0027t,\nespecially the ones for IPs used by both MFD and non MFD SoCs.\n\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "1f112cee07b314e244ee9e71d9c1e6950dc13327",
      "tree": "e089e646c78701e37b4ebe00db36082e47cab2d5",
      "parents": [
        "b42282e5a05018ecdc0d63a4ad530b0999785912"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:42 2011 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 11 22:54:42 2011 +0200"
      },
      "message": "PM / Hibernate: Introduce CONFIG_HIBERNATE_CALLBACKS\n\nXen save/restore is going to use hibernate device callbacks for\nquiescing devices and putting them back to normal operations and it\nwould need to select CONFIG_HIBERNATION for this purpose.  However,\nthat also would cause the hibernate interfaces for user space to be\nenabled, which might confuse user space, because the Xen kernels\ndon\u0027t support hibernation.  Moreover, it would be wasteful, as it\nwould make the Xen kernels include a substantial amount of code that\nthey would never use.\n\nTo address this issue introduce new power management Kconfig option\nCONFIG_HIBERNATE_CALLBACKS, such that it will only select the code\nthat is necessary for the hibernate device callbacks to work and make\nCONFIG_HIBERNATION select it.  Then, Xen save/restore will be able to\nselect CONFIG_HIBERNATE_CALLBACKS without dragging the entire\nhibernate code along with it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nTested-by: Shriram Rajagopalan \u003crshriram@cs.ubc.ca\u003e\n"
    },
    {
      "commit": "9f0af69b2dd34d2c21817d599db7bdb3c972a759",
      "tree": "68f76d50a1dc4d5393175904bb22338c44f012ac",
      "parents": [
        "06794eaeb766989e450c1b459ae28da76e1f8719"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Thu Mar 24 11:46:18 2011 +0530"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Apr 10 17:01:05 2011 +0200"
      },
      "message": "sysfs-memory: fix uninitialized variable warning and clean-up code.\n\nsysfs-memory: Fix uninitialized variable warning and clean-up code.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "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": "a5e6b135bdff649e4330f98e2e80dbb1984f7e77",
      "tree": "475bfb1163c59d1370fd77415255afba768f9520",
      "parents": [
        "971f115a50afbe409825c9f3399d5a3b9aca4381",
        "9d90c8d9cde929cbc575098e825d7c29d9f45054"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:05:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:05:40 2011 -0700"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (50 commits)\n  printk: do not mangle valid userspace syslog prefixes\n  efivars: Add Documentation\n  efivars: Expose efivars functionality to external drivers.\n  efivars: Parameterize operations.\n  efivars: Split out variable registration\n  efivars: parameterize efivars\n  efivars: Make efivars bin_attributes dynamic\n  efivars: move efivars globals into struct efivars\n  drivers:misc: ti-st: fix debugging code\n  kref: Fix typo in kref documentation\n  UIO: add PRUSS UIO driver support\n  Fix spelling mistakes in Documentation/zh_CN/SubmittingPatches\n  firmware: Fix unaligned memory accesses in dmi-sysfs\n  firmware: Add documentation for /sys/firmware/dmi\n  firmware: Expose DMI type 15 System Event Log\n  firmware: Break out system_event_log in dmi-sysfs\n  firmware: Basic dmi-sysfs support\n  firmware: Add DMI entry types to the headers\n  Driver core: convert platform_{get,set}_drvdata to static inline functions\n  Translate linux-2.6/Documentation/magic-number.txt into Chinese\n  ...\n"
    },
    {
      "commit": "40dc166cb5dddbd36aa4ad11c03915ea538f5a61",
      "tree": "0a778159cf89ddee9e7d3134ae40569bdccd2a24",
      "parents": [
        "f9b9e806ae0ede772cbb9916d9ac7354a123d044"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:46 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:46 2011 +0100"
      },
      "message": "PM / Core: Introduce struct syscore_ops for core subsystems PM\n\nSome subsystems need to carry out suspend/resume and shutdown\noperations with one CPU on-line and interrupts disabled.  The only\nway to register such operations is to define a sysdev class and\na sysdev specifically for this purpose which is cumbersome and\ninefficient.  Moreover, the arguments taken by sysdev suspend,\nresume and shutdown callbacks are practically never necessary.\n\nFor this reason, introduce a simpler interface allowing subsystems\nto register operations to be executed very late during system suspend\nand shutdown and very early during resume in the form of\nstrcut syscore_ops objects.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7ae496187876d264c712d7c102c45edb8eb41363",
      "tree": "b444c78a2104467259bb6ec34cc4a7815fa68185",
      "parents": [
        "a8b7228cdce9937ebc302a28db8599035e7b3c86"
      ],
      "author": {
        "name": "Nishanth Menon",
        "email": "nm@ti.com",
        "time": "Fri Feb 25 23:46:18 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:17 2011 +0100"
      },
      "message": "PM / OPP: opp_find_freq_exact() documentation fix\n\nopp_find_freq_exact() documentation has is_available instead\nof available. This also fixes warning with the kernel-doc:\nscripts/kernel-doc drivers/base/power/opp.c \u003e/dev/null\nWarning(drivers/base/power/opp.c:246): No description found for parameter \u0027available\u0027\nWarning(drivers/base/power/opp.c:246): Excess function parameter \u0027is_available\u0027 description in \u0027opp_find_freq_exact\u0027\n\nSigned-off-by: Nishanth Menon \u003cnm@ti.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "9659cc0678b954f187290c6e8b247a673c5d37e1",
      "tree": "b9b391d2397b0583757dd1529a85d714dbb81697",
      "parents": [
        "cf4fb80ca3d591cae366ae8364e3c3f7a68bd249"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 18 23:20:21 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:17 2011 +0100"
      },
      "message": "PM: Make system-wide PM and runtime PM treat subsystems consistently\n\nThe code handling system-wide power transitions (eg. suspend-to-RAM)\ncan in theory execute callbacks provided by the device\u0027s bus type,\ndevice type and class in each phase of the power transition.  In\nturn, the runtime PM core code only calls one of those callbacks at\na time, preferring bus type callbacks to device type or class\ncallbacks and device type callbacks to class callbacks.\n\nIt seems reasonable to make them both behave in the same way in that\nrespect.  Moreover, even though a device may belong to two subsystems\n(eg. bus type and device class) simultaneously, in practice power\nmanagement callbacks for system-wide power transitions are always\nprovided by only one of them (ie. if the bus type callbacks are\ndefined, the device class ones are not and vice versa).  Thus it is\npossible to modify the code handling system-wide power transitions\nso that it follows the core runtime PM code (ie. treats the\nsubsystem callbacks as mutually exclusive).\n\nOn the other hand, the core runtime PM code will choose to execute,\nfor example, a runtime suspend callback provided by the device type\neven if the bus type\u0027s struct dev_pm_ops object exists, but the\nruntime_suspend pointer in it happens to be NULL.  This is confusing,\nbecause it may lead to the execution of callbacks from different\nsubsystems during different operations (eg. the bus type suspend\ncallback may be executed during runtime suspend of the device, while\nthe device type callback will be executed during system suspend).\n\nMake all of the power management code treat subsystem callbacks in\na consistent way, such that:\n(1) If the device\u0027s type is defined (eg. dev-\u003etype is not NULL)\n    and its pm pointer is not NULL, the callbacks from dev-\u003etype-\u003epm\n    will be used.\n(2) If dev-\u003etype is NULL or dev-\u003etype-\u003epm is NULL, but the device\u0027s\n    class is defined (eg. dev-\u003eclass is not NULL) and its pm pointer\n    is not NULL, the callbacks from dev-\u003eclass-\u003epm will be used.\n(3) If dev-\u003etype is NULL or dev-\u003etype-\u003epm is NULL and dev-\u003eclass is\n    NULL or dev-\u003eclass-\u003epm is NULL, the callbacks from dev-\u003ebus-\u003epm\n    will be used provided that both dev-\u003ebus and dev-\u003ebus-\u003epm are\n    not NULL.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nReasoning-sounds-sane-to: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    }
  ],
  "next": "7538e3db6e015e890825fbd9f8659952896ddd5b"
}
