|
12 | 12 |
|
13 | 13 | /***************************************************************************/ |
14 | 14 |
|
| 15 | +#include <linux/clkdev.h> |
15 | 16 | #include <linux/kernel.h> |
16 | 17 | #include <linux/param.h> |
17 | 18 | #include <linux/init.h> |
@@ -48,31 +49,29 @@ DEFINE_CLK(0, "sys.0", 40, MCF_BUSCLK); |
48 | 49 | DEFINE_CLK(0, "gpio.0", 41, MCF_BUSCLK); |
49 | 50 | DEFINE_CLK(0, "sdram.0", 42, MCF_CLK); |
50 | 51 |
|
51 | | -struct clk *mcf_clks[] = { |
52 | | - &__clk_0_2, /* flexbus */ |
53 | | - &__clk_0_12, /* fec.0 */ |
54 | | - &__clk_0_17, /* edma */ |
55 | | - &__clk_0_18, /* intc.0 */ |
56 | | - &__clk_0_21, /* iack.0 */ |
57 | | - &__clk_0_22, /* imx1-i2c.0 */ |
58 | | - &__clk_0_23, /* mcfqspi.0 */ |
59 | | - &__clk_0_24, /* mcfuart.0 */ |
60 | | - &__clk_0_25, /* mcfuart.1 */ |
61 | | - &__clk_0_26, /* mcfuart.2 */ |
62 | | - &__clk_0_28, /* mcftmr.0 */ |
63 | | - &__clk_0_29, /* mcftmr.1 */ |
64 | | - &__clk_0_30, /* mcftmr.2 */ |
65 | | - &__clk_0_31, /* mcftmr.3 */ |
66 | | - |
67 | | - &__clk_0_32, /* mcfpit.0 */ |
68 | | - &__clk_0_33, /* mcfpit.1 */ |
69 | | - &__clk_0_34, /* mcfeport.0 */ |
70 | | - &__clk_0_35, /* mcfwdt.0 */ |
71 | | - &__clk_0_36, /* pll.0 */ |
72 | | - &__clk_0_40, /* sys.0 */ |
73 | | - &__clk_0_41, /* gpio.0 */ |
74 | | - &__clk_0_42, /* sdram.0 */ |
75 | | - NULL, |
| 52 | +static struct clk_lookup m520x_clk_lookup[] = { |
| 53 | + CLKDEV_INIT(NULL, "flexbus", &__clk_0_2), |
| 54 | + CLKDEV_INIT("fec.0", NULL, &__clk_0_12), |
| 55 | + CLKDEV_INIT("edma", NULL, &__clk_0_17), |
| 56 | + CLKDEV_INIT("intc.0", NULL, &__clk_0_18), |
| 57 | + CLKDEV_INIT("iack.0", NULL, &__clk_0_21), |
| 58 | + CLKDEV_INIT("imx1-i2c.0", NULL, &__clk_0_22), |
| 59 | + CLKDEV_INIT("mcfqspi.0", NULL, &__clk_0_23), |
| 60 | + CLKDEV_INIT("mcfuart.0", NULL, &__clk_0_24), |
| 61 | + CLKDEV_INIT("mcfuart.1", NULL, &__clk_0_25), |
| 62 | + CLKDEV_INIT("mcfuart.2", NULL, &__clk_0_26), |
| 63 | + CLKDEV_INIT("mcftmr.0", NULL, &__clk_0_28), |
| 64 | + CLKDEV_INIT("mcftmr.1", NULL, &__clk_0_29), |
| 65 | + CLKDEV_INIT("mcftmr.2", NULL, &__clk_0_30), |
| 66 | + CLKDEV_INIT("mcftmr.3", NULL, &__clk_0_31), |
| 67 | + CLKDEV_INIT("mcfpit.0", NULL, &__clk_0_32), |
| 68 | + CLKDEV_INIT("mcfpit.1", NULL, &__clk_0_33), |
| 69 | + CLKDEV_INIT("mcfeport.0", NULL, &__clk_0_34), |
| 70 | + CLKDEV_INIT("mcfwdt.0", NULL, &__clk_0_35), |
| 71 | + CLKDEV_INIT(NULL, "pll.0", &__clk_0_36), |
| 72 | + CLKDEV_INIT(NULL, "sys.0", &__clk_0_40), |
| 73 | + CLKDEV_INIT("gpio.0", NULL, &__clk_0_41), |
| 74 | + CLKDEV_INIT("sdram.0", NULL, &__clk_0_42), |
76 | 75 | }; |
77 | 76 |
|
78 | 77 | static struct clk * const enable_clks[] __initconst = { |
@@ -115,6 +114,8 @@ static void __init m520x_clk_init(void) |
115 | 114 | /* make sure these clocks are disabled */ |
116 | 115 | for (i = 0; i < ARRAY_SIZE(disable_clks); ++i) |
117 | 116 | __clk_init_disabled(disable_clks[i]); |
| 117 | + |
| 118 | + clkdev_add_table(m520x_clk_lookup, ARRAY_SIZE(m520x_clk_lookup)); |
118 | 119 | } |
119 | 120 |
|
120 | 121 | /***************************************************************************/ |
|
0 commit comments