Skip to contentSkip to conversation

ACPI & Power Management Patches for Linux-3.5-merge

GIT PULL Len Brown 4 participants 5 messages Jun 2, 2012 – Jun 4, 2012 ACPI

lore
Share & tools
lore

Len Brown

author reviewer
#0 lore raw

Hi Linus,

Please pull these ACPI & Power Management patches. Gradual evolution here of ACPICA, cpuidle, thermal, run-time D3, plus other assorted small changes.

thanks!
Len Brown, Intel Open Source Technology Center

The following changes since commit 76e10d158efb6d4516018846f60c2ab5501900bc:

Linux 3.4 (2012-05-20 15:29:13 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux.git release

for you to fetch changes up to cffc28828853829dc89e53c325e2dfda3748b0e2:

Merge branches 'acpica', 'battery', 'cpuidle-coupled', 'cpuidle-tweaks', 'intel_idle-ivb', 'misc', 'ost', 'pss-workaround', 'rafael-queue', 'thermal-cpu-cooling', 'thermal-trip-points', 'turbostat', 'video' and 'ying-add-deep-d-state-limit' into release (2012-06-02 01:50:25 -0400)

Note that there will be 3 conflicts when merging with your tree. If you don't feel like resolving them, you can pull my "next" branch, which is simply my "release" branch merged with your latest tree on Friday.

ps. Sorry for sending this request at the tails of the merge window -- I'll try to be earlier next time.

----------------------------------------------------------------

Alan Cox (3):
acpi_video: fix leaking PCI references
acpi_video: Intel video is not always i915
gma500: don't register the ACPI video bus

Amit Daniel Kachhap (5):
thermal: add generic cpufreq cooling implementation
hwmon: exynos4: move thermal sensor driver to driver/thermal directory
thermal: exynos5: add exynos5 thermal sensor driver support
thermal: exynos: register the tmu sensor with the kernel thermal layer
ARM: exynos: add thermal sensor driver platform data support

Andy Whitcroft (1):
ACPI battery: only refresh the sysfs files when pertinent information changes

Bob Moore (9):
ACPICA: Object dump routines: Use common function for string output
ACPICA: Lint fixes for acpi_write, no functional changes
ACPICA: Add support for multiple notify handlers
ACPICA: Update to version 20120420
ACPICA: Disassembler: Add support for Operation Region externals
ACPICA: ACPI 5/iASL: Add support for PCC keyword
ACPICA: iASL: Improved pathname support
ACPICA: Add FADT error message for GAS BitWidth overflow
ACPICA: Update to version 20120518

Colin Cross (4):
cpuidle: refactor out cpuidle_enter_state
cpuidle: fix error handling in __cpuidle_register_device
cpuidle: add support for states that affect multiple cpus
cpuidle: coupled: add parallel barrier function

Dan Carpenter (1):
ACPI video: use after input_unregister_device()

Daniel Drake (2):
ACPI / PM: Generate wakeup events on fixed power button rtc-cmos / PM: report wakeup event on ACPI RTC alarm

Durgadoss R (2):
ACPI-Thermal: Make Thermal trip points writeable
ACPI-Thermal: Add Hysteresis attributes

Fabio Estevam (1):
drivers: acpi: Fix dependency for ACPI_HOTPLUG_CPU

Huang Ying (1):
ACPI, PM, Specify lowest allowed state for device sleep state

Jesper Juhl (1):
ACPICA: AML Parser: Fix two possible memory leaks in error path

Len Brown (3):
intel_idle: initial IVB support
tools/power: turbostat v2 - re-write for efficiency
Merge branches 'acpica', 'battery', 'cpuidle-coupled', 'cpuidle-tweaks', 'intel_idle-ivb', 'misc', 'ost', 'pss-workaround', 'rafael-queue', 'thermal-cpu-cooling', 'thermal-trip-points', 'turbostat', 'video' and 'ying-add-deep-d-state-limit' into release

Lin Ming (1):
ACPICA: Remove argument of acpi_os_wait_events_complete

Marco Aurelio da Costa (1):
ACPI: Ignore invalid _PSS entries, but use valid ones

Rafael J. Wysocki (3):
ACPI / PM: Fix error messages in drivers/acpi/bus.c
ACPI / PM: Make __acpi_bus_get_power() cover D3cold correctly ACPI / PM: Make acpi_pm_device_sleep_state() follow the specification

Sergey Senozhatsky (1):
cpuidle: remove unused hrtimer_peek_ahead_timers() call

Srivatsa S. Bhat (1):
cpuidle: add checks to avoid NULL pointer dereference

Toshi Kani (6):
ACPI: Add an interface to evaluate _OST
ACPI: Add _OST support for sysfs eject
ACPI: Add _OST support for ACPI CPU hotplug
ACPI: Add _OST support for ACPI memory hotplug
ACPI: Add _OST support for ACPI container hotplug
ACPI: Set hotplug _OST support bit to _OSC

Viresh Kumar (1):
drivers/thermal/spear_thermal.c: add Device Tree probing capability

srinivas pandruvada (1):
ACPI Battery: Added capacity

 .../devicetree/bindings/thermal/spear-thermal.txt  |   14 +
 Documentation/thermal/cpu-cooling-api.txt          |   60 +
 .../{hwmon/exynos4_tmu => thermal/exynos_thermal}  |   35 +-
 Documentation/thermal/sysfs-api.txt                |   10 +-
 drivers/acpi/Kconfig                               |    2 +-
 drivers/acpi/acpi_memhotplug.c                     |   43 +-
 drivers/acpi/acpica/acglobal.h                     |    3 +-
 drivers/acpi/acpica/aclocal.h                      |   13 +-
 drivers/acpi/acpica/acobject.h                     |    9 +-
 drivers/acpi/acpica/acutils.h                      |    2 +
 drivers/acpi/acpica/dsfield.c                      |   81 ++
 drivers/acpi/acpica/evmisc.c                       |  185 +--
 drivers/acpi/acpica/evxface.c                      |  444 +++----
 drivers/acpi/acpica/exdump.c                       |   29 +-
 drivers/acpi/acpica/hwesleep.c                     |    9 +-
 drivers/acpi/acpica/psargs.c                       |    2 +
 drivers/acpi/acpica/tbfadt.c                       |   32 +-
 drivers/acpi/acpica/utdelete.c                     |   24 +-
 drivers/acpi/acpica/utglobal.c                     |    4 +-
 drivers/acpi/acpica/utmisc.c                       |   29 +
 drivers/acpi/battery.c                             |   19 +-
 drivers/acpi/bus.c                                 |   92 +-
 drivers/acpi/container.c                           |   43 +-
 drivers/acpi/osl.c                                 |    4 +-
 drivers/acpi/power.c                               |    2 +-
 drivers/acpi/processor_driver.c                    |   28 +-
 drivers/acpi/processor_perflib.c                   |   30 +-
 drivers/acpi/scan.c                                |   59 +-
 drivers/acpi/sleep.c                               |   75 +-
 drivers/acpi/thermal.c                             |    4 +-
 drivers/acpi/utils.c                               |   42 +
 drivers/acpi/video.c                               |   33 +-
 drivers/cpuidle/Kconfig                            |    3 +
 drivers/cpuidle/Makefile                           |    1 +
 drivers/cpuidle/coupled.c                          |  715 +++++++++++
 drivers/cpuidle/cpuidle.c                          |   85 +-
 drivers/cpuidle/cpuidle.h                          |   32 +
 drivers/gpu/drm/gma500/psb_drv.c                   |    2 +-
 drivers/hwmon/Kconfig                              |   10 -
 drivers/hwmon/Makefile                             |    1 -
 drivers/hwmon/exynos4_tmu.c                        |  514 --------
 drivers/idle/intel_idle.c                          |   37 +
 drivers/pci/pci-acpi.c                             |    3 +-
 drivers/platform/x86/acerhdf.c                     |    2 +-
 drivers/platform/x86/intel_mid_thermal.c           |    2 +-
 drivers/pnp/pnpacpi/core.c                         |    4 +-
 drivers/rtc/rtc-cmos.c                             |    9 +-
 drivers/thermal/Kconfig                            |   21 +
 drivers/thermal/Makefile                           |    4 +-
 drivers/thermal/cpu_cooling.c                      |  483 +++++++
 drivers/thermal/exynos_thermal.c                   |  956 ++++++++++++++
 drivers/thermal/spear_thermal.c                    |   28 +-
 drivers/thermal/thermal_sys.c                      |  193 ++-
 include/acpi/acpi_bus.h                            |   18 +-
 include/acpi/acpiosxf.h                            |    2 +-
 include/acpi/acpixf.h                              |    2 +-
 include/acpi/actypes.h                             |    7 +-
 include/linux/acpi.h                               |   40 +-
 include/linux/cpu_cooling.h                        |   99 ++
 include/linux/cpuidle.h                            |   11 +
 .../{exynos4_tmu.h => exynos_thermal.h}            |   31 +-
 include/linux/platform_data/spear_thermal.h        |   26 -
 include/linux/thermal.h                            |   15 +-
 tools/power/x86/turbostat/turbostat.8              |   77 +-
 tools/power/x86/turbostat/turbostat.c              | 1324 +++++++++++++-------
 65 files changed, 4443 insertions(+), 1775 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/thermal/spear-thermal.txt
 create mode 100644 Documentation/thermal/cpu-cooling-api.txt
 rename Documentation/{hwmon/exynos4_tmu => thermal/exynos_thermal} (71%)
 create mode 100644 drivers/cpuidle/coupled.c
 delete mode 100644 drivers/hwmon/exynos4_tmu.c
 create mode 100644 drivers/thermal/cpu_cooling.c
 create mode 100644 drivers/thermal/exynos_thermal.c
 create mode 100644 include/linux/cpu_cooling.h
 rename include/linux/platform_data/{exynos4_tmu.h => exynos_thermal.h} (74%)
 delete mode 100644 include/linux/platform_data/spear_thermal.h
#1 lore raw
Quoted 3 lines · Len Brown

ps. Sorry for sending this request at the tails of the merge window -- I'll try to be earlier next time.

Christ, not only is it after I really wanted to do -rc1 (held up by the tty locking problems), but it doesn't even compile.

Find the bug (the compiler certainly did):

static inline int acpi_pm_device_sleep_state(struct device *d, int *p, int m)

{
        if (p)
                *p = ACPI_STATE_D0;
        return (m >= ACPI_STATE_D0 && <= ACPI_STATE_D3) ? m : ACPI_STATE_D0;
}

and no, it wasn't a merge error. That's what it looks like in your tree.

The commit was done yesterday. It clearly had *zero* testing.

Looking more at the pull as a result of this, I notice that almost every commit in that tree is from yesterday, and thus cleary cannot have been in -next. I was going to just fix up the obvious one-liner fixup, but looking at the bigger picture I'm going to say "3.6 material" for this whole thing.

Linus

author reviewer
#2 lore raw
Quoted 17 lines · Linus Torvalds
Quoted 3 lines · Len Brown

ps. Sorry for sending this request at the tails of the merge window -- I'll try to be earlier next time.

Christ, not only is it after I really wanted to do -rc1 (held up by the tty locking problems), but it doesn't even compile.

Find the bug (the compiler certainly did):

static inline int acpi_pm_device_sleep_state(struct device *d, int *p, int m)

{
        if (p)
                *p = ACPI_STATE_D0;
        return (m >= ACPI_STATE_D0 && <= ACPI_STATE_D3) ? m : ACPI_STATE_D0;
}
Quoted 5 lines

and no, it wasn't a merge error. That's what it looks like in your tree.

The commit was done yesterday. It clearly had *zero* testing.

Hmm.

This hunk is in the CONFIG_PM=n case.

Of the several hundred x86_64 and i386 kernels I build before sending you a pull request, only two do not have CONFIG_PM=y -- x86_64 allnoconfig and i386 allnoconfig.
Like the other kernels, those build fine.

I'm curious what config and compiler tripped on this for you.

Quoted 3 lines

Looking more at the pull as a result of this, I notice that almost every commit in that tree is from yesterday, and thus cleary cannot have been in -next.

Yes, I did check in Ying's patch this week, and a few others.

But a bunch of the patches have been in linux-next for some time.

I know you'd prefer patches to live in the tree frozen at the date that they were 1st checked in, but that doesn't work well when patches change. To update a patch in a series I need to re-base. Yes, I could re-base in place -- in the context of an rc that nobody anywhere (including me) will ever build or boot. Or I could re-base up to the latest release boundary which a lot of people (including me) will test. In this case
I think I re-based everything up to 3.4.

Quoted 4 lines

I was going to just fix up the obvious one-liner

fixup, but looking at the bigger picture I'm going to say "3.6 material" for this whole thing.

It would be sad for a simple, though embarrassing, issue with this patch to delay the other patches.

-Len

#3 lore raw
In reply to Linus Torvalds
Quoted 19 lines · Linus Torvalds
Quoted 3 lines · Len Brown

ps. Sorry for sending this request at the tails of the merge window -- I'll try to be earlier next time.

Christ, not only is it after I really wanted to do -rc1 (held up by the tty locking problems), but it doesn't even compile.

Find the bug (the compiler certainly did):

static inline int acpi_pm_device_sleep_state(struct device *d, int *p, int m)

{
        if (p)
                *p = ACPI_STATE_D0;
        return (m >= ACPI_STATE_D0 && <= ACPI_STATE_D3) ? m : ACPI_STATE_D0;
}

and no, it wasn't a merge error. That's what it looks like in your tree.

Quoted 7 lines

The commit was done yesterday. It clearly had *zero* testing.

Looking more at the pull as a result of this, I notice that almost every commit in that tree is from yesterday, and thus cleary cannot have been in -next. I was going to just fix up the obvious one-liner fixup, but looking at the bigger picture I'm going to say "3.6 material" for this whole thing.

Well, perhaps you could take my branch at:

git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git pm-acpi

which was included into the Len's pull, for 3.5?

It was ready a few days ago, and has been present in linux-next even longer and contains fixes for real bugs. I didn't push it myself, because it generally is ACPI material, but since you're not going to take the Len's tree now, can you please consider taking that branch at least?

Rafael

#4 lore raw
In reply to Len Brown

Hi, Len,

Quoted 7 lines · Len Brown

Amit Daniel Kachhap (5):
thermal: add generic cpufreq cooling implementation
hwmon: exynos4: move thermal sensor driver to driver/thermal directory
thermal: exynos5: add exynos5 thermal sensor driver support
thermal: exynos: register the tmu sensor with the kernel thermal layer
ARM: exynos: add thermal sensor driver platform data support

please drop this patch set for now.
I'm cooking up a couple of patches, most of which are making the generic thermal layer more friendly to this patch set. So this patch set should rather be re-based on the upcoming changes.

Sorry that I did not let you know earlier.

-rui

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html