Re: [PATCH] scsi: advansys needs ISA dma api for ISA support

From: Arnd Bergmann
Date: Mon Oct 12 2015 - 11:44:19 EST


On Monday 12 October 2015 08:28:01 James Bottomley wrote:
> >
> > diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
> > index d2f480b04a52..d4aa6a1a806c 100644
> > --- a/drivers/scsi/Kconfig
> > +++ b/drivers/scsi/Kconfig
> > @@ -499,6 +499,7 @@ config SCSI_ADVANSYS
> > tristate "AdvanSys SCSI support"
> > depends on SCSI
> > depends on ISA || EISA || PCI
> > + depends on ISA_DMA_API || !ISA
> > help
> > This is a driver for all SCSI host adapters manufactured by
> > AdvanSys. It is documented in the kernel source in
>
> This fix looks wrong. the request_dma code is confined within an #ifdef
> CONFIG_ISA section but the advansys doesn't actually require an ISA DMA
> channel to function, so you're saying there are systems with ISA but
> without request_dma()?

Yes. Specifically, the ARM EBSA110 and SA1100 platforms can have some
PIO based ISA devices, but they have nothing close enough to an i8237
to support the request_dma interface.

> If so I think we leave the depends alone and try to bring the board up
> in NO_ISA_DMA mode.

Ok

> That means the narrowboard check should be gated by
> CONFIG_ISA_DMA_API ... do we also have to gate free_dma as well?

Yes. A few more as well, as we also don't want to do inb/outb
instructions to a DMA controller that is not there.

I've compile-tested the patch below.

Arnd

8<-------