Rafael J. Wysocki | 21 Nov 15:51 2014

[GIT PULL] ACPI power management fix for 3.18-rc6

Hi Linus,

Please pull from

 git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
 pm+acpi-3.18-rc6

to receive an ACPI power management fix for v3.18-rc6 as
commit 78579b7c7eb45f0e7ec5e9437087ed21749f9a9c

 ACPI / PM: Ignore wakeup setting if the ACPI companion can't wake up

on top of commit fc14f9c1272f62c3e8d01300f52467c0d9af50f9

 Linux 3.18-rc5

This is just a one-liner fixing a regression introduced in 3.13 that
broke system suspend on some Chromebooks.

On those machines there are ACPI device objects for some I2C devices
that can wake up the system from sleep states, but that is done via
a platform-specific mechanism and the ACPI objects don't contain any
wakeup-related information.  When we started to use ACPI power
management with those devices (which happened during the 3.13 cycle),
their configuration confused the ACPI PM layer that returned error
codes from suspend callbacks for them causing system suspend to fail.

However, the ACPI PM layer can safely ignore the wakeup setting from
a device driver if the ACPI object corresponding to the device in
question doesn't contain wakeup information in which case the driver
(Continue reading)

Daniel Lezcano | 21 Nov 10:29 2014

[PATCH 1/2] cpuidle: acpi: Remove TIME_INVALID flag from acpi

The commit 8e92b6605d introduced the TIME_VALID flag for the C1 state
if this one is a mwait state assuming the interrupt will be enabled
before reading the end time of the idle state.

The changelog of this commit mention a potential problem with the menu
governor but not a real observation and I assume it described an old
code as the commit is from 2008.

I have been digging through the code and I didn't find any place where the
interrupts are enabled before reading the time. Moreover with the changes
in the meantime, we moved the time measurements in the cpuidle core as well
as the interrupts enabling making sure the time is measured before the
interrupt are enabled again in a single place.

Remove this test as the time measurement is always valid for this
state.

Signed-off-by: Daniel Lezcano <daniel.lezcano <at> linaro.org>
---
 drivers/acpi/processor_idle.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 380b4b4..7afba40 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
 <at>  <at>  -985,8 +985,6  <at>  <at>  static int acpi_processor_setup_cpuidle_states(struct acpi_processor *pr)
 		state->flags = 0;
 		switch (cx->type) {
 			case ACPI_STATE_C1:
(Continue reading)

Tang Yuantian | 21 Nov 10:18 2014

[PATCH v3 1/2] cpufreq: qoriq: Make the driver usable on all QorIQ platforms

Freescale introduced new ARM core-based SoCs which support dynamic
frequency switch feature. DFS on new SoCs are compatible with current
PowerPC CoreNet platforms. In order to support those new platforms,
this driver needs to be updated. The main changes include:

1. Changed the names of functions in driver.
2. Added two new functions get_cpu_physical_id() and get_bus_freq().
3. Used a new way to get the CPU mask which share clock wire.

Signed-off-by: Tang Yuantian <Yuantian.Tang <at> freescale.com>
---
v3:
	- put the menu entries into Kconfig
v2:
	- split the name change into a separete patch
	- use policy->driver_data instead of per_cpu variable

 drivers/cpufreq/Kconfig               |   8 ++
 drivers/cpufreq/Kconfig.powerpc       |   9 --
 drivers/cpufreq/ppc-corenet-cpufreq.c | 160 +++++++++++++++++++++-------------
 3 files changed, 107 insertions(+), 70 deletions(-)

diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
index 29b2ef5..fe0aab8 100644
--- a/drivers/cpufreq/Kconfig
+++ b/drivers/cpufreq/Kconfig
 <at>  <at>  -292,5 +292,13  <at>  <at>  config SH_CPU_FREQ
 	  If unsure, say N.
 endif

(Continue reading)

Tang Yuantian | 21 Nov 08:28 2014

[PATCH v2 1/2] cpufreq: qoriq: Make the driver usable on all QorIQ platforms

Freescale introduced new ARM core-based SoCs which support dynamic
frequency switch feature. DFS on new SoCs are compatible with current
PowerPC CoreNet platforms. In order to support those new platforms,
this driver needs to be updated. The main changes include:

1. Changed the names of functions in driver.
2. Added two new functions get_cpu_physical_id() and get_bus_freq().
3. Used a new way to get the CPU mask which share clock wire.

Signed-off-by: Tang Yuantian <Yuantian.Tang <at> freescale.com>
---
v2:
	- split the name change into a separete patch
	- use policy->driver_data instead of per_cpu variable

 drivers/cpufreq/Kconfig.arm           |   8 ++
 drivers/cpufreq/Kconfig.powerpc       |  11 ++-
 drivers/cpufreq/ppc-corenet-cpufreq.c | 160 +++++++++++++++++++++-------------
 3 files changed, 112 insertions(+), 67 deletions(-)

diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
index 83a75dc..1925ae94 100644
--- a/drivers/cpufreq/Kconfig.arm
+++ b/drivers/cpufreq/Kconfig.arm
 <at>  <at>  -247,3 +247,11  <at>  <at>  config ARM_TEGRA_CPUFREQ
 	default y
 	help
 	  This adds the CPUFreq driver support for TEGRA SOCs.
+
+config QORIQ_CPUFREQ
(Continue reading)

Viresh Kumar | 21 Nov 04:48 2014

Re: Question about FIX ME in cpufreq-dt.c

On 20 November 2014 22:58, nick <xerofoify <at> gmail.com> wrote:
> Greetings Rafael and the other maintainers,

Hi.

> I am curious about the FIX ME in cpufreq-dt.c about not using a for loop or running this part of the code on all
> CPUs.

In case this isn't enough then the loop should be run for any one CPU
from each cluster.
That will guarantee that we have completed regulator/clk
initialization for all the clusters..
But checking for all CPUs might be fine as well..

> If not can I remove the FIX ME or if it's valid can one of the maintainers send me so advice on to fix it
> as I will write a patch if need be to fix it.

The deal is that we aren't yet sure if we are really required to check
this for all CPUs.
So, we are waiting for the first platform to break and can be fixed
then. So, just leave it
as is for now :)

