Skip to content
  1. Sep 24, 2012
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-sleep' · 057d51a1
      Rafael J. Wysocki authored
      * pm-sleep:
        PM: Prevent runtime suspend during system resume
        PM / Sleep: use resume event when call dpm_resume_early
      
      Conflicts:
      	drivers/base/power/main.c (trivial)
      057d51a1
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-runtime' · 071f5827
      Rafael J. Wysocki authored
      * pm-runtime:
        PM / Runtime: let rpm_resume() succeed if RPM_ACTIVE, even when disabled, v2
      071f5827
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-qos' · c26d4114
      Rafael J. Wysocki authored
      * pm-qos:
        PM QoS: Use spinlock in the per-device PM QoS constraints code
      c26d4114
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpuidle' · 721b50ee
      Rafael J. Wysocki authored
      * pm-cpuidle:
        cpuidle: rename function name "__cpuidle_register_driver", v2
        cpuidle: remove some empty lines
        cpuidle / ACPI : move cpuidle_device field out of the acpi_processor_power structure
      721b50ee
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · 59f3b797
      Rafael J. Wysocki authored
      * pm-cpufreq:
        cpufreq: OMAP: Check IS_ERR() instead of NULL for omap_device_get_by_hwmod_name
      59f3b797
  2. Sep 23, 2012
    • Kevin Hilman's avatar
      PM / Runtime: let rpm_resume() succeed if RPM_ACTIVE, even when disabled, v2 · 6f3c77b0
      Kevin Hilman authored
      
      
      There are several drivers where the return value of
      pm_runtime_get_sync() is used to decide whether or not it is safe to
      access hardware and that don't provide .suspend() callbacks for system
      suspend (but may use late/noirq callbacks.)  If such a driver happens
      to call pm_runtime_get_sync() during system suspend, after the core
      has disabled runtime PM, it will get the error code and will decide
      that the hardware should not be accessed, although this may be a wrong
      conclusion, depending on the state of the device when runtime PM was
      disabled.
      
      Drivers might work around this problem by using a test like:
      
         ret = pm_runtime_get_sync(dev);
         if (!ret || (ret == -EACCES && driver_private_data(dev)->suspended)) {
            /* access hardware */
         }
      
      where driver_private_data(dev)->suspended is a flag set by the
      driver's .suspend() method (that would have to be added for this
      purpose).  However, that potentially would need to be done by multiple
      drivers which means quite a lot of duplicated code and bloat.
      
      To avoid that we can use the observation that the core sets
      dev->power.is_suspended before disabling runtime PM and use that
      instead of the driver's private flag.  Still, potentially many drivers
      would need to repeat that same check in quite a few places, so it's
      better to let the core do it.
      
      Then we can be a bit smarter and check whether or not runtime PM was
      disabled by the core only (disable_depth == 1) or by someone else in
      addition to the core (disable_depth > 1).  In the former case
      rpm_resume() can return 1 if the runtime PM status is RPM_ACTIVE,
      because it means the device was active when the core disabled runtime
      PM.  In the latter case it should still return -EACCES, because it
      isn't clear why runtime PM has been disabled.
      
      Tested on AM3730/Beagle-xM where a wakeup IRQ firing during the late
      suspend phase triggers runtime PM activity in the I2C driver since the
      wakeup IRQ is on an I2C-connected PMIC.
      
      [rjw: Modified whitespace to follow the file's convention.]
      
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      6f3c77b0
  3. Sep 22, 2012
    • Daniel Lezcano's avatar
      cpuidle: rename function name "__cpuidle_register_driver", v2 · ed953472
      Daniel Lezcano authored
      
      
      The function __cpuidle_register_driver name is confusing because it
      suggests, conforming to the coding style of the kernel, it registers
      the driver without taking a lock. Actually, it just fill the different
      power field states with a decresing value if the power has not been
      specified.
      
      Clarify the purpose of the function by changing its name and
      move the condition out of this function.
      
      This patch fix nothing and does not change the behavior of the
      function. It is just for the sake of clarity.
      
      IHMO, reading in the code:
      
      +       if (!drv->power_specified)
      +               set_power_states(drv);
      
      is much more explicit than:
      
      -       __cpuidle_register_driver(drv);
      
      Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      ed953472
  4. Sep 20, 2012
  5. Sep 19, 2012
  6. Sep 18, 2012
    • Daniel Lezcano's avatar
      cpuidle / ACPI : move cpuidle_device field out of the acpi_processor_power structure · 3d339dcb
      Daniel Lezcano authored
      
      
      Currently we have the cpuidle_device field in the acpi_processor_power structure.
      This adds a dependency between processor.h and cpuidle.h
      
      Although it is not a real problem, removing this dependency has the benefit of
      separating a bit more the cpuidle code from the rest of the acpi code.
      Also, the compilation should be a bit improved because we do no longer
      include cpuidle.h in processor.h. The preprocessor was generating 30418 loc
      and with this patch it generates 30256 loc for processor_thermal.c, a file
      which is not concerned at all by cpuidle, like processor_perflib.c and
      processor_throttling.c.
      
      That may sound ridiculous, but "small streams make big rivers" :P
      
      This patch moves this field into a static global per cpu variable like what is
      done in the intel_idle driver.
      
      Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      3d339dcb
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · fa373abb
      Rafael J. Wysocki authored
      * pm-cpufreq:
        cpufreq: OMAP: remove loops_per_jiffy recalculate for smp
        sections: fix section conflicts in drivers/cpufreq
        cpufreq: conservative: update frequency when limits are relaxed
        cpufreq / ondemand: update frequency when limits are relaxed
        cpufreq: Add a generic cpufreq-cpu0 driver
        PM / OPP: Initialize OPP table from device tree
        ARM: add cpufreq transiton notifier to adjust loops_per_jiffy for smp
        cpufreq: Remove support for hardware P-state chips from powernow-k8
        acpi-cpufreq: Add compatibility for legacy AMD cpb sysfs knob
        acpi-cpufreq: Add support for disabling dynamic overclocking
        ACPI: Add fixups for AMD P-state figures
        powernow-k8: delay info messages until initialization has succeeded
        cpufreq: Add warning message to powernow-k8
        acpi-cpufreq: Add quirk to disable _PSD usage on all AMD CPUs
        acpi-cpufreq: Add support for modern AMD CPUs
        cpufreq / powernow-k8: Fixup missing _PSS objects message
        PM / cpufreq: Initialise the cpu field during conservative governor start
      fa373abb
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-qos' · 87a2337a
      Rafael J. Wysocki authored
      * pm-qos:
        PM / QoS: Add return code to pm_qos_get_value function.
      87a2337a
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-shmobile' · cf899680
      Rafael J. Wysocki authored
      * pm-shmobile:
        ARM: shmobile: Add A4S cpuidle state on sh7372
        ARM: shmobile: Make sh7372 cpuidle handling more straightforward
        ARM: shmobile: Move definition of shmobile_init_late() to header
        ARM: shmobile: Remove the console check from sh7372_enter_suspend()
        ARM: shmobile: Rework adding devices to PM domains on AP4EVB
        ARM: shmobile: Rework adding devices to PM domains on Mackerel
        ARM: shmobile: Specify device latencies for Mackerel devices directly
        ARM: shmobile: Specify device latencies for SH7372 devices directly
        ARM: shmobile: Allow device latencies to be specified directly
        ARM: shmobile: Set PM domain on/off latencies directly
        ARM: shmobile: Make rmobile_init_pm_domain() static
        ARM: shmobile: Move r8a7779's PM domain objects to a table
        ARM: shmobile: Move r8a7740's PM domain objects to a table
        ARM: shmobile: Move sh7372's PM domain objects to a table
        ARM: shmobile: Do not access sh7372 A4S domain internals directly
        ARM: shmobile: Add routine for automatic PM domains initialization
        ARM: shmobile: Use domain names when adding subdomains to power domains
        ARM: shmobile: Drop r8a7779_add_device_to_domain()
        ARM: shmobile: Use names of power domains for adding devices to them
      cf899680
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-sleep' · d6a56ae7
      Rafael J. Wysocki authored
      * pm-sleep:
        properly __init-annotate pm_sysrq_init()
        PM / wakeup: Use irqsave/irqrestore for events_lock
        PM / Freezer: Fix small typo "regrigerator"
        PM / Sleep: Print name of wakeup source that aborts suspend
      d6a56ae7
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-domains' · 079d364b
      Rafael J. Wysocki authored
      * pm-domains:
        PM / Domains: Fix compilation warning related to genpd_start_dev_no_timing()
        PM / Domains: Operations related to cpuidle using domain names
        PM / Domains: Document cpuidle-related functions and change their names
        PM / Domains: Add power-on function using names to identify domains
        PM / Domains: Make it possible to use names when adding subdomains
        PM / Domains: Make it possible to use domain names when adding devices
      079d364b
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpuidle' · 8592013b
      Rafael J. Wysocki authored
      * pm-cpuidle:
        ACPI / processor: remove pointless variable initialization
        ACPI / processor: remove unused function parameter
        cpuidle / ACPI : remove power from acpi_processor_cx structure
        PM / cpuidle: Make ladder governor use the "disabled" state flag
        Honor state disabling in the cpuidle ladder governor
      8592013b
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-timers' · 00e8b261
      Rafael J. Wysocki authored
      * pm-timers:
        PM: Do not use the syscore flag for runtime PM
        sh: MTU2: Basic runtime PM support
        sh: CMT: Basic runtime PM support
        sh: TMU: Basic runtime PM support
        PM / Domains: Do not measure start time for "irq safe" devices
        PM / Domains: Move syscore flag from subsys data to struct device
        PM / Domains: Rename the always_on device flag to syscore
        PM / Runtime: Allow helpers to be called by early platform drivers
        PM: Reorganize device PM initialization
        sh: MTU2: Introduce clock events suspend/resume routines
        sh: CMT: Introduce clocksource/clock events suspend/resume routines
        sh: TMU: Introduce clocksource/clock events suspend/resume routines
        timekeeping: Add suspend and resume of clock event devices
        PM / Domains: Add power off/on function for system core suspend stage
        PM / Domains: Introduce simplified power on routine for system resume
      00e8b261
  7. Sep 17, 2012
    • Linus Torvalds's avatar
      Linux 3.6-rc6 · 5698bd75
      Linus Torvalds authored
      5698bd75
    • Linus Torvalds's avatar
      Merge tag 'mfd-for-linus-3.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 · 73f8be29
      Linus Torvalds authored
      Pull mfd fixes from Samuel Ortiz:
       "This is the remaining MFD fixes for 3.6, with 5 pending fixes:
      
         - A tps65217 build error fix.
         - A lcp_ich regression fix caused by the MFD driver failing to
           initialize the watchdog sub device due to ACPI conflicts.
         - 2 MAX77693 interrupt handling bug fixes.
         - An MFD core fix, adding an IRQ domain argument to the MFD device
           addition API in order to prevent silent and potentially harmful
           remapping behaviour changes for drivers supporting non-DT
           platforms."
      
      * tag 'mfd-for-linus-3.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
        mfd: MAX77693: Fix NULL pointer error when initializing irqs
        mfd: MAX77693: Fix interrupt handling bug
        mfd: core: Push irqdomain mapping out into devices
        mfd: lpc_ich: Fix a 3.5 kernel regression for iTCO_wdt driver
        mfd: Move tps65217 regulator plat data handling to regulator
      73f8be29
    • Linus Torvalds's avatar
      Merge tag 'for-3.6-rc6' of git://gitorious.org/linux-pwm/linux-pwm · c500ce38
      Linus Torvalds authored
      Pull pwm fixes from Thierry Reding:
       "While this comes a bit later than I had wished, both patches are
        rather minor and touch only new drivers so I think these are still
        safe for merging."
      
      * tag 'for-3.6-rc6' of git://gitorious.org/linux-pwm/linux-pwm:
        pwm: pwm-tiehrpwm: Fix conflicting channel period setting
        pwm: pwm-tiecap: Disable APWM mode after configure
      c500ce38
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 76e77daf
      Linus Torvalds authored
      Pull scsi target fixes from Nicholas Bellinger:
       "Here is the current set of target-pending fixes headed for v3.6-final
      
        The main parts of this series include bug-fixes from Paolo Bonzini to
        address an use-after-free bug in pSCSI sense exception handling, along
        with addressing some long-standing bugs wrt the handling of zero-
        length SCSI CDB payloads also specific to pSCSI pass-through device
        backends."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target: go through normal processing for zero-length REQUEST_SENSE
        target: support zero allocation length in REQUEST SENSE
        target: support zero-size allocation lengths in transport_kmap_data_sg
        target: fail REPORT LUNS with less than 16 bytes of payload
        target: report too-small parameter lists everywhere
        target: go through normal processing for zero-length PSCSI commands
        target: fix use-after-free with PSCSI sense data
        target: simplify code around transport_get_sense_data
        target: move transport_get_sense_data
        target: Check idr_get_new return value in iscsi_login_zero_tsih_s1
        target: Fix ->data_length re-assignment bug with SCSI overflow
      76e77daf
    • Linus Torvalds's avatar
      Merge tag 'pm-for-3.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 9bc67590
      Linus Torvalds authored
      Pull power management fixes from Rafael J. Wysocki:
       "Three ACPI device power management fixes related to checking and
        setting device power states."
      
      * tag 'pm-for-3.6-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / PM: Use KERN_DEBUG when no power resources are found
        ACPI / PM: Fix resource_lock dead lock in acpi_power_on_device
        ACPI / PM: Infer parent power state from child if unknown, v2
      9bc67590
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 6167f81f
      Linus Torvalds authored
      Pull a btrfs revert from Chris Mason:
       "My for-linus branch has one revert in the new quota code.
      
        We're building up more fixes at etc for the next merge window, but I'm
        keeping them out unless they are bigger regressions or have a huge
        impact."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Revert "Btrfs: fix some error codes in btrfs_qgroup_inherit()"
      6167f81f
    • Linus Torvalds's avatar
      Merge tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · a34689d9
      Linus Torvalds authored
      Pull more sound fixes from Takashi Iwai:
       "Yet more (a bunch of) small fixes that slipped from the previous pull
        request.  Most of commits are pending ASoC fixes, all of which are
        fairly trivial commits."
      
      * tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ASoC: wm8904: correct the index
        ALSA: hda - Yet another position_fix quirk for ASUS machines
        ASoC: tegra: fix maxburst settings in dmaengine code
        ASoC: samsung dma - Don't indicate support for pause/resume.
        ASoC: mc13783: Remove mono support
        ASoC: arizona: Fix typo in 44.1kHz rates
        ASoC: spear: correct the check for NULL dma_buffer pointer
        sound: tegra_alc5632: remove HP detect GPIO inversion
        ASoC: atmel-ssc: include linux/io.h for raw io
        ASoC: dapm: Don't force card bias level to be updated
        ASoC: dapm: Make sure we update the bias level for CODECs with no op
        ASoC: am3517evm: fix error return code
        ASoC: ux500_msp_i2s: better use devm functions and fix error return code
        ASoC: imx-sgtl5000: fix error return code
      a34689d9
    • Linus Torvalds's avatar
      Revert "sched: Improve scalability via 'CPU buddies', which withstand random perturbations" · 37407ea7
      Linus Torvalds authored
      This reverts commit 970e1789.
      
      Nikolay Ulyanitsky reported thatthe 3.6-rc5 kernel has a 15-20%
      performance drop on PostgreSQL 9.2 on his machine (running "pgbench").
      
      Borislav Petkov was able to reproduce this, and bisected it to this
      commit 970e1789
      
       ("sched: Improve scalability via 'CPU buddies' ...")
      apparently because the new single-idle-buddy model simply doesn't find
      idle CPU's to reschedule on aggressively enough.
      
      Mike Galbraith suspects that it is likely due to the user-mode spinlocks
      in PostgreSQL not reacting well to preemption, but we don't really know
      the details - I'll just revert the commit for now.
      
      There are hopefully other approaches to improve scheduler scalability
      without it causing these kinds of downsides.
      
      Reported-by: default avatarNikolay Ulyanitsky <lystor@gmail.com>
      Bisected-by: default avatarBorislav Petkov <bp@alien8.de>
      Acked-by: default avatarMike Galbraith <efault@gmx.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      37407ea7
  8. Sep 16, 2012
  9. Sep 15, 2012
    • Takashi Iwai's avatar
      Merge tag 'asoc-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus · 5d037f90
      Takashi Iwai authored
      ASoC: Updates for 3.6
      
      A bigger set of updates than I'm entirely comfortable with - things
      backed up a bit due to travel.  As ever the majority of these are small,
      focused updates for specific drivers though there are a couple of core
      changes.  There's been good exposure in -next.
      
      The AT91 patch fixes a build break.
      5d037f90
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes · 3f0c3c8f
      Linus Torvalds authored
      Pull GFS2 fixes from Steven Whitehouse:
       "Here are three GFS2 fixes for the current kernel tree.  These are all
        related to the block reservation code which was added at the merge
        window.  That code will be getting an update at the forthcoming merge
        window too.  In the mean time though there are a few smaller issues
        which should be fixed.
      
        The first patch resolves an issue with write sizes of greater than 32
        bits with the size hinting code.  The second ensures that the
        allocation data structure is initialised when using xattrs and the
        third takes into account allocations which may have been made by other
        nodes which affect a reservation on the local node."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes:
        GFS2: Take account of blockages when using reserved blocks
        GFS2: Fix missing allocation data for set/remove xattr
        GFS2: Make write size hinting code common
      3f0c3c8f
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 · 9cb0ee85
      Linus Torvalds authored
      Pull x86 platform driver updates from Matthew Garrett:
       "A few small updates for 3.6 - a trivial regression fix and a couple of
        conformance updates for the gmux driver, plus some tiny fixes for
        asus-wmi, eeepc-laptop and thinkpad_acpi."
      
      * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86:
        thinkpad_acpi: buffer overflow in fan_get_status()
        eeepc-laptop: fix device reference count leakage in eeepc_rfkill_hotplug()
        platform/x86: fix asus_laptop.wled_type description
        asus-laptop: HRWS/HWRS typo
        drivers-platform-x86: remove useless #ifdef CONFIG_ACPI_VIDEO
        apple-gmux: Fix port address calculation in gmux_pio_write32()
        apple-gmux: Fix index read functions
        apple-gmux: Obtain version info from indexed gmux
      9cb0ee85
    • Linus Torvalds's avatar
      Merge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux · 5b799dde
      Linus Torvalds authored
      Pull i2c embedded fixes from Wolfram Sang:
       "The last bunch of (typical) i2c-embedded driver fixes for 3.6.
      
        Also update the MAINTAINERS file to point to my tree since people keep
        asking where to find their patches."
      
      * 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
        i2c: algo: pca: Fix mode selection for PCA9665
        MAINTAINERS: fix tree for current i2c-embedded development
        i2c: mxs: correctly setup speed for non devicetree
        i2c: pnx: Fix read transactions of >= 2 bytes
        i2c: pnx: Fix bit definitions
      5b799dde
    • Linus Torvalds's avatar
      Merge tag 'ecryptfs-3.6-rc6-fixes' of... · 1547cb80
      Linus Torvalds authored
      Merge tag 'ecryptfs-3.6-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs
      
      Pull ecryptfs fixes from Tyler Hicks:
      
       - Fixes a regression, introduced in 3.6-rc1, when a file is closed
         before its shared memory mapping is dirtied and unmapped.  The lower
         file was being released when the eCryptfs file was closed and the
         dirtied pages could not be written out.
       - Adds a call to the lower filesystem's ->flush() from
         ecryptfs_flush().
       - Fixes a regression, introduced in 2.6.39, when a file is renamed on
         top of another file.  The target file's inode was not being evicted
         and the space taken by the file was not reclaimed until eCryptfs was
         unmounted.
      
      * tag 'ecryptfs-3.6-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
        eCryptfs: Copy up attributes of the lower target inode after rename
        eCryptfs: Call lower ->flush() from ecryptfs_flush()
        eCryptfs: Write out all dirty pages just before releasing the lower file
      1547cb80
    • Linus Torvalds's avatar
      Merge branch 'fixes-for-3.6' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping · 1568d9f4
      Linus Torvalds authored
      Pull one more DMA-mapping fix from Marek Szyprowski:
       "This patch fixes very subtle bug (typical off-by-one error) which
        might appear in very rare circumstances."
      
      * 'fixes-for-3.6' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
        arm: mm: fix DMA pool affiliation check
      1568d9f4
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 1c23ce72
      Linus Torvalds authored
      Pull hwmon fixes from Guenter Roeck:
       "Fix word size register read and write operations in ina2xx driver, and
        initialize uninitialized structure elements in twl4030-madc-hwmon
        driver."
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (ina2xx) Fix word size register read and write operations
        hwmon: (twl4030-madc-hwmon) Initialize uninitialized structure elements
      1c23ce72