aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorAndrzej Zaborowski <balrog@zabor.org>2006-12-06 20:13:48 -0500
committerTony Lindgren <tony@atomide.com>2007-03-02 04:47:08 -0500
commitef557d76dfbdf74c240f76be15fa90d62f1ae61f (patch)
tree406ed94a8ffab308910607dc6c9183dbe449539c /arch/arm
parent562aa1d4c6a874373f9a48ac184f662fbbb06a04 (diff)
ARM: OMAP: correct misc 15xx and non-15xx platform code
Disable accesses to SOFT_REQ_REG2 and ULPD_SOFT_DISABLE_REQ_REG registers for 15xx processors that don't have these registers. Enable level 2 interrupt handler for processors that identify as OMAP 15xx (e.g 310) and not 1510 specifically. Also fix the following compiler warning (only visible with CONFIG_OMAP_RESET_CLOCKS): arch/arm/mach-omap1/clock.c: In function 'omap1_clk_disable_unused': arch/arm/mach-omap1/clock.c:634: warning: 'return' with a value, in function returning void Signed-off-by: Andrzej Zaborowski <balrog@zabor.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-omap1/clock.c5
-rw-r--r--arch/arm/mach-omap1/irq.c2
-rw-r--r--arch/arm/mach-omap1/pm.c6
3 files changed, 8 insertions, 5 deletions
diff --git a/arch/arm/mach-omap1/clock.c b/arch/arm/mach-omap1/clock.c
index 638490e62d5..f8e12946862 100644
--- a/arch/arm/mach-omap1/clock.c
+++ b/arch/arm/mach-omap1/clock.c
@@ -496,7 +496,7 @@ static int omap1_clk_enable_generic(struct clk *clk)
496 } 496 }
497 } 497 }
498 498
499 return 0; 499 return;
500} 500}
501 501
502static void omap1_clk_disable_generic(struct clk *clk) 502static void omap1_clk_disable_generic(struct clk *clk)
@@ -654,7 +654,8 @@ int __init omap1_clk_init(void)
654 /* USB_REQ_EN will be disabled later if necessary (usb_dc_ck) */ 654 /* USB_REQ_EN will be disabled later if necessary (usb_dc_ck) */
655 reg = omap_readw(SOFT_REQ_REG) & (1 << 4); 655 reg = omap_readw(SOFT_REQ_REG) & (1 << 4);
656 omap_writew(reg, SOFT_REQ_REG); 656 omap_writew(reg, SOFT_REQ_REG);
657 omap_writew(0, SOFT_REQ_REG2); 657 if (!cpu_is_omap15xx())
658 omap_writew(0, SOFT_REQ_REG2);
658 659
659 clk_init(&omap1_clk_functions); 660 clk_init(&omap1_clk_functions);
660 661
diff --git a/arch/arm/mach-omap1/irq.c b/arch/arm/mach-omap1/irq.c
index 6383a12ad97..410d3e78dd0 100644
--- a/arch/arm/mach-omap1/irq.c
+++ b/arch/arm/mach-omap1/irq.c
@@ -238,7 +238,7 @@ void __init omap_init_irq(void)
238 238
239 if (cpu_is_omap730()) 239 if (cpu_is_omap730())
240 omap_unmask_irq(INT_730_IH2_IRQ); 240 omap_unmask_irq(INT_730_IH2_IRQ);
241 else if (cpu_is_omap1510()) 241 else if (cpu_is_omap15xx())
242 omap_unmask_irq(INT_1510_IH2_IRQ); 242 omap_unmask_irq(INT_1510_IH2_IRQ);
243 else if (cpu_is_omap16xx()) 243 else if (cpu_is_omap16xx())
244 omap_unmask_irq(INT_1610_IH2_IRQ); 244 omap_unmask_irq(INT_1610_IH2_IRQ);
diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c
index 4834758d340..8ff23203487 100644
--- a/arch/arm/mach-omap1/pm.c
+++ b/arch/arm/mach-omap1/pm.c
@@ -256,7 +256,8 @@ void omap_pm_suspend(void)
256 tps65010_set_led(LED1, OFF); 256 tps65010_set_led(LED1, OFF);
257 } 257 }
258 258
259 omap_writew(0xffff, ULPD_SOFT_DISABLE_REQ_REG); 259 if (!cpu_is_omap15xx())
260 omap_writew(0xffff, ULPD_SOFT_DISABLE_REQ_REG);
260 261
261 /* 262 /*
262 * Step 1: turn off interrupts (FIXME: NOTE: already disabled) 263 * Step 1: turn off interrupts (FIXME: NOTE: already disabled)
@@ -434,7 +435,8 @@ void omap_pm_suspend(void)
434 MPUI1610_RESTORE(OMAP_IH2_3_MIR); 435 MPUI1610_RESTORE(OMAP_IH2_3_MIR);
435 } 436 }
436 437
437 omap_writew(0, ULPD_SOFT_DISABLE_REQ_REG); 438 if (!cpu_is_omap15xx())
439 omap_writew(0, ULPD_SOFT_DISABLE_REQ_REG);
438 440
439 /* 441 /*
440 * Reenable interrupts 442 * Reenable interrupts