linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] OMAP1 clock: Add missing clocks for OMAP 7xx
@ 2009-12-22 16:03 Paul Walmsley
  2009-12-23  0:28 ` Cory Maccarrone
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Walmsley @ 2009-12-22 16:03 UTC (permalink / raw)
  To: linux-arm-kernel


From: Cory Maccarrone <darkstar6262@gmail.com>

This change adds in some missing clocks that were needed as a result
of 526505... (OMAP1 clock: convert mach-omap1/clock.h to
mach-omap1/clock_data.c).  Prior to this, it was just assumed that
these clocks existed for all devices, and it was used directly instead
of calling it out with a clock_get call or similar.  So, not having
the CK_7XX meant these clocks weren't being used anymore for omap 7xx
devices, which broke things badly.

Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com>
[paul at pwsan.com: commit message edited]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
---
 arch/arm/mach-omap1/clock_data.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap1/clock_data.c b/arch/arm/mach-omap1/clock_data.c
index ab995a9..31fba07 100644
--- a/arch/arm/mach-omap1/clock_data.c
+++ b/arch/arm/mach-omap1/clock_data.c
@@ -599,7 +599,7 @@ static struct clk i2c_ick = {
 static struct omap_clk omap_clks[] = {
 	/* non-ULPD clocks */
 	CLK(NULL,	"ck_ref",	&ck_ref,	CK_16XX | CK_1510 | CK_310 | CK_7XX),
-	CLK(NULL,	"ck_dpll1",	&ck_dpll1,	CK_16XX | CK_1510 | CK_310),
+	CLK(NULL,	"ck_dpll1",	&ck_dpll1,	CK_16XX | CK_1510 | CK_310 | CK_7XX),
 	/* CK_GEN1 clocks */
 	CLK(NULL,	"ck_dpll1out",	&ck_dpll1out.clk, CK_16XX),
 	CLK(NULL,	"ck_sossi",	&sossi_ck,	CK_16XX),
@@ -627,7 +627,7 @@ static struct omap_clk omap_clks[] = {
 	CLK(NULL,	"tc2_ck",	&tc2_ck,	CK_16XX),
 	CLK(NULL,	"dma_ck",	&dma_ck,	CK_16XX | CK_1510 | CK_310),
 	CLK(NULL,	"dma_lcdfree_ck", &dma_lcdfree_ck, CK_16XX),
-	CLK(NULL,	"api_ck",	&api_ck.clk,	CK_16XX | CK_1510 | CK_310),
+	CLK(NULL,	"api_ck",	&api_ck.clk,	CK_16XX | CK_1510 | CK_310 | CK_7XX),
 	CLK(NULL,	"lb_ck",	&lb_ck.clk,	CK_1510 | CK_310),
 	CLK(NULL,	"rhea1_ck",	&rhea1_ck,	CK_16XX),
 	CLK(NULL,	"rhea2_ck",	&rhea2_ck,	CK_16XX),
-- 
1.6.6.rc2.5.g49666

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH] OMAP1 clock: Add missing clocks for OMAP 7xx
  2009-12-22 16:03 [PATCH] OMAP1 clock: Add missing clocks for OMAP 7xx Paul Walmsley
@ 2009-12-23  0:28 ` Cory Maccarrone
  2009-12-23  0:37   ` [PATCH] [OMAP1] Clock fixups for OMAP1 and OMAP7xx Cory Maccarrone
  0 siblings, 1 reply; 5+ messages in thread
From: Cory Maccarrone @ 2009-12-23  0:28 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Dec 22, 2009 at 9:03 AM, Paul Walmsley <paul@pwsan.com> wrote:
>
> From: Cory Maccarrone <darkstar6262@gmail.com>
>
> This change adds in some missing clocks that were needed as a result
> of 526505... (OMAP1 clock: convert mach-omap1/clock.h to
> mach-omap1/clock_data.c). ?Prior to this, it was just assumed that
> these clocks existed for all devices, and it was used directly instead
> of calling it out with a clock_get call or similar. ?So, not having
> the CK_7XX meant these clocks weren't being used anymore for omap 7xx
> devices, which broke things badly.
>
> Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com>
> [paul at pwsan.com: commit message edited]
> Signed-off-by: Paul Walmsley <paul@pwsan.com>
> ---
> ?arch/arm/mach-omap1/clock_data.c | ? ?4 ++--
> ?1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/mach-omap1/clock_data.c b/arch/arm/mach-omap1/clock_data.c
> index ab995a9..31fba07 100644
> --- a/arch/arm/mach-omap1/clock_data.c
> +++ b/arch/arm/mach-omap1/clock_data.c
> @@ -599,7 +599,7 @@ static struct clk i2c_ick = {
> ?static struct omap_clk omap_clks[] = {
> ? ? ? ?/* non-ULPD clocks */
> ? ? ? ?CLK(NULL, ? ? ? "ck_ref", ? ? ? &ck_ref, ? ? ? ?CK_16XX | CK_1510 | CK_310 | CK_7XX),
> - ? ? ? CLK(NULL, ? ? ? "ck_dpll1", ? ? &ck_dpll1, ? ? ?CK_16XX | CK_1510 | CK_310),
> + ? ? ? CLK(NULL, ? ? ? "ck_dpll1", ? ? &ck_dpll1, ? ? ?CK_16XX | CK_1510 | CK_310 | CK_7XX),
> ? ? ? ?/* CK_GEN1 clocks */
> ? ? ? ?CLK(NULL, ? ? ? "ck_dpll1out", ?&ck_dpll1out.clk, CK_16XX),
> ? ? ? ?CLK(NULL, ? ? ? "ck_sossi", ? ? &sossi_ck, ? ? ?CK_16XX),
> @@ -627,7 +627,7 @@ static struct omap_clk omap_clks[] = {
> ? ? ? ?CLK(NULL, ? ? ? "tc2_ck", ? ? ? &tc2_ck, ? ? ? ?CK_16XX),
> ? ? ? ?CLK(NULL, ? ? ? "dma_ck", ? ? ? &dma_ck, ? ? ? ?CK_16XX | CK_1510 | CK_310),
> ? ? ? ?CLK(NULL, ? ? ? "dma_lcdfree_ck", &dma_lcdfree_ck, CK_16XX),
> - ? ? ? CLK(NULL, ? ? ? "api_ck", ? ? ? &api_ck.clk, ? ?CK_16XX | CK_1510 | CK_310),
> + ? ? ? CLK(NULL, ? ? ? "api_ck", ? ? ? &api_ck.clk, ? ?CK_16XX | CK_1510 | CK_310 | CK_7XX),
> ? ? ? ?CLK(NULL, ? ? ? "lb_ck", ? ? ? ?&lb_ck.clk, ? ? CK_1510 | CK_310),
> ? ? ? ?CLK(NULL, ? ? ? "rhea1_ck", ? ? &rhea1_ck, ? ? ?CK_16XX),
> ? ? ? ?CLK(NULL, ? ? ? "rhea2_ck", ? ? &rhea2_ck, ? ? ?CK_16XX),
> --
> 1.6.6.rc2.5.g49666
>

I'd like to amend this patch -- there's more wrong in this file than
simply missing clocks, as it turns out.  I'll submit my new patch for
review shortly.

- Cory

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] [OMAP1] Clock fixups for OMAP1 and OMAP7xx
  2009-12-23  0:28 ` Cory Maccarrone
