diff options
-rw-r--r-- | drivers/ide/ide.c | 11 | ||||
-rw-r--r-- | include/linux/ide.h | 32 |
2 files changed, 9 insertions, 34 deletions
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index a60b956db519..9e4d503bc716 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c @@ -197,13 +197,20 @@ static void __init init_ide_data (void) /* Initialise all interface structures */ for (index = 0; index < MAX_HWIFS; ++index) { ide_hwif_t *hwif = &ide_hwifs[index]; + unsigned long io_addr = ide_default_io_base(index); + unsigned long ctl_addr = ide_default_io_ctl(io_addr); ide_init_port_data(hwif, index); +#ifdef CONFIG_IDE_ARCH_OBSOLETE_INIT memset(&hw, 0, sizeof(hw)); - ide_init_hwif_ports(&hw, ide_default_io_base(index), 0, - &hwif->irq); + ide_std_init_ports(&hw, io_addr, ctl_addr); +# ifdef CONFIG_PPC32 + if (ppc_ide_md.ide_init_hwif) + ppc_ide_md.ide_init_hwif(&hw, io_addr, 0, &hwif->irq); +# endif memcpy(hwif->io_ports, hw.io_ports, sizeof(hw.io_ports)); +#endif hwif->noprobe = !hwif->io_ports[IDE_DATA_OFFSET]; #if !defined(CONFIG_PPC32) || !defined(CONFIG_PCI) hwif->irq = diff --git a/include/linux/ide.h b/include/linux/ide.h index 7744ac9d1ff9..f4c7db572a16 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h @@ -215,38 +215,6 @@ static inline void ide_std_init_ports(hw_regs_t *hw, # define ide_init_default_irq(base) (0) #endif -#ifdef CONFIG_IDE_ARCH_OBSOLETE_INIT -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, ide_default_io_ctl(io_addr)); - 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 -} -#else -static inline void ide_init_hwif_ports(hw_regs_t *hw, - unsigned long io_addr, - unsigned long ctl_addr, - int *irq) -{ - if (io_addr || ctl_addr) - printk(KERN_WARNING "%s: must not be called\n", __FUNCTION__); -} -#endif /* CONFIG_IDE_ARCH_OBSOLETE_INIT */ - /* Currently only m68k, apus and m8xx need it */ #ifndef IDE_ARCH_ACK_INTR # define ide_ack_intr(hwif) (1) |