Kever Yang | 31 Oct 10:29 2014

[PATCH] clk: rockchip: change hierarchy for some clocks

This patch change the hierarchy for some clocks, to met the following
bus hierarchy:
hclk_usb_peri is bus clock for
|- hclk_otg0,
|- hclk_host0,
|- hclk_host1,
|- hclk_hsic

hclk_emem is bus clock for
|- hclk_nandc0
|- hclk_nandc1

hclk_mem is bus clock for
|- hclk_sdmmc
|- hclk_sdio0
|- hclk_sdio1
|- hclk_emmc

Signed-off-by: Kever Yang <kever.yang <at>>

 drivers/clk/rockchip/clk-rk3288.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/clk/rockchip/clk-rk3288.c b/drivers/clk/rockchip/clk-rk3288.c
index 7a0741d..e1106ad 100644
--- a/drivers/clk/rockchip/clk-rk3288.c
+++ b/drivers/clk/rockchip/clk-rk3288.c
 <at>  <at>  -652,21 +652,21  <at>  <at>  static struct rockchip_clk_branch rk3288_clk_branches[] __initdata = {

(Continue reading)

Aya Mahfouz | 31 Oct 10:18 2014

[PATCH v2] drivers: s390: net: ctcm: migrate variables to handle y2038 problem

This patch is concerned with migrating the time variables for the s390
network driver. The changes handle the y2038 problem where timespec will
overflow in the year 2038. timespec was replaced by unsigned long and
all time variables get their values from the jiffies global variable.
This was done for the sake of speed and efficiency.

Signed-off-by: Aya Mahfouz <mahfouz.saif.elyazal <at>>
v1: Arnd has advised me to provide you with options for time
    calculation. The first option: "accuracy" is used in this
    patch. The second option: "speed" can be done through

v2: Moved on to the speed option. Let me know if I explicitly
    need to include the jiffies header. The module compiles with
    no problems on my side.

 drivers/s390/net/ctcm_fsms.c | 18 +++++++-----------
 drivers/s390/net/ctcm_main.h |  2 +-
 2 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/drivers/s390/net/ctcm_fsms.c b/drivers/s390/net/ctcm_fsms.c
index fb92524..34b9820 100644
--- a/drivers/s390/net/ctcm_fsms.c
+++ b/drivers/s390/net/ctcm_fsms.c
 <at>  <at>  -251,13 +251,11  <at>  <at>  static void chx_txdone(fsm_instance *fi, int event, void *arg)
 	int first = 1;
 	int i;
 	unsigned long duration;
-	struct timespec done_stamp = current_kernel_time(); /* xtime */
(Continue reading)

Vincent Guittot | 31 Oct 09:47 2014

[PATCH v8 00/10] sched: consolidation of CPU capacity and usage

This patchset consolidates several changes in the capacity and the usage
tracking of the CPU. It provides a frequency invariant metric of the usage of
CPUs and generally improves the accuracy of load/usage tracking in the
scheduler. The frequency invariant metric is the foundation required for the
consolidation of cpufreq and implementation of a fully invariant load tracking.
These are currently WIP and require several changes to the load balancer
(including how it will use and interprets load and capacity metrics) and
extensive validation. The frequency invariance is done with
arch_scale_freq_capacity and this patchset doesn't provide the backends of
the function which are architecture dependent.

As discussed at LPC14, Morten and I have consolidated our changes into a single
patchset to make it easier to review and merge.

During load balance, the scheduler evaluates the number of tasks that a group
of CPUs can handle. The current method assumes that tasks have a fix load of
SCHED_LOAD_SCALE and CPUs have a default capacity of SCHED_CAPACITY_SCALE.
This assumption generates wrong decision by creating ghost cores or by
removing real ones when the original capacity of CPUs is different from the
default SCHED_CAPACITY_SCALE. With this patch set, we don't try anymore to
evaluate the number of available cores based on the group_capacity but instead
we evaluate the usage of a group and compare it with its capacity.

This patchset mainly replaces the old capacity_factor method by a new one and
keeps the general policy almost unchanged. These new metrics will be also used
in later patches.

The CPU usage is based on a running time tracking version of the current
implementation of the load average tracking. I also have a version that is
based on the new implementation proposal [1] but I haven't provide the patches
(Continue reading)

Paul Bolle | 31 Oct 09:40 2014


Your commit aadede6e9f4c ("iwlwifi: mvm: port to devcoredump framework")
landed in today's linux-next (next-20141031). It adds a select statement
for BACKPORT_WANT_DEV_COREDUMP. There's no Kconfig symbol 
BACKPORT_WANT_DEV_COREDUMP so this select is currently a nop. (In I proposed a patch that emits a
warning in cases like this.)

Did you perhaps meant to select WANT_DEV_COREDUMP? Or is the Kconfig
symbol BACKPORT_WANT_DEV_COREDUMP queued somewhere?

Paul Bolle

Kishon Vijay Abraham I | 31 Oct 09:34 2014

[PATCH v2] phy: phy-core: use the np present in of_phandle_args to get the PHY

Instead of using the node pointer of the PHY provider and then scanning its
child nodes to get a reference to the PHY, directly use the node pointer
present in of_phandle_args to get a reference to the PHY.

Signed-off-by: Kishon Vijay Abraham I <kishon <at>>
I sent the wrong version of the patch before. Now I'm sending the proper one
without errors and warnings.
 drivers/phy/phy-core.c |   10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c
index ff5eec5..1606ce9 100644
--- a/drivers/phy/phy-core.c
+++ b/drivers/phy/phy-core.c
 <at>  <at>  -414,21 +414,13  <at>  <at>  struct phy *of_phy_simple_xlate(struct device *dev, struct of_phandle_args
 	struct phy *phy;
 	struct class_dev_iter iter;
-	struct device_node *node = dev->of_node;
-	struct device_node *child;

 	class_dev_iter_init(&iter, phy_class, NULL, NULL);
 	while ((dev = class_dev_iter_next(&iter))) {
 		phy = to_phy(dev);
-		if (node != phy->dev.of_node) {
-			for_each_child_of_node(node, child) {
-				if (child == phy->dev.of_node)
-					goto phy_found;
-			}
(Continue reading)

suravee.suthikulpanit | 31 Oct 09:26 2014

[V9 PATCH 0/2] irqchip: gic: Introduce ARM GICv2m MSI(-X) support

From: Suravee Suthikulpanit <Suravee.Suthikulpanit <at>>

This patch set introduces support for MSI(-X) in GICv2m specification,
which is implemented in some variation of GIC400.

This patch set is rebased from: 
    Git tree   : git://
    Git branch : domain_hierarchy
    Last commit: 97d4ea1f0922fb47dd1b09cd2694b7fa5b519db9

Changes in V9 includes:
  * GICv2m is now adopting the new domain hierarchy, which requires
    GICv2m to implements its own irq_chip and irq_domain, as a child of GIC. 
    GICv2m domain is intialized using the SPI base and the number of SPIs from
    V2M_MSI_TYPER registers (or the override value from DT).

  * Simplified GIC logic that was used to handle MSI stuff. Now the v2m
    stuff is cleanly separated.


Suravee Suthikulpanit (2):
  genirq: Add irq_chip_set_type_parent function
  irqchip: gicv2m: Add supports for ARM GICv2m MSI(-X)

 Documentation/devicetree/bindings/arm/gic.txt |  53 ++++
 arch/arm64/Kconfig                            |   1 +
 drivers/irqchip/Kconfig                       |   5 +
(Continue reading)

Jan Kara | 30 Oct 19:20 2014

[GIT PULL] Quota and ext3 fixes for 3.18-rc3

  Hello Linus,

  could you please pull from

git:// for_linus

  to get the following minor ext3 & quota fixes.

Top of the tree is 3c9cafe05ff0. The full shortlog is:

Jan Kara (2):
      ext3: Don't check quota format when there are no quota files
      quota: Properly return errors from dquot_writeback_dquots()

Sasha Levin (1):
      fs, jbd: use a more generic hash function

The diffstat is

 fs/ext3/super.c  | 7 -------
 fs/jbd/revoke.c  | 7 ++-----
 fs/quota/dquot.c | 2 +-
 3 files changed, 3 insertions(+), 13 deletions(-)



Jan Kara <jack <at>>
(Continue reading)

Frans Klaver | 31 Oct 08:54 2014

[bisected] nouveau dual monitor setup broken

Hi there,

My dual monitor setup on the Dell Precision M4500 is broken by commit
1dce6264045cd23e9c07574ed0bb31c7dce9354f ("drm/nv50/kms: Set VBLANK time
in modeset script"). I am no longer able to have more than one monitor

Full dmesg can be found at, but I've
included an excerpt as well.

[    0.000000] Linux version 3.18.0-rc2-00106-ga7ca10f (frans <at> bwaark) (gcc version 4.8.2 (Gentoo 4.8.2
p1.3r1, pie-0.5.8r1) ) #27 SMP Fri Oct 31 08:30:15 CET 2014
[    1.920869] fb: switching to nouveaufb from VESA VGA
[    1.953160] Console: switching to colour dummy device 80x25
[    1.965235] nouveau  [  DEVICE][0000:01:00.0] BOOT0  : 0x0a5e00a2
[    1.965247] nouveau  [  DEVICE][0000:01:00.0] Chipset: GT216 (NVA5)
[    1.965255] nouveau  [  DEVICE][0000:01:00.0] Family : NV50
[    1.965303] nouveau  [   VBIOS][0000:01:00.0] checking PRAMIN for image...
[    2.017175] tsc: Refined TSC clocksource calibration: 1595.999 MHz
[    2.060360] nouveau  [   VBIOS][0000:01:00.0] ... appears to be valid
[    2.060369] nouveau  [   VBIOS][0000:01:00.0] using image from PRAMIN
[    2.060704] nouveau  [   VBIOS][0000:01:00.0] BIT signature found
[    2.060713] nouveau  [   VBIOS][0000:01:00.0] version 70.16.5c.01.06
[    2.075227] ACPI: Battery Slot [BAT1] (battery absent)
[    2.075329] nouveau 0000:01:00.0: irq 29 for MSI/MSI-X
[    2.075342] nouveau  [     PMC][0000:01:00.0] MSI interrupts enabled
[    2.075376] nouveau  [     PFB][0000:01:00.0] RAM type: DDR3
[    2.075380] nouveau  [     PFB][0000:01:00.0] RAM size: 1024 MiB
[    2.075384] nouveau  [     PFB][0000:01:00.0]    ZCOMP: 1920 tags
(Continue reading)

Vignesh R | 31 Oct 08:46 2014

[PATCH 0/3] Add support for ADC on am437x-gp and am43x-epos-evm

This series of patches enable ADC on am437x-gp-evm and am43x-epos-evm.
The ADC clock hwmod data of am33xx has been moved to commom place so that
both am43xx and am33xx can reuse them.
tscadc DT node has been adided to am437x-gp and am43x-epos dt files.
With these patches, ADC functionalities are now available on am43xx.

Vignesh R (3):
  arm: mach-omap2: omap_hwmod_33xx_43xx_ipblock_data: Move
    am33xx_l4_hs_hwmod to ipblock_data
  arm: mach-omap2: omap_hwmod_43xx_data: add hwmod support for tscadc on
  arm: boot: dts: am4372: add tscadc DT entries for am437x-evm and

 arch/arm/boot/dts/am4372.dtsi                      | 20 ++++++
 arch/arm/boot/dts/am437x-gp-evm.dts                |  8 +++
 arch/arm/boot/dts/am43x-epos-evm.dts               |  8 +++
 .../mach-omap2/omap_hwmod_33xx_43xx_common_data.h  |  2 +
 .../mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c | 79 ++++++++++++++++++++++
 arch/arm/mach-omap2/omap_hwmod_33xx_data.c         | 64 ------------------
 arch/arm/mach-omap2/omap_hwmod_43xx_data.c         |  1 +
 7 files changed, 118 insertions(+), 64 deletions(-)



Yuyang Du | 31 Oct 00:32 2014

[PATCH 0/3 v6] sched: Rewrite per entity runnable load average tracking

Many thanks to PeterZ for his review, to Dietmar, and to Fengguang for 0Day and LKP.

v6 changes:

Based on v3.18-rc2.

- Unify decay_load 32 and 64 bits by mul_u64_u32_shr
- Add force option in update_tg_load_avg
- Read real-time cfs's load_avg for calc_tg_weight
- Have tg_load_avg_contrib ifdef CONFIG_FAIR_GROUP_SCHED
- Bug fix

v5 changes:

Thank Peter intensively for reviewing this patchset in detail and all his comments.
And Mike for general and cgroup pipe-test. Morten, Ben, and Vincent in the discussion.

- Remove dead task and task group load_avg
- Do not update trivial delta to task_group load_avg (threshold 1/64 old_contrib)
- mul_u64_u32_shr() is used in decay_load, so on 64bit, load_sum can afford
  about 4353082796 (=2^64/47742/88761) entities with the highest weight (=88761)
  always runnable, greater than previous theoretical maximum 132845
- Various code efficiency and style changes

We carried out some performance tests (thanks to Fengguang and his LKP). The results
are shown as follows. The patchset (including threepatches) is on top of mainline
v3.16-rc5. We may report more perf numbers later.

Overall, this rewrite has better performance, and reduced net overhead in load
average tracking, flat efficiency in multi-layer cgroup pipe-test.
(Continue reading)

Michael Ellerman | 31 Oct 07:45 2014

[PATCH 1/2] hwmon: (ibmpowernv) Quieten when probing finds no device

Because we build kernels with drivers built in for many platforms, it's
normal for the ibmpowernv driver to be loaded on systems that don't have
the appropriate hardware.

Currently the driver spams the log with:

  ibmpowernv ibmpowernv.0: Opal node 'sensors' not found
  ibmpowernv: Platfrom driver probe failed

But there is no error, this machine is not a powernv and doesn't have
the hardware. So change the sensors message to dev_dbg(), and only print
an error about the probe failing if it's not ENODEV.

Also fix the spelling of "Platfrom" and print the actual error value.

Signed-off-by: Michael Ellerman <mpe <at>>
 drivers/hwmon/ibmpowernv.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/hwmon/ibmpowernv.c b/drivers/hwmon/ibmpowernv.c
index d2bf2c97ae70..6a30eeea94be 100644
--- a/drivers/hwmon/ibmpowernv.c
+++ b/drivers/hwmon/ibmpowernv.c
 <at>  <at>  -181,7 +181,7  <at>  <at>  static int __init populate_attr_groups(struct platform_device *pdev)

 	opal = of_find_node_by_path("/ibm,opal/sensors");
 	if (!opal) {
-		dev_err(&pdev->dev, "Opal node 'sensors' not found\n");
+		dev_dbg(&pdev->dev, "Opal node 'sensors' not found\n");
(Continue reading)