All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Boyd <sboyd@codeaurora.org>
To: Russell King <rmk+kernel@arm.linux.org.uk>,
	alsa-devel@alsa-project.org,
	linux-arm-kernel@lists.infradead.org,
	linux-media@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-sh@vger.kernel.org
Subject: Re: [PATCH 05/14] clkdev: use clk_hw internally
Date: Mon, 06 Apr 2015 13:18:55 -0700	[thread overview]
Message-ID: <5522EA2F.1090003@codeaurora.org> (raw)
In-Reply-To: <E1Ye59E-0001BB-7z@rmk-PC.arm.linux.org.uk>

On 04/03/15 10:12, Russell King wrote:
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

Some commit text would be nice for us 5 years from now when we wonder
why this patch was applied.

I suspect the commit text would go like this:

clk_add_alias() calls clk_get() followed by clk_put() but in between
those two calls it saves away the struct clk pointer to a clk_lookup
structure. This leaves the 'clk' member of the clk_lookup pointing at
freed memory on configurations where CONFIG_COMMON_CLK=y. This is a
problem because clk_get_sys() will eventually try to dereference the
freed pointer by calling __clk_get_hw() on it. Fix this by saving away
the struct clk_hw pointer instead of the struct clk pointer so that when
we try to create a per-user struct clk in clk_get_sys() we don't
dereference a junk pointer.

Now the question is does any of this matter for the 4.0 release. From
what I can tell, the answer is no.

