aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/pxa25x.c
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2008-06-30 14:47:59 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-07-09 15:54:14 -0400
commitbdb08cb2d3491d441dd403dfb88d90ba90fb7232 (patch)
tree390117716c0f4f30a50636a5a0ef1e828e48d1fa /arch/arm/mach-pxa/pxa25x.c
parent5e329d1c7f5fe6adfee99c783fa98bda7dae8ac5 (diff)
[ARM] pxa: allow clk aliases
We need to support more than one name+device for a struct clk for a small number of peripherals. We do this by re-using struct clk alias to another struct clk - IOW, if we find that the entry we're using is an alias, we return the aliased entry not the one we found. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/pxa25x.c')
-rw-r--r--arch/arm/mach-pxa/pxa25x.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c
index e5b417d14bb0..09ee131d24a1 100644
--- a/arch/arm/mach-pxa/pxa25x.c
+++ b/arch/arm/mach-pxa/pxa25x.c
@@ -117,6 +117,10 @@ static struct clk pxa25x_hwuart_clk =
117 INIT_CKEN("UARTCLK", HWUART, 14745600, 1, &pxa_device_hwuart.dev) 117 INIT_CKEN("UARTCLK", HWUART, 14745600, 1, &pxa_device_hwuart.dev)
118; 118;
119 119
120/*
121 * PXA 2xx clock declarations. Order is important (see aliases below)
122 * Please be careful not to disrupt the ordering.
123 */
120static struct clk pxa25x_clks[] = { 124static struct clk pxa25x_clks[] = {
121 INIT_CK("LCDCLK", LCD, &clk_pxa25x_lcd_ops, &pxa_device_fb.dev), 125 INIT_CK("LCDCLK", LCD, &clk_pxa25x_lcd_ops, &pxa_device_fb.dev),
122 INIT_CKEN("UARTCLK", FFUART, 14745600, 1, &pxa_device_ffuart.dev), 126 INIT_CKEN("UARTCLK", FFUART, 14745600, 1, &pxa_device_ffuart.dev),
@@ -140,6 +144,8 @@ static struct clk pxa25x_clks[] = {
140 INIT_CKEN("FICPCLK", FICP, 47923000, 0, NULL), 144 INIT_CKEN("FICPCLK", FICP, 47923000, 0, NULL),
141}; 145};
142 146
147static struct clk gpio7_clk = INIT_CKOTHER("GPIO7_CK", &pxa25x_clks[4], NULL);
148
143#ifdef CONFIG_PM 149#ifdef CONFIG_PM
144 150
145#define SAVE(x) sleep_save[SLEEP_SAVE_##x] = x 151#define SAVE(x) sleep_save[SLEEP_SAVE_##x] = x
@@ -311,6 +317,8 @@ static int __init pxa25x_init(void)
311 if (cpu_is_pxa25x()) 317 if (cpu_is_pxa25x())
312 ret = platform_device_register(&pxa_device_hwuart); 318 ret = platform_device_register(&pxa_device_hwuart);
313 319
320 clks_register(&gpio7_clk, 1);
321
314 return ret; 322 return ret;
315} 323}
316 324