diff options
| author | Bartlomiej Zolnierkiewicz <b.zolnierkiewicz@elka.pw.edu.pl> | 2004-04-19 02:31:45 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-04-19 02:31:45 -0700 |
| commit | 38fc4e8bc0fc6328e79c81fcc397b491fdb163eb (patch) | |
| tree | 6bfd00570574544202c02cda962a37ea4a99b1d6 /include/linux | |
| parent | c407acc1b35868f8d6b74d08fa0db7c3b6d74a79 (diff) | |
[PATCH] generic ide_init_hwif_ports()
Add generic ide_init_hwif_ports() to <linux/ide.h> and remove arch specific
versions except arm26, arm, h8300, i386-pc9800, m68k and m68knommu ones.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/ide.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h index 5da715ef383b..abfe784b24cc 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h @@ -293,8 +293,49 @@ void ide_setup_ports( hw_regs_t *hw, #endif int irq); +static inline void ide_std_init_ports(hw_regs_t *hw, + unsigned long io_addr, + unsigned long ctl_addr) +{ + unsigned int i; + + for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) + hw->io_ports[i] = io_addr++; + + hw->io_ports[IDE_CONTROL_OFFSET] = ctl_addr; +} + #include <asm/ide.h> +/* + * ide_init_hwif_ports() is OBSOLETE and will be removed in 2.7 series. + * + * arm26, arm, h8300, m68k, m68knommu (broken) and i386-pc9800 (broken) + * still have their own versions. + */ +#if !defined(CONFIG_ARM) && !defined(CONFIG_H8300) && !defined(CONFIG_M68K) +static inline void ide_init_hwif_ports(hw_regs_t *hw, + unsigned long io_addr, + unsigned long ctl_addr, + int *irq) +{ + if (!ctl_addr) + ide_std_init_ports(hw, io_addr, io_addr + 0x206); + else + ide_std_init_ports(hw, io_addr, ctl_addr); + + if (irq) + *irq = 0; + + hw->io_ports[IDE_IRQ_OFFSET] = 0; + +#ifdef CONFIG_PPC32 + if (ppc_ide_md.ide_init_hwif) + ppc_ide_md.ide_init_hwif(hw, io_addr, ctl_addr, irq); +#endif +} +#endif /* !ARM && !H8300 && !M68K */ + /* Currently only m68k, apus and m8xx need it */ #ifndef IDE_ARCH_ACK_INTR # define ide_ack_intr(hwif) (1) |
