1. 08 5月, 2013 2 次提交
  2. 29 4月, 2013 2 次提交
    • R
      Merge branch 'pm-cpufreq' · 371deb95
      Rafael J. Wysocki 提交于
      * pm-cpufreq:
        cpufreq: Revert incorrect commit 5800043b
      371deb95
    • R
      cpufreq: Revert incorrect commit 5800043b · 1c3d85dd
      Rafael J. Wysocki 提交于
      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: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      1c3d85dd
  3. 28 4月, 2013 10 次提交
    • R
      Merge branch 'pm-cpufreq' · 885f925e
      Rafael J. Wysocki 提交于
      * 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
    • R
      Merge branch 'pm-cpuidle' · e4f5a3ad
      Rafael J. Wysocki 提交于
      * 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
    • R
      Merge branch 'pnp' · ae620830
      Rafael J. Wysocki 提交于
      * pnp:
        pnp: use %*phC to dump small buffers
        isapnp: remove debug leftovers
      ae620830
    • R
      Merge branch 'pm-assorted' · 355c63e5
      Rafael J. Wysocki 提交于
      * 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
    • R
      Merge branch 'pm-runtime' · 0acaab53
      Rafael J. Wysocki 提交于
      * 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
    • R
      Merge branch 'acpi-assorted' · c940c8ce
      Rafael J. Wysocki 提交于
      * 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
    • R
      Merge branch 'acpi-pm' · 34bdb1a4
      Rafael J. Wysocki 提交于
      * 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
    • R
      Merge branch 'acpica' · 0ad4991c
      Rafael J. Wysocki 提交于
      * 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
    • R
      Merge branch 'acpi-lpss' · 2467d7b7
      Rafael J. Wysocki 提交于
      * 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
    • R
      Merge branch 'acpi-hotplug' · 929c6dd4
      Rafael J. Wysocki 提交于
      * 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. 27 4月, 2013 2 次提交
    • V
      cpufreq: MAINTAINERS: Add co-maintainer · 45c009a9
      viresh kumar 提交于
      Add Viresh as a co-maintainer of cpufreq framework.
      
      This would mostly be for cpufreq core and ARM drivers but not
      restricted to them.
      
      Also add a pointer to the git tree cpufreq patches are pulled into.
      
      [rjw: Changelog]
      Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
      Tentatively-acked-by: NKevin Hilman <khilman@linaro.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      45c009a9
    • D
      cpuidle: add maintainer entry · a8e39c35
      Daniel Lezcano 提交于
      Currently cpuidle drivers are spread across different archs.
      
      As a result, there are several different paths for cpuidle patch
      submissions: cpuidle core changes go through linux-pm, ARM driver
      changes go to the arm-soc or SoC-specific trees, sh changes go
      through the sh arch tree, pseries changes go through the PowerPC tree
      and finally intel changes go through the Len's tree while ACPI idle
      changes go through linux-pm.
      
      That makes it difficult to consolidate code and to propagate
      modifications from the cpuidle core to the different drivers.
      
      Hopefully, a movement has started to put the majority of cpuidle
      drivers under drivers/cpuidle like cpuidle-calxeda.c and
      cpuidle-kirkwood.c.
      
      Add a maintainer entry for cpuidle to MAINTAINERS to clarify the
      situation and to indicate to new cpuidle driver authors that those
      drivers should not go into arch-specific directories.
      
      The upstreaming process is unchanged: Rafael takes patches for
      merging into his tree, but with an Acked-by: tag from the driver's
      maintainer, so indicate in the drivers' headers who maintains them.
      
      The arrangement will be the same as for cpufreq.
      
      [rjw: Changelog]
      Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Acked-by: Andrew Lunn <andrew@lunn.ch>  #for kirkwood
      Acked-by: Jason Cooper <jason@lakedaemon.net> #for kirkwood
      Acked-by: NKevin Hilman <khilman@linaro.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a8e39c35
  5. 26 4月, 2013 3 次提交
  6. 25 4月, 2013 1 次提交
    • A
      ACPI: video: correct acpi_video_bus_add error processing · 91e13aa3
      Aaron Lu 提交于
      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: NAaron Lu <aaron.lu@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      91e13aa3
  7. 24 4月, 2013 4 次提交
  8. 23 4月, 2013 16 次提交