$ git grep 'clk_add_alias' v4.0-rc6
v4.0-rc6:arch/arm/mach-davinci/da850.c:         clk_add_alias("async", da850_cpufreq_device.name,
v4.0-rc6:arch/arm/mach-omap1/board-nokia770.c:  clk_add_alias("hwa_sys_ck", NULL, "bclk", NULL);
v4.0-rc6:arch/arm/mach-pxa/eseries.c:   clk_add_alias("CLK_CK48M", e740_t7l66xb_device.name,
v4.0-rc6:arch/arm/mach-pxa/eseries.c:   clk_add_alias("CLK_CK3P6MI", e750_tc6393xb_device.name,
v4.0-rc6:arch/arm/mach-pxa/eseries.c:   clk_add_alias("CLK_CK3P6MI", e800_tc6393xb_device.name,
v4.0-rc6:arch/arm/mach-pxa/lubbock.c:   clk_add_alias("SA1111_CLK", NULL, "GPIO11_CLK", NULL);
v4.0-rc6:arch/arm/mach-pxa/tosa.c:      clk_add_alias("CLK_CK3P6MI", tc6393xb_device.name, "GPIO11_CLK", NULL);
v4.0-rc6:arch/mips/alchemy/common/clock.c:                      clk_add_alias(t->alias, NULL, t->base, NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ref", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ref", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ref", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ref", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ref", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-tmu-sh3.0", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-tmu.0", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-tmu.1", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-tmu.2", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-mtu2", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-cmt-16.0", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-cmt-32.0", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("sci_ick", NULL, "peripheral_clk", NULL);

All of these architectures and platforms have CONFIG_COMMON_CLK=n, so
there doesn't seem to be any regression that these patches are fixing.
That isn't to say the patches are bad, just that they aren't urgent for
the upcoming release.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Boyd <sboyd@codeaurora.org>
To: Russell King <rmk+kernel@arm.linux.org.uk>,
	alsa-devel@alsa-project.org,
	linux-arm-kernel@lists.infradead.org,
	linux-media@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-sh@vger.kernel.org
Subject: Re: [PATCH 05/14] clkdev: use clk_hw internally
Date: Mon, 06 Apr 2015 20:18:55 +0000	[thread overview]
Message-ID: <5522EA2F.1090003@codeaurora.org> (raw)
In-Reply-To: <E1Ye59E-0001BB-7z@rmk-PC.arm.linux.org.uk>

On 04/03/15 10:12, Russell King wrote:
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

Some commit text would be nice for us 5 years from now when we wonder
why this patch was applied.

I suspect the commit text would go like this:

clk_add_alias() calls clk_get() followed by clk_put() but in between
those two calls it saves away the struct clk pointer to a clk_lookup
structure. This leaves the 'clk' member of the clk_lookup pointing at
freed memory on configurations where CONFIG_COMMON_CLK=y. This is a
problem because clk_get_sys() will eventually try to dereference the
freed pointer by calling __clk_get_hw() on it. Fix this by saving away
the struct clk_hw pointer instead of the struct clk pointer so that when
we try to create a per-user struct clk in clk_get_sys() we don't
dereference a junk pointer.

Now the question is does any of this matter for the 4.0 release. From
what I can tell, the answer is no.

$ git grep 'clk_add_alias' v4.0-rc6
v4.0-rc6:arch/arm/mach-davinci/da850.c:         clk_add_alias("async", da850_cpufreq_device.name,
v4.0-rc6:arch/arm/mach-omap1/board-nokia770.c:  clk_add_alias("hwa_sys_ck", NULL, "bclk", NULL);
v4.0-rc6:arch/arm/mach-pxa/eseries.c:   clk_add_alias("CLK_CK48M", e740_t7l66xb_device.name,
v4.0-rc6:arch/arm/mach-pxa/eseries.c:   clk_add_alias("CLK_CK3P6MI", e750_tc6393xb_device.name,
v4.0-rc6:arch/arm/mach-pxa/eseries.c:   clk_add_alias("CLK_CK3P6MI", e800_tc6393xb_device.name,
v4.0-rc6:arch/arm/mach-pxa/lubbock.c:   clk_add_alias("SA1111_CLK", NULL, "GPIO11_CLK", NULL);
v4.0-rc6:arch/arm/mach-pxa/tosa.c:      clk_add_alias("CLK_CK3P6MI", tc6393xb_device.name, "GPIO11_CLK", NULL);
v4.0-rc6:arch/mips/alchemy/common/clock.c:                      clk_add_alias(t->alias, NULL, t->base, NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ref", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ref", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ref", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ref", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ref", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-tmu-sh3.0", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-tmu.0", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-tmu.1", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-tmu.2", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-mtu2", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-cmt-16.0", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-cmt-32.0", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("sci_ick", NULL, "peripheral_clk", NULL);

All of these architectures and platforms have CONFIG_COMMON_CLK=n, so
there doesn't seem to be any regression that these patches are fixing.
That isn't to say the patches are bad, just that they aren't urgent for
the upcoming release.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project


WARNING: multiple messages have this Message-ID (diff)
From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 05/14] clkdev: use clk_hw internally
Date: Mon, 06 Apr 2015 13:18:55 -0700	[thread overview]
Message-ID: <5522EA2F.1090003@codeaurora.org> (raw)
In-Reply-To: <E1Ye59E-0001BB-7z@rmk-PC.arm.linux.org.uk>

On 04/03/15 10:12, Russell King wrote:
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

Some commit text would be nice for us 5 years from now when we wonder
why this patch was applied.

I suspect the commit text would go like this:

clk_add_alias() calls clk_get() followed by clk_put() but in between
those two calls it saves away the struct clk pointer to a clk_lookup
structure. This leaves the 'clk' member of the clk_lookup pointing at
freed memory on configurations where CONFIG_COMMON_CLK=y. This is a
problem because clk_get_sys() will eventually try to dereference the
freed pointer by calling __clk_get_hw() on it. Fix this by saving away
the struct clk_hw pointer instead of the struct clk pointer so that when
we try to create a per-user struct clk in clk_get_sys() we don't
dereference a junk pointer.

Now the question is does any of this matter for the 4.0 release. From
what I can tell, the answer is no.

$ git grep 'clk_add_alias' v4.0-rc6
v4.0-rc6:arch/arm/mach-davinci/da850.c:         clk_add_alias("async", da850_cpufreq_device.name,
v4.0-rc6:arch/arm/mach-omap1/board-nokia770.c:  clk_add_alias("hwa_sys_ck", NULL, "bclk", NULL);
v4.0-rc6:arch/arm/mach-pxa/eseries.c:   clk_add_alias("CLK_CK48M", e740_t7l66xb_device.name,
v4.0-rc6:arch/arm/mach-pxa/eseries.c:   clk_add_alias("CLK_CK3P6MI", e750_tc6393xb_device.name,
v4.0-rc6:arch/arm/mach-pxa/eseries.c:   clk_add_alias("CLK_CK3P6MI", e800_tc6393xb_device.name,
v4.0-rc6:arch/arm/mach-pxa/lubbock.c:   clk_add_alias("SA1111_CLK", NULL, "GPIO11_CLK", NULL);
v4.0-rc6:arch/arm/mach-pxa/tosa.c:      clk_add_alias("CLK_CK3P6MI", tc6393xb_device.name, "GPIO11_CLK", NULL);
v4.0-rc6:arch/mips/alchemy/common/clock.c:                      clk_add_alias(t->alias, NULL, t->base, NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ahb", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ref", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ref", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ref", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("wdt", NULL, "ref", NULL);
v4.0-rc6:arch/mips/ath79/clock.c:       clk_add_alias("uart", NULL, "ref", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-tmu-sh3.0", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-tmu.0", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-tmu.1", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-tmu.2", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-mtu2", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-cmt-16.0", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("fck", "sh-cmt-32.0", "peripheral_clk", NULL);
v4.0-rc6:arch/sh/kernel/cpu/clock-cpg.c:        clk_add_alias("sci_ick", NULL, "peripheral_clk", NULL);

All of these architectures and platforms have CONFIG_COMMON_CLK=n, so
there doesn't seem to be any regression that these patches are fixing.
That isn't to say the patches are bad, just that they aren't urgent for
the upcoming release.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

  reply	other threads:[~2015-04-06 20:18 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-03 17:11 [PATCH 00/14] Fix fallout from per-user struct clk patches Russell King - ARM Linux
2015-04-03 17:11 ` Russell King - ARM Linux
2015-04-03 17:11 ` Russell King - ARM Linux
2015-04-03 17:12 ` [PATCH 01/14] clk: update clk API documentation to clarify clk_round_rate() Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12   ` Russell King
2015-04-07  8:47   ` [alsa-devel] " Ricard Wanderlof
2015-04-03 17:12 ` [PATCH 02/14] clkdev: drop __init from clkdev_add_table() Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12 ` [PATCH 03/14] clkdev: get rid of redundant clk_add_alias() prototype in linux/clk.h Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 23:49   ` Tony Lindgren
2015-04-03 23:49     ` Tony Lindgren
2015-04-03 23:49     ` Tony Lindgren
2015-04-04 12:43   ` Robert Jarzmik
2015-04-04 12:43     ` Robert Jarzmik
2015-04-04 12:43     ` Robert Jarzmik
2015-04-04 12:43     ` Robert Jarzmik
2015-04-04 12:53     ` Russell King - ARM Linux
2015-04-04 12:53       ` Russell King - ARM Linux
2015-04-04 12:53       ` Russell King - ARM Linux
2015-04-06 19:04     ` Stephen Boyd
2015-04-06 19:04       ` Stephen Boyd
2015-04-06 19:04       ` Stephen Boyd
2015-04-07 10:05       ` Robert Jarzmik
2015-04-07 10:05         ` Robert Jarzmik
2015-04-07 10:05         ` Robert Jarzmik
2015-04-07 12:42       ` Russell King - ARM Linux
2015-04-07 12:42         ` Russell King - ARM Linux
2015-04-07 12:42         ` Russell King - ARM Linux
2015-04-06  5:50   ` Sekhar Nori
2015-04-06  5:51     ` Sekhar Nori
2015-04-06  5:50     ` Sekhar Nori
2015-04-06  5:50     ` Sekhar Nori
2015-04-03 17:12 ` [PATCH 04/14] clkdev: const-ify connection id to clk_add_alias() Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12 ` [PATCH 05/14] clkdev: use clk_hw internally Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12   ` Russell King
2015-04-06 20:18   ` Stephen Boyd [this message]
2015-04-06 20:18     ` Stephen Boyd
2015-04-06 20:18     ` Stephen Boyd
2015-04-03 17:12 ` [PATCH 06/14] clkdev: add clkdev_create() helper Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12   ` Russell King
2015-04-06 20:19   ` Stephen Boyd
2015-04-06 20:19     ` Stephen Boyd
2015-04-06 20:19     ` Stephen Boyd
2015-04-07 12:43     ` Russell King - ARM Linux
2015-04-07 12:43       ` Russell King - ARM Linux
2015-04-07 12:43       ` Russell King - ARM Linux
2015-04-07 23:09       ` Stephen Boyd
2015-04-07 23:09         ` Stephen Boyd
2015-04-07 23:09         ` Stephen Boyd
2015-04-03 17:12 ` [PATCH 07/14] media: omap3isp: remove unused clkdev Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 21:44   ` Laurent Pinchart
2015-04-03 21:44     ` Laurent Pinchart
2015-04-03 21:44     ` Laurent Pinchart
2015-04-05 14:20     ` Russell King - ARM Linux
2015-04-05 14:20       ` Russell King - ARM Linux
2015-04-05 14:20       ` Russell King - ARM Linux
2015-04-07  9:42       ` Laurent Pinchart
2015-04-07  9:42         ` Laurent Pinchart
2015-04-07  9:42         ` Laurent Pinchart
2015-04-07 12:45         ` Russell King - ARM Linux
2015-04-07 12:45           ` Russell King - ARM Linux
2015-04-07 12:45           ` Russell King - ARM Linux
2015-04-07 14:38           ` Laurent Pinchart
2015-04-07 14:38             ` Laurent Pinchart
2015-04-07 14:38             ` Laurent Pinchart
2015-04-03 17:13 ` [PATCH 08/14] SH: use clkdev_add_table() Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13 ` [PATCH 09/14] ARM: lpc32xx: convert to " Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13 ` [PATCH 10/14] ARM: orion: use clkdev_create() Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13   ` Russell King
2015-04-04  0:17   ` Andrew Lunn
2015-04-04  0:17     ` Andrew Lunn
2015-04-04  0:17     ` Andrew Lunn
2015-04-07 13:20     ` Gregory CLEMENT
2015-04-07 13:20       ` Gregory CLEMENT
2015-04-07 13:20       ` Gregory CLEMENT
2015-04-07 14:01       ` Russell King - ARM Linux
2015-04-07 14:01         ` Russell King - ARM Linux
2015-04-07 14:01         ` Russell King - ARM Linux
2015-04-07 14:20         ` Gregory CLEMENT
2015-04-07 14:20           ` Gregory CLEMENT
2015-04-07 14:20           ` Gregory CLEMENT
2015-04-03 17:13 ` [PATCH 11/14] ARM: omap2: " Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 23:49   ` Tony Lindgren
2015-04-03 23:49     ` Tony Lindgren
2015-04-03 23:49     ` Tony Lindgren
2015-04-03 17:13 ` [PATCH 12/14] ARM: omap2: use clkdev_add_alias() Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 23:50   ` Tony Lindgren
2015-04-03 23:50     ` Tony Lindgren
2015-04-03 23:50     ` Tony Lindgren
2015-04-03 17:13 ` [PATCH 13/14] ASoC: migor: use clkdev_create() Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13 ` [PATCH 14/14] clk: s2mps11: " Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:16 ` [PATCH 00/14] Fix fallout from per-user struct clk patches Russell King - ARM Linux
2015-04-03 17:16   ` Russell King - ARM Linux
2015-04-03 17:16   ` Russell King - ARM Linux
2015-04-05  9:04 ` Geert Uytterhoeven
2015-04-05  9:04   ` Geert Uytterhoeven
2015-04-05  9:04   ` Geert Uytterhoeven
2015-04-05  9:04   ` Geert Uytterhoeven
2015-04-05 14:13   ` Russell King - ARM Linux
2015-04-05 14:13     ` Russell King - ARM Linux
2015-04-05 14:13     ` Russell King - ARM Linux
2015-04-05 14:13     ` Russell King - ARM Linux

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5522EA2F.1090003@codeaurora.org \
    --to=sboyd@codeaurora.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=rmk+kernel@arm.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.