1. 26 9月, 2011 3 次提交
  2. 25 8月, 2011 7 次提交
    • R
      PM / Domains: Preliminary support for devices with power.irq_safe set · 0aa2a221
      Rafael J. Wysocki 提交于
      The generic PM domains framework currently doesn't work with devices
      whose power.irq_safe flag is set, because runtime PM callbacks for
      such devices are run with interrupts disabled and the callbacks
      provided by the generic PM domains framework use domain mutexes
      and may sleep.  However, such devices very well may belong to
      power domains on some systems, so the generic PM domains framework
      should take them into account.
      
      For this reason, modify the generic PM domains framework so that the
      domain .power_off() and .power_on() callbacks are never executed for
      a domain containing devices with power.irq_safe set, although the
      .stop_device() and .start_device() callbacks are still run for them.
      
      Additionally, introduce a flag allowing the creator of a
      struct generic_pm_domain object to indicate that its .stop_device()
      and .start_device() callbacks may be run in interrupt context
      (might_sleep_if() triggers if that flag is not set and one of those
      callbacks is run in interrupt context).
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      0aa2a221
    • R
      PM: Move clock-related definitions and headers to separate file · b5e8d269
      Rafael J. Wysocki 提交于
      Since the PM clock management code in drivers/base/power/clock_ops.c
      is used for both runtime PM and system suspend/hibernation, the
      definitions of data structures and headers related to it should not
      be located in include/linux/pm_rumtime.h.  Move them to a separate
      header file.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      b5e8d269
    • R
      PM / Domains: Use power.sybsys_data to reduce overhead · 4605ab65
      Rafael J. Wysocki 提交于
      Currently pm_genpd_runtime_resume() has to walk the list of devices
      from the device's PM domain to find the corresponding device list
      object containing the need_restore field to check if the driver's
      .runtime_resume() callback should be executed for the device.
      This is suboptimal and can be simplified by using power.sybsys_data
      to store device information used by the generic PM domains code.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      4605ab65
    • R
      PM: Introduce struct pm_subsys_data · 5c095a0e
      Rafael J. Wysocki 提交于
      Introduce struct pm_subsys_data that may be subclassed by subsystems
      to store subsystem-specific information related to the device.  Move
      the clock management fields accessed through the power.subsys_data
      pointer in struct device to the new strucutre.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      5c095a0e
    • R
      ARM / shmobile: Make A3RV be a subdomain of A4LC on SH7372 · 111058c3
      Rafael J. Wysocki 提交于
      Instead of coding the undocumented dependencies between power domains
      A3RV and A4LC on SH7372 directly into the low-level power up/down
      routines, make A3RV be a subdomain of A4LC, which will cause the
      same dependecies to hold.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NMagnus Damm <damm@opensource.se>
      111058c3
    • K
      OMAP: omap_device: only override _noirq methods, not normal suspend/resume · ff35336d
      Kevin Hilman 提交于
      Commit c03f007a (OMAP: PM:
      omap_device: add system PM methods for PM domain handling) mistakenly
      used SET_SYSTEM_SLEEP_PM_OPS() when trying to configure custom methods
      for the PM domains noirq methods.  Fix that by setting only the
      suspend_noirq and resume_noirq methods with custom versions.
      
      Note that all other PM domain methods (including the "normal"
      suspend/resume methods) are populated using USE_PLATFORM_PM_SLEEP_OPS,
      which configures them all to the default subsystem (platform_bus)
      methods.
      Reported-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Tested-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      ff35336d
    • M
      ARM: mach-shmobile: sh7372 LCDC1 suspend fix · 5c3f96b2
      Magnus Damm 提交于
      Associate the HDMI clock together with LCDC1 on sh7372.
      
      Without this patch Suspend-to-RAM hangs on the boards
      AP4EVB and Mackerel. The code hangs in the LCDC driver
      where the software is waiting forever for the hardware to
      power down. By explicitly associating the HDMI clock with
      LCDC1 we can make sure the HDMI clock is enabled using
      Runtime PM whenever the driver is accessing the hardware.
      
      This HDMI and LCDC1 dependency is documented in the sh7372
      data sheet. Older kernels did work as expected but the
      recently merged (3.1-rc)
      
       794d78fe drivers: sh: late disabling of clocks V2
      
      introduced code to turn off clocks lacking software reference
      which happens to include the HDMI clock that is needed by
      LCDC1 to operate as expected.
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      5c3f96b2
  3. 24 8月, 2011 2 次提交
  4. 22 8月, 2011 2 次提交
  5. 21 8月, 2011 1 次提交
    • D
      sparc: Allow handling signals when stack is corrupted. · 5598473a
      David S. Miller 提交于
      If we can't push the pending register windows onto the user's stack,
      we disallow signal delivery even if the signal would be delivered on a
      valid seperate signal stack.
      
      Add a register window save area in the signal frame, and store any
      unsavable windows there.
      
      On sigreturn, if any windows are still queued up in the signal frame,
      try to push them back onto the stack and if that fails we kill the
      process immediately.
      
      This allows the debug/tst-longjmp_chk2 glibc test case to pass.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5598473a
  6. 19 8月, 2011 1 次提交
    • I
      sparc: fix array bounds error setting up PCIC NMI trap · 4a0342ca
      Ian Campbell 提交于
        CC      arch/sparc/kernel/pcic.o
      arch/sparc/kernel/pcic.c: In function 'pcic_probe':
      arch/sparc/kernel/pcic.c:359:33: error: array subscript is above array bounds [-Werror=array-bounds]
      arch/sparc/kernel/pcic.c:359:8: error: array subscript is above array bounds [-Werror=array-bounds]
      arch/sparc/kernel/pcic.c:360:33: error: array subscript is above array bounds [-Werror=array-bounds]
      arch/sparc/kernel/pcic.c:360:8: error: array subscript is above array bounds [-Werror=array-bounds]
      arch/sparc/kernel/pcic.c:361:33: error: array subscript is above array bounds [-Werror=array-bounds]
      arch/sparc/kernel/pcic.c:361:8: error: array subscript is above array bounds [-Werror=array-bounds]
      cc1: all warnings being treated as errors
      
      I'm not particularly familiar with sparc but t_nmi (defined in head_32.S via
      the TRAP_ENTRY macro) and pcic_nmi_trap_patch (defined in entry.S) both appear
      to be 4 instructions long and I presume from the usage that instructions are
      int sized.
      Signed-off-by: NIan Campbell <ian.campbell@citrix.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: sparclinux@vger.kernel.org
      Reviewed-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4a0342ca
  7. 17 8月, 2011 2 次提交
    • J
      xen/x86: replace order-based range checking of M2P table by linear one · ccbcdf7c
      Jan Beulich 提交于
      The order-based approach is not only less efficient (requiring a shift
      and a compare, typical generated code looking like this
      
      	mov	eax, [machine_to_phys_order]
      	mov	ecx, eax
      	shr	ebx, cl
      	test	ebx, ebx
      	jnz	...
      
      whereas a direct check requires just a compare, like in
      
      	cmp	ebx, [machine_to_phys_nr]
      	jae	...
      
      ), but also slightly dangerous in the 32-on-64 case - the element
      address calculation can wrap if the next power of two boundary is
      sufficiently far away from the actual upper limit of the table, and
      hence can result in user space addresses being accessed (with it being
      unknown what may actually be mapped there).
      
      Additionally, the elimination of the mistaken use of fls() here (should
      have been __fls()) fixes a latent issue on x86-64 that would trigger
      if the code was run on a system with memory extending beyond the 44-bit
      boundary.
      
      CC: stable@kernel.org
      Signed-off-by: NJan Beulich <jbeulich@novell.com>
      [v1: Based on Jeremy's feedback]
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      ccbcdf7c
    • R
      KVM: uses TASKSTATS, depends on NET · df3d8ae1
      Randy Dunlap 提交于
      CONFIG_TASKSTATS just had a change to use netlink, including
      a change to "depends on NET".  Since "select" does not follow
      dependencies, KVM also needs to depend on NET to prevent build
      errors when CONFIG_NET is not enabled.
      
      Sample of the reported "undefined reference" build errors:
      
      taskstats.c:(.text+0x8f686): undefined reference to `nla_put'
      taskstats.c:(.text+0x8f721): undefined reference to `nla_reserve'
      taskstats.c:(.text+0x8f8fb): undefined reference to `init_net'
      taskstats.c:(.text+0x8f905): undefined reference to `netlink_unicast'
      taskstats.c:(.text+0x8f934): undefined reference to `kfree_skb'
      taskstats.c:(.text+0x8f9e9): undefined reference to `skb_clone'
      taskstats.c:(.text+0x90060): undefined reference to `__alloc_skb'
      taskstats.c:(.text+0x901e9): undefined reference to `skb_put'
      taskstats.c:(.init.text+0x4665): undefined reference to `genl_register_family'
      taskstats.c:(.init.text+0x4699): undefined reference to `genl_register_ops'
      taskstats.c:(.init.text+0x4710): undefined reference to `genl_unregister_ops'
      taskstats.c:(.init.text+0x471c): undefined reference to `genl_unregister_family'
      Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      df3d8ae1
  8. 16 8月, 2011 4 次提交
  9. 12 8月, 2011 1 次提交
  10. 11 8月, 2011 10 次提交
  11. 10 8月, 2011 7 次提交