diff options
| -rw-r--r-- | arch/arm/mach-davinci/clock.c | 13 | ||||
| -rw-r--r-- | arch/arm/mach-davinci/clock.h | 22 | ||||
| -rw-r--r-- | arch/arm/mach-davinci/da830.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-davinci/da850.c | 8 | ||||
| -rw-r--r-- | arch/arm/mach-davinci/dm355.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-davinci/dm365.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-davinci/dm644x.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-davinci/dm646x.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-davinci/include/mach/common.h | 2 |
9 files changed, 26 insertions, 29 deletions
diff --git a/arch/arm/mach-davinci/clock.c b/arch/arm/mach-davinci/clock.c index 0fc63f93a222..bf6218ee94e1 100644 --- a/arch/arm/mach-davinci/clock.c +++ b/arch/arm/mach-davinci/clock.c | |||
| @@ -427,13 +427,14 @@ int davinci_set_pllrate(struct pll_data *pll, unsigned int prediv, | |||
| 427 | } | 427 | } |
| 428 | EXPORT_SYMBOL(davinci_set_pllrate); | 428 | EXPORT_SYMBOL(davinci_set_pllrate); |
| 429 | 429 | ||
| 430 | int __init davinci_clk_init(struct davinci_clk *clocks) | 430 | int __init davinci_clk_init(struct clk_lookup *clocks) |
| 431 | { | 431 | { |
| 432 | struct davinci_clk *c; | 432 | struct clk_lookup *c; |
| 433 | struct clk *clk; | 433 | struct clk *clk; |
| 434 | size_t num_clocks = 0; | ||
| 434 | 435 | ||
| 435 | for (c = clocks; c->lk.clk; c++) { | 436 | for (c = clocks; c->clk; c++) { |
| 436 | clk = c->lk.clk; | 437 | clk = c->clk; |
| 437 | 438 | ||
| 438 | if (!clk->recalc) { | 439 | if (!clk->recalc) { |
| 439 | 440 | ||
| @@ -456,14 +457,16 @@ int __init davinci_clk_init(struct davinci_clk *clocks) | |||
| 456 | if (clk->lpsc) | 457 | if (clk->lpsc) |
| 457 | clk->flags |= CLK_PSC; | 458 | clk->flags |= CLK_PSC; |
| 458 | 459 | ||
| 459 | clkdev_add(&c->lk); | ||
| 460 | clk_register(clk); | 460 | clk_register(clk); |
| 461 | num_clocks++; | ||
| 461 | 462 | ||
| 462 | /* Turn on clocks that Linux doesn't otherwise manage */ | 463 | /* Turn on clocks that Linux doesn't otherwise manage */ |
| 463 | if (clk->flags & ALWAYS_ENABLED) | 464 | if (clk->flags & ALWAYS_ENABLED) |
| 464 | clk_enable(clk); | 465 | clk_enable(clk); |
| 465 | } | 466 | } |
| 466 | 467 | ||
| 468 | clkdev_add_table(clocks, num_clocks); | ||
| 469 | |||
| 467 | return 0; | 470 | return 0; |
| 468 | } | 471 | } |
| 469 | 472 | ||
diff --git a/arch/arm/mach-davinci/clock.h b/arch/arm/mach-davinci/clock.h index 31fb6eac712c..aa0a61150325 100644 --- a/arch/arm/mach-davinci/clock.h +++ b/arch/arm/mach-davinci/clock.h | |||
| @@ -106,20 +106,14 @@ struct clk { | |||
| 106 | #define CLK_PLL BIT(4) /* PLL-derived clock */ | 106 | #define CLK_PLL BIT(4) /* PLL-derived clock */ |
| 107 | #define PRE_PLL BIT(5) /* source is before PLL mult/div */ | 107 | #define PRE_PLL BIT(5) /* source is before PLL mult/div */ |
| 108 | 108 | ||
| 109 | struct davinci_clk { | 109 | #define CLK(dev, con, ck) \ |
| 110 | struct clk_lookup lk; | 110 | { \ |
| 111 | }; | 111 | .dev_id = dev, \ |
| 112 | 112 | .con_id = con, \ | |
| 113 | #define CLK(dev, con, ck) \ | 113 | .clk = ck, \ |
| 114 | { \ | 114 | } \ |
| 115 | .lk = { \ | 115 | |
| 116 | .dev_id = dev, \ | 116 | int davinci_clk_init(struct clk_lookup *clocks); |
| 117 | .con_id = con, \ | ||
| 118 | .clk = ck, \ | ||
| 119 | }, \ | ||
| 120 | } | ||
| 121 | |||
| 122 | int davinci_clk_init(struct davinci_clk *clocks); | ||
| 123 | int davinci_set_pllrate(struct pll_data *pll, unsigned int prediv, | 117 | int davinci_set_pllrate(struct pll_data *pll, unsigned int prediv, |
| 124 | unsigned int mult, unsigned int postdiv); | 118 | unsigned int mult, unsigned int postdiv); |
| 125 | 119 | ||
diff --git a/arch/arm/mach-davinci/da830.c b/arch/arm/mach-davinci/da830.c index 54796050a2ff..122e61a9f505 100644 --- a/arch/arm/mach-davinci/da830.c +++ b/arch/arm/mach-davinci/da830.c | |||
| @@ -371,7 +371,7 @@ static struct clk rmii_clk = { | |||
| 371 | .parent = &pll0_sysclk7, | 371 | .parent = &pll0_sysclk7, |
| 372 | }; | 372 | }; |
| 373 | 373 | ||
| 374 | static struct davinci_clk da830_clks[] = { | 374 | static struct clk_lookup da830_clks[] = { |
| 375 | CLK(NULL, "ref", &ref_clk), | 375 | CLK(NULL, "ref", &ref_clk), |
| 376 | CLK(NULL, "pll0", &pll0_clk), | 376 | CLK(NULL, "pll0", &pll0_clk), |
| 377 | CLK(NULL, "pll0_aux", &pll0_aux_clk), | 377 | CLK(NULL, "pll0_aux", &pll0_aux_clk), |
diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c index b9a7b3bc36b2..d0fd7566712a 100644 --- a/arch/arm/mach-davinci/da850.c +++ b/arch/arm/mach-davinci/da850.c | |||
| @@ -335,7 +335,7 @@ static struct clk aemif_clk = { | |||
| 335 | .flags = ALWAYS_ENABLED, | 335 | .flags = ALWAYS_ENABLED, |
| 336 | }; | 336 | }; |
| 337 | 337 | ||
| 338 | static struct davinci_clk da850_clks[] = { | 338 | static struct clk_lookup da850_clks[] = { |
| 339 | CLK(NULL, "ref", &ref_clk), | 339 | CLK(NULL, "ref", &ref_clk), |
| 340 | CLK(NULL, "pll0", &pll0_clk), | 340 | CLK(NULL, "pll0", &pll0_clk), |
| 341 | CLK(NULL, "pll0_aux", &pll0_aux_clk), | 341 | CLK(NULL, "pll0_aux", &pll0_aux_clk), |
| @@ -834,12 +834,12 @@ static struct davinci_timer_info da850_timer_info = { | |||
| 834 | static void da850_set_async3_src(int pllnum) | 834 | static void da850_set_async3_src(int pllnum) |
| 835 | { | 835 | { |
| 836 | struct clk *clk, *newparent = pllnum ? &pll1_sysclk2 : &pll0_sysclk2; | 836 | struct clk *clk, *newparent = pllnum ? &pll1_sysclk2 : &pll0_sysclk2; |
| 837 | struct davinci_clk *c; | 837 | struct clk_lookup *c; |
| 838 | unsigned int v; | 838 | unsigned int v; |
| 839 | int ret; | 839 | int ret; |
| 840 | 840 | ||
| 841 | for (c = da850_clks; c->lk.clk; c++) { | 841 | for (c = da850_clks; c->clk; c++) { |
| 842 | clk = c->lk.clk; | 842 | clk = c->clk; |
| 843 | if (clk->flags & DA850_CLK_ASYNC3) { | 843 | if (clk->flags & DA850_CLK_ASYNC3) { |
| 844 | ret = clk_set_parent(clk, newparent); | 844 | ret = clk_set_parent(clk, newparent); |
| 845 | WARN(ret, "DA850: unable to re-parent clock %s", | 845 | WARN(ret, "DA850: unable to re-parent clock %s", |
diff --git a/arch/arm/mach-davinci/dm355.c b/arch/arm/mach-davinci/dm355.c index b1185f82ffb3..2cdd8740aad9 100644 --- a/arch/arm/mach-davinci/dm355.c +++ b/arch/arm/mach-davinci/dm355.c | |||
| @@ -335,7 +335,7 @@ static struct clk usb_clk = { | |||
| 335 | .lpsc = DAVINCI_LPSC_USB, | 335 | .lpsc = DAVINCI_LPSC_USB, |
| 336 | }; | 336 | }; |
| 337 | 337 | ||
| 338 | static struct davinci_clk dm355_clks[] = { | 338 | static struct clk_lookup dm355_clks[] = { |
| 339 | CLK(NULL, "ref", &ref_clk), | 339 | CLK(NULL, "ref", &ref_clk), |
| 340 | CLK(NULL, "pll1", &pll1_clk), | 340 | CLK(NULL, "pll1", &pll1_clk), |
| 341 | CLK(NULL, "pll1_sysclk1", &pll1_sysclk1), | 341 | CLK(NULL, "pll1_sysclk1", &pll1_sysclk1), |
diff --git a/arch/arm/mach-davinci/dm365.c b/arch/arm/mach-davinci/dm365.c index d5010567b496..e88f2624df68 100644 --- a/arch/arm/mach-davinci/dm365.c +++ b/arch/arm/mach-davinci/dm365.c | |||
| @@ -403,7 +403,7 @@ static struct clk mjcp_clk = { | |||
| 403 | .lpsc = DM365_LPSC_MJCP, | 403 | .lpsc = DM365_LPSC_MJCP, |
| 404 | }; | 404 | }; |
| 405 | 405 | ||
| 406 | static struct davinci_clk dm365_clks[] = { | 406 | static struct clk_lookup dm365_clks[] = { |
| 407 | CLK(NULL, "ref", &ref_clk), | 407 | CLK(NULL, "ref", &ref_clk), |
| 408 | CLK(NULL, "pll1", &pll1_clk), | 408 | CLK(NULL, "pll1", &pll1_clk), |
| 409 | CLK(NULL, "pll1_aux", &pll1_aux_clk), | 409 | CLK(NULL, "pll1_aux", &pll1_aux_clk), |
diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c index fc060e7aefdf..a7b57237461a 100644 --- a/arch/arm/mach-davinci/dm644x.c +++ b/arch/arm/mach-davinci/dm644x.c | |||
| @@ -277,7 +277,7 @@ static struct clk timer2_clk = { | |||
| 277 | .usecount = 1, /* REVISIT: why cant' this be disabled? */ | 277 | .usecount = 1, /* REVISIT: why cant' this be disabled? */ |
| 278 | }; | 278 | }; |
| 279 | 279 | ||
| 280 | struct davinci_clk dm644x_clks[] = { | 280 | struct clk_lookup dm644x_clks[] = { |
| 281 | CLK(NULL, "ref", &ref_clk), | 281 | CLK(NULL, "ref", &ref_clk), |
| 282 | CLK(NULL, "pll1", &pll1_clk), | 282 | CLK(NULL, "pll1", &pll1_clk), |
| 283 | CLK(NULL, "pll1_sysclk1", &pll1_sysclk1), | 283 | CLK(NULL, "pll1_sysclk1", &pll1_sysclk1), |
diff --git a/arch/arm/mach-davinci/dm646x.c b/arch/arm/mach-davinci/dm646x.c index 7eb34e9253c6..893baf4ad37d 100644 --- a/arch/arm/mach-davinci/dm646x.c +++ b/arch/arm/mach-davinci/dm646x.c | |||
| @@ -311,7 +311,7 @@ static struct clk vpif1_clk = { | |||
| 311 | .flags = ALWAYS_ENABLED, | 311 | .flags = ALWAYS_ENABLED, |
| 312 | }; | 312 | }; |
| 313 | 313 | ||
| 314 | struct davinci_clk dm646x_clks[] = { | 314 | struct clk_lookup dm646x_clks[] = { |
| 315 | CLK(NULL, "ref", &ref_clk), | 315 | CLK(NULL, "ref", &ref_clk), |
| 316 | CLK(NULL, "aux", &aux_clkin), | 316 | CLK(NULL, "aux", &aux_clkin), |
| 317 | CLK(NULL, "pll1", &pll1_clk), | 317 | CLK(NULL, "pll1", &pll1_clk), |
diff --git a/arch/arm/mach-davinci/include/mach/common.h b/arch/arm/mach-davinci/include/mach/common.h index 6ca2c9a0a482..50a955f05ef9 100644 --- a/arch/arm/mach-davinci/include/mach/common.h +++ b/arch/arm/mach-davinci/include/mach/common.h | |||
| @@ -43,7 +43,7 @@ struct davinci_soc_info { | |||
| 43 | void __iomem *jtag_id_base; | 43 | void __iomem *jtag_id_base; |
| 44 | struct davinci_id *ids; | 44 | struct davinci_id *ids; |
| 45 | unsigned long ids_num; | 45 | unsigned long ids_num; |
| 46 | struct davinci_clk *cpu_clks; | 46 | struct clk_lookup *cpu_clks; |
| 47 | void __iomem **psc_bases; | 47 | void __iomem **psc_bases; |
| 48 | unsigned long psc_bases_num; | 48 | unsigned long psc_bases_num; |
| 49 | void __iomem *pinmux_base; | 49 | void __iomem *pinmux_base; |
