1. 08 May, 2013 3 commits
  2. 28 Apr, 2013 3 commits
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · 371deb95
      Rafael J. Wysocki authored
      * pm-cpufreq:
        cpufreq: Revert incorrect commit 5800043b
      371deb95
    • Rafael J. Wysocki's avatar
      cpufreq: Revert incorrect commit 5800043b · 1c3d85dd
      Rafael J. Wysocki authored
      Commit 5800043b (cpufreq: convert cpufreq_driver to using RCU) causes
      the following call trace to be spit on boot:
      
       BUG: sleeping function called from invalid context at /scratch/rafael/work/linux-pm/mm/slab.c:3179
       in_atomic(): 0, irqs_disabled(): 0, pid: 292, name: systemd-udevd
       2 locks held by systemd-udevd/292:
        #0:  (subsys mutex){+.+.+.}, at: [<ffffffff8146851a>] subsys_interface_register+0x4a/0xe0
        #1:  (rcu_read_lock){.+.+.+}, at: [<ffffffff81538210>] cpufreq_add_dev_interface+0x60/0x5e0
       Pid: 292, comm: systemd-udevd Not tainted 3.9.0-rc8+ #323
       Call Trace:
        [<ffffffff81072c90>] __might_sleep+0x140/0x1f0
        [<ffffffff811581c2>] kmem_cache_alloc+0x42/0x2b0
        [<ffffffff811e7179>] sysfs_new_dirent+0x59/0x130
        [<ffffffff811e63cb>] sysfs_add_file_mode+0x6b/0x110
        [<ffffffff81538210>] ? cpufreq_add_dev_interface+0x60/0x5e0
        [<ffffffff810a3254>] ? __lock_is_held+0x54/0x80
        [<ffffffff811e647d>] sysfs_add_file+0xd/0x10
        [<ffffffff811e6541>] sysfs_create_file+0x21/0x30
        [<ffffffff81538280>] cpufreq_add_dev_interface+0xd0/0x5e0
        [<ffffffff81538210>] ? cpufreq_add_dev_interface+0x60/0x5e0
        [<ffffffffa000337f>] ? acpi_processor_get_platform_limit+0x32/0xbb [processor]
        [<ffffffffa022f540>] ? do_drv_write+0x70/0x70 [acpi_cpufreq]
        [<ffffffff810a3254>] ? __lock_is_held+0x54/0x80
        [<ffffffff8106c97e>] ? up_read+0x1e/0x40
        [<ffffffff8106e632>] ? __blocking_notifier_call_chain+0x72/0xc0
        [<ffffffff81538dbd>] cpufreq_add_dev+0x62d/0xae0
        [<ffffffff815389b8>] ? cpufreq_add_dev+0x228/0xae0
        [<ffffffff81468569>] subsys_interface_register+0x99/0xe0
        [<ffffffffa014d000>] ? 0xffffffffa014cfff
        [<ffffffff81535d5d>] cpufreq_register_driver+0x9d/0x200
        [<ffffffffa014d000>] ? 0xffffffffa014cfff
        [<ffffffffa014d0e9>] acpi_cpufreq_init+0xe9/0x1000 [acpi_cpufreq]
        [<ffffffff810002fa>] do_one_initcall+0x11a/0x170
        [<ffffffff810b4b87>] load_module+0x1cf7/0x2920
        [<ffffffff81322580>] ? ddebug_proc_open+0xb0/0xb0
        [<ffffffff816baee0>] ? retint_restore_args+0xe/0xe
        [<ffffffff810b5887>] sys_init_module+0xd7/0x120
        [<ffffffff816bb6d2>] system_call_fastpath+0x16/0x1b
      
      which is quite obvious, because that commit put (multiple instances
      of) sysfs_create_file() under rcu_read_lock()/rcu_read_unlock(),
      although sysfs_create_file() may cause memory to be allocated with
      GFP_KERNEL and that may sleep, which is not permitted in RCU read
      critical section.
      
      Revert the buggy commit altogether along with some changes on top
      of it.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      1c3d85dd
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · 885f925e
      Rafael J. Wysocki authored
      * pm-cpufreq: (57 commits)
        cpufreq: MAINTAINERS: Add co-maintainer
        cpufreq: pxa2xx: initialize variables
        ARM: S5pv210: compiling issue, ARM_S5PV210_CPUFREQ needs CONFIG_CPU_FREQ_TABLE=y
        cpufreq: cpu0: Put cpu parent node after using it
        cpufreq: ARM big LITTLE: Adapt to latest cpufreq updates
        cpufreq: ARM big LITTLE: put DT nodes after using them
        cpufreq: Don't call __cpufreq_governor() for drivers without target()
        cpufreq: exynos5440: Protect OPP search calls with RCU lock
        cpufreq: dbx500: Round to closest available freq
        cpufreq: Call __cpufreq_governor() with correct policy->cpus mask
        cpufreq / intel_pstate: Optimize intel_pstate_set_policy
        cpufreq: OMAP: instantiate omap-cpufreq as a platform_driver
        arm: exynos: Enable OPP library support for exynos5440
        cpufreq: exynos: Remove error return even if no soc is found
        cpufreq: exynos: Add cpufreq driver for exynos5440
        cpufreq: AMD "frequency sensitivity feedback" powersave bias for ondemand governor
        cpufreq: ondemand: allow custom powersave_bias_target handler to be registered
        cpufreq: convert cpufreq_driver to using RCU
        cpufreq: powerpc/platforms/cell: move cpufreq driver to drivers/cpufreq
        cpufreq: sparc: move cpufreq driver to drivers/cpufreq
        ...
      
      Conflicts:
      	MAINTAINERS (with commit a8e39c35 from pm-cpuidle)
      	drivers/cpufreq/cpufreq_governor.h (with commit beb0ff39)
      885f925e
  3. 27 Apr, 2013 9 commits
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpuidle' · e4f5a3ad
      Rafael J. Wysocki authored
      * pm-cpuidle: (51 commits)
        cpuidle: add maintainer entry
        ARM: s3c64xx: cpuidle: use init/exit common routine
        SH: cpuidle: use init/exit common routine
        cpuidle: fix comment format
        ARM: imx: cpuidle: use init/exit common routine
        ARM: davinci: cpuidle: use init/exit common routine
        ARM: kirkwood: cpuidle: use init/exit common routine
        ARM: calxeda: cpuidle: use init/exit common routine
        ARM: tegra: cpuidle: use init/exit common routine for tegra3
        ARM: tegra: cpuidle: use init/exit common routine for tegra2
        ARM: OMAP4: cpuidle: use init/exit common routine
        ARM: shmobile: cpuidle: use init/exit common routine
        ARM: tegra: cpuidle: use init/exit common routine
        ARM: OMAP3: cpuidle: use init/exit common routine
        ARM: at91: cpuidle: use init/exit common routine
        ARM: ux500: cpuidle: use init/exit common routine
        cpuidle: make a single register function for all
        ARM: ux500: cpuidle: replace for_each_online_cpu by for_each_possible_cpu
        cpuidle: remove en_core_tk_irqen flag
        ARM: OMAP3: remove cpuidle_wrap_enter
        ...
      e4f5a3ad
    • Rafael J. Wysocki's avatar
      Merge branch 'pnp' · ae620830
      Rafael J. Wysocki authored
      * pnp:
        pnp: use %*phC to dump small buffers
        isapnp: remove debug leftovers
      ae620830
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-assorted' · 355c63e5
      Rafael J. Wysocki authored
      * pm-assorted:
        PM / OPP: add documentation to RCU head in struct opp
        PM / sleep: invalidate TEST_CPUS and TEST_CORE support for freeze state
        PM / sleep: add TEST_PLATFORM support for freeze state
      355c63e5
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-runtime' · 0acaab53
      Rafael J. Wysocki authored
      * pm-runtime:
        PM / Runtime: Improve prepare handling at system suspend for genpd
        PM / Runtime: Asyncronous idle|suspend parent devices at removal
        PM / Runtime: Asyncronous idle|suspend devices at system resume
      0acaab53
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-assorted' · c940c8ce
      Rafael J. Wysocki authored
      * acpi-assorted: (21 commits)
        ACPI / thermal: do not always return THERMAL_TREND_RAISING for active trip points
        ACPI: video: correct acpi_video_bus_add error processing
        ACPI: Fix wrong parameter passed to memblock_reserve
        acpi: video: enhance the quirk detect logic of _BQC
        ACPI: update comments for acpi_event_status
        ACPI: remove "config ACPI_DEBUG_FUNC_TRACE"
        PCI / ACPI: Don't query OSC support with all possible controls
        ACPI / processor_thermal: avoid null pointer deference error
        ACPI / fan: avoid null pointer deference error
        ACPI / video: Fix applying indexed initial brightness value.
        ACPI / video: Make logic a little easier to understand.
        ACPI / video: Fix brightness control initialization for some laptops.
        ACPI: Use resource_size() in osl.c
        ACPI / acpi_pad: Used PTR_RET
        ACPI: suppress compiler warning in container.c
        ACPI: suppress compiler warning in battery.c
        ACPI: suppress compiler warnings in processor_throttling.c
        ACPI: suppress compiler warnings in button.c
        ACPI: replace kmalloc+memcpy with kmemdup
        ACPI: Remove acpi_pci_bind_root() definition
        ...
      c940c8ce
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-pm' · 34bdb1a4
      Rafael J. Wysocki authored
      * acpi-pm:
        ACPI / PM: Expose lists of device wakeup power resources to user space
        ACPI / PM: Fix potential problem in acpi_device_get_power()
      34bdb1a4
    • Rafael J. Wysocki's avatar
      Merge branch 'acpica' · 0ad4991c
      Rafael J. Wysocki authored
      * acpica: (33 commits)
        ACPICA: Update version to 20130328
        ACPICA: Add a lock to the internal object reference count mechanism
        ACPICA: Fix a format string for 64-bit generation
        ACPICA: Remove FORCE_DELETE option for global reference count mechanism
        ACPICA: Improve error message for Index() operator
        ACPICA: FADT: Remove extraneous warning for very large GPE registers
        ACPICA: Fix a typo in a function header, no functional change
        ACPICA: Fix a typo in an error message
        ACPICA: Fix for some comments/headers
        ACPICA: _OSI Support: handle any errors from acpi_os_acquire_mutex()
        ACPICA: Predefine names: Add allowed argument types to master info table
        ACPI: Set length even for TYPE_END_TAG acpi resource
        ACPICA: Update version to 20130214
        ACPICA: Object repair: Allow 0-length packages for variable-length packages
        ACPICA: Disassembler: Add warnings for unresolved control methods
        ACPICA: Return object repair: Add resource template repairs
        ACPICA: Return object repair: Add string-to-unicode conversion
        ACPICA: Split object conversion functions to a new file
        ACPICA: Add mechanism for early object repairs on a per-name basis
        ACPICA: Remove trailing comma in enum declarations
        ...
      0ad4991c
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-lpss' · 2467d7b7
      Rafael J. Wysocki authored
      * acpi-lpss:
        ACPI / LPSS: make code less confusing for reader
        ACPI / LPSS: Add support for exposing LTR registers to user space
        ACPI / scan: Add special handler for Intel Lynxpoint LPSS devices
      2467d7b7
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-hotplug' · 929c6dd4
      Rafael J. Wysocki authored
      * acpi-hotplug:
        ACPI / memhotplug: Remove info->failed bit
        ACPI / memhotplug: set info->enabled for memory present at boot time
        ACPI: Verify device status after eject
        acpi: remove reference to ACPI_HOTPLUG_IO
        ACPI: Update _OST handling for notify
        ACPI: Update PNPID match handling for notify
        ACPI: Update PNPID set/free interfaces
        ACPI: Remove acpi_device dependency in acpi_device_set_id()
        ACPI / hotplug: Make acpi_hotplug_profile_ktype static
        ACPI / scan: Make memory hotplug driver use struct acpi_scan_handler
        ACPI / container: Use hotplug profile user space interface
        ACPI / hotplug: Introduce user space interface for hotplug profiles
        ACPI / scan: Introduce acpi_scan_handler_matching()
        ACPI / container: Use common hotplug code
        ACPI / scan: Introduce common code for ACPI-based device hotplug
        ACPI / scan: Introduce acpi_scan_match_handler()
      929c6dd4
  4. 26 Apr, 2013 4 commits
  5. 25 Apr, 2013 2 commits
    • Arnd Bergmann's avatar
      cpufreq: pxa2xx: initialize variables · 7264a2bb
      Arnd Bergmann authored
      gcc-3.8 correctly found that the variables set by find_freq_tables()
      are not initialized if this function is called on something other
      than a pxa2xx or pxa3xx:
      
      pxa2xx-cpufreq.c: In function 'pxa_verify_policy':
      pxa2xx-cpufreq.c:272:6: warning: 'pxa_freqs_table' may be used uninitialized in this function [-Wmaybe-uninitialized]
      pxa2xx-cpufreq.c: In function 'pxa_set_target':
      pxa2xx-cpufreq.c:345:23: warning: 'pxa_freq_settings' may be used uninitialized in this function [-Wmaybe-uninitialized]
      
      Rather than adding a bogus initialization that would let us
      get a little further before crashing, add an explicit BUG().
      We know that this code is designed to run on only these cpus,
      so this will fix the build warning and give a more helpful
      diagnostic if the code ever changes to run on other machines.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      7264a2bb
    • Aaron Lu's avatar
      ACPI: video: correct acpi_video_bus_add error processing · 91e13aa3
      Aaron Lu authored
      acpi_video_bus_get_devices() may fail due to some video output device
      doesn't have the _ADR method, and in this case, the error processing
      is to simply free the video structure in acpi_video_bus_add(), while
      leaving those already registered video output devices in the wild,
      which means for some video output device, we have already registered
      a backlight interface and installed a notification handler for it.
      So it can happen when user is using this system, on hotkey pressing,
      the notification handler will send a keycode through a non-existing
      input device, causing kernel freeze.
      
      To solve this problem, free all those already registered video output
      devices once something goes wrong in acpi_video_bus_get_devices(), so
      that no wild backlight interfaces and notification handlers exist.
      
      References: https://bugzilla.kernel.org/show_bug.cgi?id=51731
      Reported-and-tested-by: <i-tek@web.de>
      Signed-off-by: default avatarAaron Lu <aaron.lu@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      91e13aa3
  6. 24 Apr, 2013 3 commits
    • Daniel Lezcano's avatar
      SH: cpuidle: use init/exit common routine · b181a3b0
      Daniel Lezcano authored
      Remove the duplicated code and use the cpuidle common code for initialization.
      Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
      Acked-by: default avatarSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      b181a3b0
    • Chen Gang's avatar
      ARM: S5pv210: compiling issue, ARM_S5PV210_CPUFREQ needs CONFIG_CPU_FREQ_TABLE=y · 5eed1987
      Chen Gang authored
      For arm S5pv210 with allmodconfig, ARM_S5PV210_CPUFREQ need
      CONFIG_CPU_FREQ_TABLE=y, or will cause compiling issue.
      
      The related operation:
      + arm-linux-gnu-ld -EL -p --no-undefined -X --build-id -X -o .tmp_vmlinux1 -T /root/linux-next/arch/arm/kernel/vmlinux.lds arch/arm/kernel/head.o init/built-in.o --start-group usr/built-in.o arch/arm/nwfpe/built-in.o arch/arm/vfp/built-in.o arch/arm/kernel/built-in.o arch/arm/mm/built-in.o arch/arm/common/built-in.o arch/arm/net/built-in.o arch/arm/crypto/built-in.o arch/arm/mach-s5pv210/built-in.o arch/arm/plat-samsung/built-in.o kernel/built-in.o mm/built-in.o fs/built-in.o ipc/built-in.o security/built-in.o crypto/built-in.o block/built-in.o arch/arm/lib/lib.a lib/lib.a arch/arm/lib/built-in.o lib/built-in.o drivers/built-in.o sound/built-in.o firmware/built-in.o net/built-in.o --end-group
      
      The related errors:
      drivers/built-in.o: In function `s5pv210_target':
      drivers/cpufreq/s5pv210-cpufreq.c:225: undefined reference to `cpufreq_frequency_table_target'
      drivers/cpufreq/s5pv210-cpufreq.c:237: undefined reference to `cpufreq_frequency_table_target'
      drivers/built-in.o: In function `s5pv210_verify_speed':
      drivers/cpufreq/s5pv210-cpufreq.c:182: undefined reference to `cpufreq_frequency_table_verify'
      drivers/built-in.o: In function `s5pv210_cpu_init':
      drivers/cpufreq/s5pv210-cpufreq.c:556: undefined reference to `cpufreq_frequency_table_get_attr'
      drivers/cpufreq/s5pv210-cpufreq.c:560: undefined reference to `cpufreq_frequency_table_cpuinfo'
      make: *** [vmlinux] Error 1
      Signed-off-by: default avatarChen Gang <gang.chen@asianux.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      5eed1987
    • Wang YanQing's avatar
      ACPI: Fix wrong parameter passed to memblock_reserve · a6432ded
      Wang YanQing authored
      Commit 53aac44c (ACPI: Store valid ACPI tables passed via early initrd
      in reserved memblock areas) introduced acpi_initrd_override() that
      passes a wrong value as the second argument to memblock_reserve().
      
      Namely, the second argument of memblock_reserve() is the size of the
      region, not the address of the top of it, so make
      acpi_initrd_override() pass the size in there as appropriate.
      
      [rjw: Changelog]
      Signed-off-by: default avatarWang YanQing <udknight@gmail.com>
      Acked-by: default avatarYinghai Lu <yinghai@kernel.org>
      Cc: 3.8+ <stable@vger.kernel.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a6432ded
  7. 23 Apr, 2013 16 commits