summaryrefslogtreecommitdiff
path: root/arch/sh/boards/renesas/r7780rp/setup.c
diff options
context:
space:
mode:
authorMagnus Damm <magnus.damm@gmail.com>2008-01-25 07:04:29 (GMT)
committerPaul Mundt <lethal@linux-sh.org>2008-01-28 07:24:01 (GMT)
commitda2d7f4bc578651455a7353995beb87db3cd8815 (patch)
treea3bc7770c59f8e7fdefc1e43351512fb7e2bd6da /arch/sh/boards/renesas/r7780rp/setup.c
parentd4dca67bc2fd6caa4df3db28b6424841b95fde88 (diff)
downloadlinux-fsl-qoriq-da2d7f4bc578651455a7353995beb87db3cd8815.tar.xz
sh: update r7780rp interrupt code
This patch updates the board specific irq code for r7780rp. The new code is very similar to the other highlander implementations, with the exception that the r7780rp handles pci interrupts using IRL. To simplify the pci code and use the same interrupt numbers as r7780mp and r7785rp we hook in to the cpu specific pci vectors. The pci interrupts and the push switch all work well with and without this patch. CF and AX88796 are not ok though and the source of the problem is unknown at this point. The AX88796 does for not detect it's proper mac address (IPL gets it right) and the kernel hangs on CF access. As a workaround this patch removes the CF and the AX88796 from the platform datain case of r7780rp. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/boards/renesas/r7780rp/setup.c')
-rw-r--r--arch/sh/boards/renesas/r7780rp/setup.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/sh/boards/renesas/r7780rp/setup.c b/arch/sh/boards/renesas/r7780rp/setup.c
index 0fdc0bc..a43b477 100644
--- a/arch/sh/boards/renesas/r7780rp/setup.c
+++ b/arch/sh/boards/renesas/r7780rp/setup.c
@@ -179,9 +179,11 @@ static struct platform_device ax88796_device = {
static struct platform_device *r7780rp_devices[] __initdata = {
&r8a66597_usb_host_device,
&m66592_usb_peripheral_device,
- &cf_ide_device,
&heartbeat_device,
+#ifndef CONFIG_SH_R7780RP
+ &cf_ide_device,
&ax88796_device,
+#endif
};
static int __init r7780rp_devices_setup(void)
@@ -316,9 +318,9 @@ void __init highlander_init_irq(void)
break;
#endif
#ifdef CONFIG_SH_R7780RP
- highlander_init_irq_r7780rp();
- ucp = irl2irq;
- break;
+ ucp = highlander_init_irq_r7780rp();
+ if (ucp)
+ break;
#endif
} while (0);