/* This gets invoked by the IDE driver once for each channel. It performs channel-specific pre-initialization before drive probing.  */
static void __devinit init_hwif_cs5530(ide_hwif_t *hwif)
/* This gets invoked by the IDE driver once for each channel. It performs channel-specific pre-initialization before drive probing.  */
static void __devinit init_hwif_cs5530(ide_hwif_t *hwif)
{
	unsigned long basereg;
	u32 d0_timings;
	basereg = CS5530_BASEREG(hwif);
	d0_timings = inl(basereg + 0);
	if (CS5530_BAD_PIO(d0_timings))
		outl(cs5530_pio_timings[(d0_timings >> 31) & 1][0], basereg + 0);
	if (CS5530_BAD_PIO(inl(basereg + 8)))
		outl(cs5530_pio_timings[(d0_timings >> 31) & 1][0], basereg + 8);
}