Thanks for caring for it :)
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

(Continue reading)

Stefan Wahren | 20 Nov 21:14 2014

[PATCH RFC 0/3] power: mxs_power: add driver for mxs power subsystem

This patch series adds support for Freescale i.MX23, i.xM28 power subsystem.

The idea for this driver was born in the discussion with Mark Rutland
about the mxs-regulator driver [1].

The main use is to trigger driver probing of the underlying DT child nodes
like on-chip regulators. But it's also the first step for cpufreq-dt support.

[1] - https://lkml.org/lkml/2014/9/29/283

Stefan Wahren (3):
  DT: add binding for mxs power subsystem
  power: mxs_power: add driver for mxs power subsystem
  ARM: dts: enable power subsystem for i.MX28

 .../devicetree/bindings/power/mxs_power.txt        |   23 ++
 arch/arm/boot/dts/imx28.dtsi                       |    6 +-
 drivers/power/Kconfig                              |    8 +
 drivers/power/Makefile                             |    1 +
 drivers/power/mxs_power.c                          |  226 ++++++++++++++++++++
 5 files changed, 263 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/power/mxs_power.txt
 create mode 100644 drivers/power/mxs_power.c

--
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo <at> vger.kernel.org
(Continue reading)

Florian Fainelli | 20 Nov 17:32 2014
Picon

[PATCH v2] thermal: provide an UAPI header file

include/linux/thermal.h contains definitions for the Thermal generic
netlink family, but none of the valuable information relevant to
user-space such as the Genl family name, multicast group, version or
command set and data types is exported to user-space.

Export all the relevant generic netlink information to user-space to
make this genl family usable by user-space, and while at it, export
THERMAL_NAME_LENGTH since it limits name length for thermal_hwmon
devices.

Kbuild and MAINTAINERS are also updated accordingly to reflect this new
file: include/uapi/linux/thermal.h.

Signed-off-by: Florian Fainelli <f.fainelli <at> gmail.com>
---
Changes in v2:
- rebase against Eduardo's thermal/next tree

 MAINTAINERS                  |  1 +
 include/linux/thermal.h      | 31 +------------------------------
 include/uapi/linux/Kbuild    |  1 +
 include/uapi/linux/thermal.h | 35 +++++++++++++++++++++++++++++++++++
 4 files changed, 38 insertions(+), 30 deletions(-)
 create mode 100644 include/uapi/linux/thermal.h

diff --git a/MAINTAINERS b/MAINTAINERS
index c444907ccd69..790752a4fad2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
 <at>  <at>  -9294,6 +9294,7  <at>  <at>  Q:	https://patchwork.kernel.org/project/linux-pm/list/
(Continue reading)

Eduardo Valentin | 20 Nov 15:12 2014
Picon

[PATCHv5 0/1] of-thermal API change

I am proposing this change in the of-thermal API to sensors. The only
single change is how we represent the callbacks between sensor drivers
and of-thermal.

Essentially, instead of passing callbacks as parameters of the registration
function, now of-thermal users will pass an ops. It is a simple way of
growing the callback API smoothly.

There are already proposals to grow this API. Thus I would like to change
this before we start to introduce new callbacks here.

