diff options
author | Hirokazu Takata <takata@linux-m32r.org> | 2006-12-08 05:35:57 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-08 11:28:37 -0500 |
commit | d93f7de8c5dfefb030a5e65d0857176879bf78e9 (patch) | |
tree | 17e7f1fbf926ac190943918e780586f709573413 /arch/m32r/kernel/setup_opsput.c | |
parent | 6b8bd3f4b2e9d0fbfd0e7d75ba1cdc79c6876ecc (diff) |
[PATCH] m32r: bootloader support for OPSPUT platform
This patch supports "m32r-g00ff" bootloader for an OPSPUT platform.
Applying this patch, it is possible to do ATA-boot from an IDE drive or
HTTP-boot from network by m32r-g00ff.
* arch/m32r/boot/compressed/m32r_sio.c: Fix hangup on OPSPUT at boot.
* arch/m32r/kernel/io_opsput.c: IDE support for OPSPUT.
* arch/m32r/kernel/setup_opsput.c: ditto.
* include/asm-m32r/ide.h: ditto.
Signed-off-by: Kazuhiro Inaoka <inaoka@linux-m32r.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/m32r/kernel/setup_opsput.c')
-rw-r--r-- | arch/m32r/kernel/setup_opsput.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/arch/m32r/kernel/setup_opsput.c b/arch/m32r/kernel/setup_opsput.c index 61d3b01cbe07..62d6b71de45f 100644 --- a/arch/m32r/kernel/setup_opsput.c +++ b/arch/m32r/kernel/setup_opsput.c | |||
@@ -218,13 +218,13 @@ static void shutdown_opsput_lanpld_irq(unsigned int irq) | |||
218 | 218 | ||
219 | static struct hw_interrupt_type opsput_lanpld_irq_type = | 219 | static struct hw_interrupt_type opsput_lanpld_irq_type = |
220 | { | 220 | { |
221 | "OPSPUT-PLD-LAN-IRQ", | 221 | .typename = "OPSPUT-PLD-LAN-IRQ", |
222 | startup_opsput_lanpld_irq, | 222 | .startup = startup_opsput_lanpld_irq, |
223 | shutdown_opsput_lanpld_irq, | 223 | .shutdown = shutdown_opsput_lanpld_irq, |
224 | enable_opsput_lanpld_irq, | 224 | .enable = enable_opsput_lanpld_irq, |
225 | disable_opsput_lanpld_irq, | 225 | .disable = disable_opsput_lanpld_irq, |
226 | mask_and_ack_opsput_lanpld, | 226 | .ack = mask_and_ack_opsput_lanpld, |
227 | end_opsput_lanpld_irq | 227 | .end = end_opsput_lanpld_irq |
228 | }; | 228 | }; |
229 | 229 | ||
230 | /* | 230 | /* |
@@ -374,7 +374,6 @@ void __init init_IRQ(void) | |||
374 | disable_opsput_pld_irq(PLD_IRQ_SIO0_SND); | 374 | disable_opsput_pld_irq(PLD_IRQ_SIO0_SND); |
375 | #endif /* CONFIG_SERIAL_M32R_PLDSIO */ | 375 | #endif /* CONFIG_SERIAL_M32R_PLDSIO */ |
376 | 376 | ||
377 | #if defined(CONFIG_M32R_CFC) | ||
378 | /* INT#1: CFC IREQ on PLD */ | 377 | /* INT#1: CFC IREQ on PLD */ |
379 | irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED; | 378 | irq_desc[PLD_IRQ_CFIREQ].status = IRQ_DISABLED; |
380 | irq_desc[PLD_IRQ_CFIREQ].chip = &opsput_pld_irq_type; | 379 | irq_desc[PLD_IRQ_CFIREQ].chip = &opsput_pld_irq_type; |
@@ -398,8 +397,6 @@ void __init init_IRQ(void) | |||
398 | irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */ | 397 | irq_desc[PLD_IRQ_CFC_EJECT].depth = 1; /* disable nested irq */ |
399 | pld_icu_data[irq2pldirq(PLD_IRQ_CFC_EJECT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* 'H' edge sense */ | 398 | pld_icu_data[irq2pldirq(PLD_IRQ_CFC_EJECT)].icucr = PLD_ICUCR_IEN|PLD_ICUCR_ISMOD02; /* 'H' edge sense */ |
400 | disable_opsput_pld_irq(PLD_IRQ_CFC_EJECT); | 399 | disable_opsput_pld_irq(PLD_IRQ_CFC_EJECT); |
401 | #endif /* CONFIG_M32R_CFC */ | ||
402 | |||
403 | 400 | ||
404 | /* | 401 | /* |
405 | * INT0# is used for LAN, DIO | 402 | * INT0# is used for LAN, DIO |