[parisc-linux] parisc-linux.org kernel
Alan Cox
alan@lxorguk.ukuu.org.uk
14 Apr 2003 12:39:46 +0100
On Llu, 2003-04-14 at 13:13, Joel Soete wrote:
> +#if defined(__hppa__) && defined(CONFIG_SUPERIO)
> +#include <asm/superio.h>
> +#endif
> +
Please keep superio out of generic drivers
> if (!using_inta)
> +#if defined(__hppa__) && defined(CONFIG_SUPERIO)
> + hwif->irq = superio_get_ide_irq(); /* legacy mode */
> +#else
> hwif->irq = hwif->channel ? 15 : 14; /* legacy mode */
> +#endif
> else if (!hwif->irq && hwif->mate && hwif->mate->irq)
> hwif->irq = hwif->mate->irq; /* share IRQ with mate */
Ughh. Ok this needs tackling in a more general way. get_legacy_irq(0/1)
perhaps. This isnt the only port we need to sort out.
Ok suppose you added superio.h to include/asm-parisc/ide.h and added
ide_get_legacy(int n) [n=0/1] for interfaces. I can do the same for the
other ports (return 14+n) and it will stay clean in 2.4 and 2.5
> (dev->class & 0x80))) {
> - unsigned long dma_base = ide_get_or_set_dma_base(hwif);
> + u32 dma_base = ide_get_or_set_dma_base(hwif);
Thats reverting a fix. dma_base must be unsigned long for 64bit
platforms. Looks just like a merge error.