@ 2009-12-23  0:37   ` Cory Maccarrone
  2009-12-30  8:19     ` Paul Walmsley
  0 siblings, 1 reply; 5+ messages in thread
From: Cory Maccarrone @ 2009-12-23  0:37 UTC (permalink / raw)
  To: linux-arm-kernel

This change adds in some missing clocks that were needed as a result
of 526505... (OMAP1 clock: convert mach-omap1/clock.h to
mach-omap1/clock_data.c).  Prior to this, it was just assumed that
these clocks existed for all devices, and it was used directly instead
of calling it out with a clk_get call.  So, not having the CK_7XX
meant these clocks weren't being used anymore for omap 7xx devices,
which broke things badly.

Additionally, that change added an __initdata decoration to the
structure containing the clk_enable and clk_disable functions.  Once
init data was freed, these pointers went to null, and the next enable
or disable call caused the kernel to crash.  This change removes
this decoration.

Signed-off-by: Cory Maccarrone <darkstar6262@gmail.com>
---
 arch/arm/mach-omap1/clock_data.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/arm/mach-omap1/clock_data.c b/arch/arm/mach-omap1/clock_data.c
index ab995a9..62f6ec3 100644
--- a/arch/arm/mach-omap1/clock_data.c
+++ b/arch/arm/mach-omap1/clock_data.c
@@ -599,15 +599,15 @@ static struct clk i2c_ick = {
 static struct omap_clk omap_clks[] = {
 	/* non-ULPD clocks */
 	CLK(NULL,	"ck_ref",	&ck_ref,	CK_16XX | CK_1510 | CK_310 | CK_7XX),
-	CLK(NULL,	"ck_dpll1",	&ck_dpll1,	CK_16XX | CK_1510 | CK_310),
+	CLK(NULL,	"ck_dpll1",	&ck_dpll1,	CK_16XX | CK_1510 | CK_310 | CK_7XX),
 	/* CK_GEN1 clocks */
 	CLK(NULL,	"ck_dpll1out",	&ck_dpll1out.clk, CK_16XX),
 	CLK(NULL,	"ck_sossi",	&sossi_ck,	CK_16XX),
 	CLK(NULL,	"arm_ck",	&arm_ck,	CK_16XX | CK_1510 | CK_310),
-	CLK(NULL,	"armper_ck",	&armper_ck.clk,	CK_16XX | CK_1510 | CK_310),
+	CLK(NULL,	"armper_ck",	&armper_ck.clk,	CK_16XX | CK_1510 | CK_310 | CK_7XX),
 	CLK(NULL,	"arm_gpio_ck",	&arm_gpio_ck,	CK_1510 | CK_310),
 	CLK(NULL,	"armxor_ck",	&armxor_ck.clk,	CK_16XX | CK_1510 | CK_310 | CK_7XX),
-	CLK(NULL,	"armtim_ck",	&armtim_ck.clk,	CK_16XX | CK_1510 | CK_310),
+	CLK(NULL,	"armtim_ck",	&armtim_ck.clk,	CK_16XX | CK_1510 | CK_310 | CK_7XX),
 	CLK("omap_wdt",	"fck",		&armwdt_ck.clk,	CK_16XX | CK_1510 | CK_310),
 	CLK("omap_wdt",	"ick",		&armper_ck.clk,	CK_16XX),
 	CLK("omap_wdt", "ick",		&dummy_ck,	CK_1510 | CK_310),
@@ -627,7 +627,7 @@ static struct omap_clk omap_clks[] = {
 	CLK(NULL,	"tc2_ck",	&tc2_ck,	CK_16XX),
 	CLK(NULL,	"dma_ck",	&dma_ck,	CK_16XX | CK_1510 | CK_310),
 	CLK(NULL,	"dma_lcdfree_ck", &dma_lcdfree_ck, CK_16XX),
-	CLK(NULL,	"api_ck",	&api_ck.clk,	CK_16XX | CK_1510 | CK_310),
+	CLK(NULL,	"api_ck",	&api_ck.clk,	CK_16XX | CK_1510 | CK_310 | CK_7XX),
 	CLK(NULL,	"lb_ck",	&lb_ck.clk,	CK_1510 | CK_310),
 	CLK(NULL,	"rhea1_ck",	&rhea1_ck,	CK_16XX),
 	CLK(NULL,	"rhea2_ck",	&rhea2_ck,	CK_16XX),
@@ -674,7 +674,7 @@ static struct omap_clk omap_clks[] = {
  * init
  */
 
-static struct clk_functions omap1_clk_functions __initdata = {
+static struct clk_functions omap1_clk_functions = {
 	.clk_enable		= omap1_clk_enable,
 	.clk_disable		= omap1_clk_disable,
 	.clk_round_rate		= omap1_clk_round_rate,
-- 
1.6.3.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH] [OMAP1] Clock fixups for OMAP1 and OMAP7xx
  2009-12-23  0:37   ` [PATCH] [OMAP1] Clock fixups for OMAP1 and OMAP7xx Cory Maccarrone
@ 2009-12-30  8:19     ` Paul Walmsley
  2010-01-09 18:01       ` Cory Maccarrone
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Walmsley @ 2009-12-30  8:19 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Cory,

On Tue, 22 Dec 2009, Cory Maccarrone wrote:

> This change adds in some missing clocks that were needed as a result
> of 526505... (OMAP1 clock: convert mach-omap1/clock.h to
> mach-omap1/clock_data.c).  Prior to this, it was just assumed that
> these clocks existed for all devices, and it was used directly instead
> of calling it out with a clk_get call.  So, not having the CK_7XX
> meant these clocks weren't being used anymore for omap 7xx devices,
> which broke things badly.
> 
> Additionally, that change added an __initdata decoration to the
> structure containing the clk_enable and clk_disable functions.  Once
> init data was freed, these pointers went to null, and the next enable
> or disable call caused the kernel to crash.  This change removes
> this decoration.

Could you please split these two patches, since they fix different 
problems?  Also the first patch is pertinent only to OMAP7xx-family 
chips and the second is OMAP1-wide.  I've already got your first patch, so 
no need to resend that.

thanks,

- Paul

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] [OMAP1] Clock fixups for OMAP1 and OMAP7xx
  2009-12-30  8:19     ` Paul Walmsley
@ 2010-01-09 18:01       ` Cory Maccarrone
  0 siblings, 0 replies; 5+ messages in thread
From: Cory Maccarrone @ 2010-01-09 18:01 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Dec 30, 2009 at 12:19 AM, Paul Walmsley <paul@pwsan.com> wrote:
> Hi Cory,
>
> On Tue, 22 Dec 2009, Cory Maccarrone wrote:
>
> Could you please split these two patches, since they fix different
> problems? ?Also the first patch is pertinent only to OMAP7xx-family
> chips and the second is OMAP1-wide. ?I've already got your first patch, so
> no need to resend that.
>

Looks like you got to it before I did.  Thanks for taking care of that :)

- Cory

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-01-09 18:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-22 16:03 [PATCH] OMAP1 clock: Add missing clocks for OMAP 7xx Paul Walmsley
2009-12-23  0:28 ` Cory Maccarrone
2009-12-23  0:37   ` [PATCH] [OMAP1] Clock fixups for OMAP1 and OMAP7xx Cory Maccarrone
2009-12-30  8:19     ` Paul Walmsley
2010-01-09 18:01       ` Cory Maccarrone

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).