I changed the existing of-thermal users to adapt accordingly.

Let me know if you have objections.

BR,

Eduardo Valentin (1):
  thermal: of: improve of-thermal sensor registration API

 drivers/hwmon/lm75.c                               |  9 +++--
 drivers/hwmon/ntc_thermistor.c                     |  6 +++-
 drivers/hwmon/tmp102.c                             |  6 +++-
 drivers/thermal/of-thermal.c                       | 39 ++++++++++------------
 drivers/thermal/tegra_soctherm.c                   |  7 ++--
 drivers/thermal/ti-soc-thermal/ti-thermal-common.c |  8 +++--
 include/linux/thermal.h                            | 24 +++++++++----
 7 files changed, 62 insertions(+), 37 deletions(-)

--

-- 
(Continue reading)

Beomho Seo | 20 Nov 14:16 2014

[PATCH v6 0/4] mfd: rt5033: Add Richtek RT5033 drivers

 This patchset adds driver for Richtek rt5033 chip The chip contains
switching charge mode Li-Ion/Li-Polymer battery charger, fuelgauge, regulators.
This patchset provides common support for accessing the device.
This patchset have been tested base on exynos board.

Changes in v6
- Fix white space issue in mfd cell struct.

Changes in v5
- Change possible built as a module.
- Revise rt5033_dev mfd cell entry.
- Fix incorrect typo.
- Add module alias.

Changes in v4
- rt5033 regulator patch is applied by Mark Brown.

Changes in v3
- Correct sentence errors.
- Add author information the top of each drivers.
- Remove unnecessary pre-initialise, struct member(rt5033->i2c) and blink.
- Change some return check.
- Use bool and of_match_ptr().

Changes in v2:
- Remove volatile_reg callback. Because this driver not in use regmap cache.
- Remove unnecessary subnode of_compatible.
- Add definde for set high impedance mode of charger.
- Remove unnecessary device specific code.
- Fix wrong register name.
(Continue reading)

Florian Fainelli | 20 Nov 03:11 2014
Picon

[PATCH] thermal: provide an UAPI header file

include/linux/thermal.h contains definitions for the Thermal generic
netlink family, but none of the valuable information relevant to
user-space such as the Genl family name, multicast group, version or
command set and data types is exported to user-space.

Export all the relevant generic netlink information to user-space to
make this genl family usable by user-space, and while at it, export
THERMAL_NAME_LENGTH since it limits name length for thermal_hwmon
devices.

Kbuild and MAINTAINERS are also updated accordingly to reflect this new
file: include/uapi/linux/thermal.h.

Signed-off-by: Florian Fainelli <f.fainelli <at> gmail.com>
---
 MAINTAINERS                  |  1 +
 include/linux/thermal.h      | 31 +------------------------------
 include/uapi/linux/Kbuild    |  1 +
 include/uapi/linux/thermal.h | 35 +++++++++++++++++++++++++++++++++++
 4 files changed, 38 insertions(+), 30 deletions(-)
 create mode 100644 include/uapi/linux/thermal.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 3d7782b9f90d..462cfbe3c893 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
 <at>  <at>  -8036,6 +8036,7  <at>  <at>  Q:      https://patchwork.kernel.org/project/linux-pm/list/
 S:      Supported
 F:      drivers/thermal/
 F:      include/linux/thermal.h
(Continue reading)

Ashwin Chaugule | 19 Nov 21:36 2014

[PATCH v3 0/2] CPPC as a PID backend

This patchset introduces CPPC(Collaborative Processor Performance Control) as a backend
to the PID governor. The PID governor from intel_pstate.c maps cleanly onto some CPPC
interfaces.
e.g. The CPU performance requests are made on a continuous scale as against discrete pstate
levels. The CPU performance feedback over an interval is gauged using platform specific
counters which are also described by CPPC.

Although CPPC describes several other registers to provide more hints to the platform,
Linux as of today does not have the infrastructure to make use of those registers.
Some of the CPPC specific information could be made available from the scheduler as
part of the CPUfreq and Scheduler intergration work. Until then PID can be used as the
front end for CPPC.

This implementation was tested using a Thinkpad X240 Laptop which enumerates CPPC and PCC
tables in its ACPI firmware.

This patchset builds on top of the PCC driver which is being reviewed separately[3].

Changes since V2:
- Select driver if !X86, since intel_pstate will use HWP extensions instead.
- Added more comments.
- Added Freq domain awareness and PSD parsing.

Changes since V1:
- Create a new driver based on Dirks suggestion.
- Fold in CPPC backend hooks into main driver.

Changes since V0: [1]
- Split intel_pstate.c into a generic PID governor and platform specific backend.
- Add CPPC accessors as PID backend.
(Continue reading)


Gmane