--- zzzz-none-000/linux-2.4.17/include/asm-ppc/ide.h 2001-10-08 18:40:13.000000000 +0000 +++ sangam-fb-322/linux-2.4.17/include/asm-ppc/ide.h 2004-11-24 13:21:50.000000000 +0000 @@ -18,6 +18,7 @@ #include #include #include +#include #ifndef MAX_HWIFS #define MAX_HWIFS 8 @@ -28,7 +29,7 @@ #include #include #include -#include + extern void ppc_generic_ide_fix_driveid(struct hd_driveid *id); @@ -74,11 +75,27 @@ } static __inline__ void ide_init_hwif_ports(hw_regs_t *hw, - ide_ioreg_t data_port, - ide_ioreg_t ctrl_port, int *irq) + ide_ioreg_t data_port, + ide_ioreg_t ctrl_port, int *irq) { + ide_ioreg_t reg = data_port; + int i; + if (ppc_ide_md.ide_init_hwif != NULL) ppc_ide_md.ide_init_hwif(hw, data_port, ctrl_port, irq); + else { + for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) + hw->io_ports[i] = reg++; + + if (ctrl_port) { + hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port; + } else { + hw->io_ports[IDE_CONTROL_OFFSET] = + hw->io_ports[IDE_DATA_OFFSET] + 0x206; + } + if (irq != NULL) + *irq = 0; + } } static __inline__ void ide_init_default_hwifs(void)