Viresh Kumar | 2 Sep 05:41 2014

[PATCH 1/2] cpufreq: ppc-corenet: remove duplicate update of cpu_data

'cpu_data' is updated for policy->cpu first and then for all CPUs in
policy->cpus. policy->cpus is guaranteed to contain policy->cpu as well and so
the first write to 'cpu_data' for policy->cpu is redundant. Remove it.

Signed-off-by: Viresh Kumar <viresh.kumar <at>>
Hi Yuantian,

I was looking into this driver due to issues reported by Hongtao (cc'd) and
found that we can live without some code. These aren't fixing any bugs and are
just cleanups.

I didn't had a compiler for this and so this isn't even compiled. It would be
great if you can please review/test these patches.

 drivers/cpufreq/ppc-corenet-cpufreq.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/cpufreq/ppc-corenet-cpufreq.c b/drivers/cpufreq/ppc-corenet-cpufreq.c
index 3607070..bee5df7 100644
--- a/drivers/cpufreq/ppc-corenet-cpufreq.c
+++ b/drivers/cpufreq/ppc-corenet-cpufreq.c
 <at>  <at>  -199,7 +199,6  <at>  <at>  static int corenet_cpufreq_cpu_init(struct cpufreq_policy *policy)

 	data->table = table;
-	per_cpu(cpu_data, cpu) = data;

 	/* update ->cpus if we have cluster, no harm if not */
 	cpumask_copy(policy->cpus, per_cpu(cpu_mask, cpu));
(Continue reading)

Rafael J. Wysocki | 2 Sep 01:37 2014

[PATCH] PM / sleep: Fix test_suspend= command line option

From: Rafael J. Wysocki <rafael.j.wysocki <at>>

After commit d431cbc53cb7 (PM / sleep: Simplify sleep states sysfs
interface code) the pm_states[] array is not populated initially,
which causes setup_test_suspend() to always fail and the suspend
testing during boot doesn't work any more.

Fix the problem by using pm_labels[] instead of pm_states[] in
setup_test_suspend() and storing a pointer to the label of the
sleep state to test rather than the number representing it,
because the connection between the state numbers and labels is
only established by suspend_set_ops().

Fixes: d431cbc53cb7 (PM / sleep: Simplify sleep states sysfs interface code)
Reported-by: Srinivas Pandruvada <srinivas.pandruvada <at>>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki <at>>
 kernel/power/power.h        |    1 +
 kernel/power/suspend.c      |    2 +-
 kernel/power/suspend_test.c |   29 +++++++++++++++++------------
 3 files changed, 19 insertions(+), 13 deletions(-)

Index: linux-pm/kernel/power/power.h
--- linux-pm.orig/kernel/power/power.h
+++ linux-pm/kernel/power/power.h
 <at>  <at>  -179,6 +179,7  <at>  <at>  extern void swsusp_show_speed(struct tim

 /* kernel/power/suspend.c */
(Continue reading)

Jaeger, Klaus A (JAEGER | 30 Aug 17:36 2014

Urgently pls contact me via reneecane <at>

Good day, my name is Renee Cane (Mrs.), am in urgent need of
your assistance,its vital and important please contact me ASAP.
reneecane <at>
Anna Cane (Mrs.)

CONFIDENTIALITY NOTICE: The materials in this electronic mail transmission (including all
attachments) are private and confidential and are the property of the sender. The information contained
in the material is privileged and is intended only for the use of the named addressee(s). If you are not the
intended addressee, be advised that any unauthorized disclosure, copying, distribution or the taking
of any action in reliance on the contents of this material is strictly prohibited. If you have received
this e-mail in error, please immediately notify the sender by replying to the e-mail, and then destroy it
immediately. Thank you.
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo <at>
More majordomo info at

Geert Uytterhoeven | 29 Aug 15:50 2014

[PATCH 00/11] ARM: shmobile: r8a7740/armadillo legacy prototype pm domain support

	Hi Simon, Magnus,

This series contains prototype patches to improve pm domain support for
r8a7740/armadillo800eva, mimicking (parts of) the existing pm domain support
for sh7372/mackerel.

More specifically, they
  - Add missing devices to existing pm domains,
  - Add missing pm domains, hooking up devices and subdomains,

There are a few things commented out, and a few rough edges or missing things
(cfr. the patches marked with "[WIP]", and the "FIXME" sections therein),
but the result does boot, and s2ram works.

Please note that DT/multi-platform support will be added later.

This series depends on my series "[PATCH 0/5] ARM: shmobile: pm domain
improvements and cleanups".

Thanks for your comments and suggestions!

Geert Uytterhoeven (11):
  ARM: shmobile: r8a7740: Add missing A3SP pm domain devices
  ARM: shmobile: r8a7740: Add missing A4S pm domain devices
  [WIP] ARM: shmobile: armadillo800eva legacy: Add missing A3SP pm
    domain devices
  ARM: shmobile: armadillo800eva legacy: Add missing A4S pm domain
  ARM: shmobile: r8a7740: Add A3RV pm domain support
  ARM: shmobile: r8a7740: Add A3SG pm domain support
(Continue reading)

Geert Uytterhoeven | 29 Aug 15:13 2014

[PATCH] PM / Domains: Make const

Signed-off-by: Geert Uytterhoeven <geert+renesas <at>>
 include/linux/pm_domain.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
index 7c1d252b20c0..ebc4c76ffb73 100644
--- a/include/linux/pm_domain.h
+++ b/include/linux/pm_domain.h
 <at>  <at>  -60,7 +60,7  <at>  <at>  struct generic_pm_domain {
 	struct mutex lock;
 	struct dev_power_governor *gov;
 	struct work_struct power_off_work;
-	char *name;
+	const char *name;
 	unsigned int in_progress;	/* Number of devices being suspended now */
 	atomic_t sd_count;	/* Number of subdomains with power "on" */
 	enum gpd_status status;	/* Current state of the domain */


To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo <at>
More majordomo info at

Jingoo Han | 29 Aug 05:45 2014

[PATCH] charger-manager: Remove casting the return value which is a void pointer

Casting the return value which is a void pointer is redundant.
The conversion from void pointer to any other pointer type is
guaranteed by the C programming language.

Signed-off-by: Jingoo Han <jg1.han <at>>
 drivers/power/charger-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/power/charger-manager.c b/drivers/power/charger-manager.c
index 9e4dab46eefd..1b87702c1753 100644
--- a/drivers/power/charger-manager.c
+++ b/drivers/power/charger-manager.c
 <at>  <at>  -1656,7 +1656,7  <at>  <at>  static inline struct charger_desc *cm_get_drv_data(struct platform_device *pdev)
 	if (pdev->dev.of_node)
 		return of_cm_parse_desc(&pdev->dev);
-	return (struct charger_desc *)dev_get_platdata(&pdev->dev);
+	return dev_get_platdata(&pdev->dev);

 static int charger_manager_probe(struct platform_device *pdev)


To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo <at>
More majordomo info at

(Continue reading)


cpufreq_governor_lock contention

While running heavy storage IO to test scsi-mq in 3-17.0-rc1,
cpufreq_governor_lock shows up as the third highest contended lock 
- about 21 million contentions in a 12 hour test run.

It looks like that might be from a patch in January that added
the calls in gov_queue_work:

Could this be modified to run lockless?

From /proc/lock_stat (very wide lines), the top 4 were:
                              class name    con-bounces    contentions   waittime-min   waittime-max waittime-total   waittime-avg   
acq-bounces   acquisitions   holdtime-min   holdtime-max holdtime-total   holdtime-avg

                   async_umap_flush_lock:    5328638171     5328649297           0.08         524.83 153171738163.9         148.18    14311039119   
15023422962           0.09        1405.42 18458469940.63           8.63
                   async_umap_flush_lock     5328649297          [<ffffffff814ed355>] add_unmap+0x35/0xf0
                   async_umap_flush_lock             10          [<ffffffff814ed42a>] flush_unmaps_timeout+0x1a/0x40
                   async_umap_flush_lock     5328649287          [<ffffffff814ed355>] add_unmap+0x35/0xf0                                     261           4012                                     72539.44


                  &(&__ctx->lock)->rlock:     147426205      148262954           0.09        1119.96  2169366898.55          14.63     1029612354   
30151514252           0.07        1688.77 39760142571.97         458.37
(Continue reading)

Shilpasri G Bhat | 28 Aug 16:06 2014

[PATCH v2] cpufreq: powernv: Set the cpus to nominal frequency during reboot/kexec

This patch ensures the cpus to kexec/reboot at nominal frequency.
Nominal frequency is the highest cpu frequency on PowerPC at
which the cores can run without getting throttled.

If the host kernel had set the cpus to a low pstate and then it
kexecs/reboots to a cpufreq disabled kernel it would cause the target
kernel to perform poorly. It will also increase the boot up time of
the target kernel. So set the cpus to high pstate, in this case to
nominal frequency before rebooting to avoid such scenarios.

The reboot notifier will set the cpus to nominal frequncy.

Changes v1->v2:
Invoke .target() driver callback to set the cpus to nominal frequency
in reboot notifier, instead of calling cpufreq_suspend() as suggested
by Viresh Kumar.
Modified the commit message.

Signed-off-by: Shilpasri G Bhat <shilpa.bhat <at>>
Reviewed-by: Preeti U Murthy <preeti <at>>
 drivers/cpufreq/powernv-cpufreq.c | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c
index 379c083..ba27c49 100644
--- a/drivers/cpufreq/powernv-cpufreq.c
+++ b/drivers/cpufreq/powernv-cpufreq.c
 <at>  <at>  -26,6 +26,7  <at>  <at> 
 #include <linux/cpufreq.h>
(Continue reading)

Adam Thomson | 28 Aug 12:48 2014

[PATCH v2 0/7] Add initial support for DA9150 Charger & Fuel-Gauge IC

This patch set adds initial support for the Dialog DA9150 Integrated Charger &
Fuel-Gauge IC. The device also provides GPIO and GPADC functionality.

In this patch set the following is provided:
 - MFD Core support and DT bindings documentation.
 - IIO GPADC support and DT bindings documentation.
 - Power Supply Charger support and DT bindings documentation.
 - Update to MAINTAINERS file to add DA9150 files to Dialog support list.

To keep patch submission from being too large, support for GPIO and Fuel-Gauge
will come after initial support patches are accepted.

This patch set is baselined against the v3.17-rc2 kernel version.

Changes in v2:
 - Drop devicetree prefix patch as this is being dealt with separately.
 - IIO framework fix patch removed from set, has already been accepted/merged.
 - Use __ instead of _ for protecting #ifdefs in headers.
 - Moved private data & definitions to source files and remove unwanted headers.
 - Bug fix to EXPORT_SYMBOL for common functions in MFD core used by
   sub-devices, so they can be correctly built as kernel modules.
 - Removed unnecessary channels from GPADC IIO driver to simplify code.
 - For GPADC IIO driver, VBAT reading now provides scale and offset values as it
   is a linear scale.
 - GPADC read code refactored to make it tidier.
 - Remove use of flag to indicate GPADC availability. IIO framework should
   indicate need to defer if it's not yet instantiated.
 - Unwanted comments removed.
 - Removed conditional shutdown of device (Charger/MFD) as this is not needed.
 - Removed AC type supply from charger as device cannot differentiate. Now just
(Continue reading)

Geert Uytterhoeven | 28 Aug 10:12 2014

[PATCH v2] thermal: rcar: Add binding docs for new R-Car Gen2 SoCs

  - r8a7792 (R-Car V2H)
  - r8a7793 (R-Car M2-N)
  - r8a7794 (R-Car E2)

r8a7791 is now called "R-Car M2-W".

Signed-off-by: Geert Uytterhoeven <geert+renesas <at>>
v2: Drop RFC
 Documentation/devicetree/bindings/thermal/rcar-thermal.txt | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/thermal/rcar-thermal.txt b/Documentation/devicetree/bindings/thermal/rcar-thermal.txt
index 0ef00be44b01..43404b197933 100644
--- a/Documentation/devicetree/bindings/thermal/rcar-thermal.txt
+++ b/Documentation/devicetree/bindings/thermal/rcar-thermal.txt
 <at>  <at>  -7,7 +7,10  <at>  <at>  Required properties:
 			    - "renesas,thermal-r8a73a4" (R-Mobile AP6)
 			    - "renesas,thermal-r8a7779" (R-Car H1)
 			    - "renesas,thermal-r8a7790" (R-Car H2)
-			    - "renesas,thermal-r8a7791" (R-Car M2)
+			    - "renesas,thermal-r8a7791" (R-Car M2-W)
+			    - "renesas,thermal-r8a7792" (R-Car V2H)
+			    - "renesas,thermal-r8a7793" (R-Car M2-N)
+			    - "renesas,thermal-r8a7794" (R-Car E2)
 - reg			: Address range of the thermal registers.
 			  The 1st reg will be recognized as common register
 			  if it has "interrupts".

(Continue reading)

Viresh Kumar | 28 Aug 07:52 2014

[PATCH V3 00/10] CPUFreq: cpufreq-cpu0 updates for 3.{17|18 ?}

Hi Rafael,

I am sending this again, but without the controversial part this time. I have
dropped last two patches which were about detecting clock sharing among CPUs.
Would fix up that later once other Maintainers get in sync about the bindings.

So, what's left here ? These are mostly updates/reorders which can be applied
the patches which I have dropped now. These are all well reviewed and tested
by others. Getting them in shouldn't break anything, I believe. Its better
people start using the updates we already have, otherwise they will keep on
sending fixes they get (The way Pramod Gurav tried it today).

Can we please get them in 3.17 if its still allowed? Or -next otherwise.


Rebased over: 3.17-rc2

git:// cpufreq/cpu0-updates-v3

V2->V3: Dropped few patches, nothing much.


Viresh Kumar (10):
  cpufreq: Add support for per-policy driver data
  cpufreq: cpu0: Update Module Author
  cpufreq: cpu0: don't validate clock on clk_put()
(Continue reading)