* [PATCH 0/4] ARM randconfig fixes for SCSI
@ 2014-06-05 21:29 Arnd Bergmann
2014-06-05 21:29 ` [PATCH 1/4] [SCSI] Don't build AdvanSys on ARM Arnd Bergmann
` (4 more replies)
0 siblings, 5 replies; 11+ messages in thread
From: Arnd Bergmann @ 2014-06-05 21:29 UTC (permalink / raw)
To: James E.J. Bottomley
Cc: linux-scsi, linux-arm-kernel, Arnd Bergmann, Matthew Wilcox,
Finn Thain, Michael Schmitz
Hi James,
These are some fixes for ancient randconfig build bugs I
ran into on ARM. Clearly none of these are urgent, but it
would be nice to have them merged for 3.17 if they look
good to you.
Arnd Bergmann (4):
[SCSI] Don't build AdvanSys on ARM
[SCSI] pas16: don't call free_dma()
[SCSI] qlogicfas: don't call free_dma()
[SCSI] NCR53c406a: don't call free_dma() by default
drivers/scsi/Kconfig | 2 +-
drivers/scsi/NCR53c406a.c | 2 +-
drivers/scsi/pas16.c | 2 --
drivers/scsi/qlogicfas.c | 2 --
4 files changed, 2 insertions(+), 6 deletions(-)
--
1.8.3.2
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Finn Thain <fthain@telegraphics.com.au>
Cc: Michael Schmitz <schmitzmic@gmail.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/4] [SCSI] Don't build AdvanSys on ARM
2014-06-05 21:29 [PATCH 0/4] ARM randconfig fixes for SCSI Arnd Bergmann
@ 2014-06-05 21:29 ` Arnd Bergmann
2014-06-11 12:17 ` Christoph Hellwig
2014-06-05 21:29 ` [PATCH 2/4] [SCSI] pas16: don't call free_dma() Arnd Bergmann
` (3 subsequent siblings)
4 siblings, 1 reply; 11+ messages in thread
From: Arnd Bergmann @ 2014-06-05 21:29 UTC (permalink / raw)
To: James E.J. Bottomley
Cc: linux-scsi, linux-arm-kernel, Arnd Bergmann, Matthew Wilcox
The advansys SCSI driver uses the dma_cache_sync function, which is
not available on the ARM architecture, and cannot be implemented
correctly, so we always get this build error:
drivers/scsi/advansys.c: In function 'advansys_get_sense_buffer_dma':
drivers/scsi/advansys.c:7882:2: error: implicit declaration of function 'dma_cache_sync' [-Werror=implicit-function-declaration]
dma_cache_sync(board->dev, scp->sense_buffer,
^
It seems nobody has missed this driver so far, so let's just
disable it for ARM to help randconfig builds.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Matthew Wilcox <matthew@wil.cx>
---
drivers/scsi/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
index baca589..8368e00 100644
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -528,7 +528,7 @@ config SCSI_DPT_I2O
config SCSI_ADVANSYS
tristate "AdvanSys SCSI support"
- depends on SCSI && VIRT_TO_BUS
+ depends on SCSI && VIRT_TO_BUS && !ARM
depends on ISA || EISA || PCI
help
This is a driver for all SCSI host adapters manufactured by
--
1.8.3.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/4] [SCSI] pas16: don't call free_dma()
2014-06-05 21:29 [PATCH 0/4] ARM randconfig fixes for SCSI Arnd Bergmann
2014-06-05 21:29 ` [PATCH 1/4] [SCSI] Don't build AdvanSys on ARM Arnd Bergmann
@ 2014-06-05 21:29 ` Arnd Bergmann
2014-06-11 12:17 ` Christoph Hellwig
2014-06-05 21:29 ` [PATCH 3/4] [SCSI] qlogicfas: " Arnd Bergmann
` (2 subsequent siblings)
4 siblings, 1 reply; 11+ messages in thread
From: Arnd Bergmann @ 2014-06-05 21:29 UTC (permalink / raw)
To: James E.J. Bottomley
Cc: linux-scsi, linux-arm-kernel, Arnd Bergmann, Finn Thain,
Michael Schmitz
The pas16 scsi driver does not use DMA, and the call to free_dma()
in its exit function seems to have been copied incorrectly from
another driver but never caused trouble.
One case where it gets in the way is randconfig builds on ARM,
which depending on the configuration does not provide a free_dma()
function, causing this build error:
drivers/scsi/pas16.c: In function 'pas16_release':
drivers/scsi/pas16.c:611:3: error: implicit declaration of function 'free_dma' [-Werror=implicit-function-declaration]
free_dma(shost->dma_channel);
Removing the incorrect function calls should be the obvious
fix for this, with no downsides.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Finn Thain <fthain@telegraphics.com.au>
Cc: Michael Schmitz <schmitzmic@gmail.com>
---
drivers/scsi/pas16.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/scsi/pas16.c b/drivers/scsi/pas16.c
index 0d78a4d..80bacb5 100644
--- a/drivers/scsi/pas16.c
+++ b/drivers/scsi/pas16.c
@@ -607,8 +607,6 @@ static int pas16_release(struct Scsi_Host *shost)
if (shost->irq)
free_irq(shost->irq, shost);
NCR5380_exit(shost);
- if (shost->dma_channel != 0xff)
- free_dma(shost->dma_channel);
if (shost->io_port && shost->n_io_port)
release_region(shost->io_port, shost->n_io_port);
scsi_unregister(shost);
--
1.8.3.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 3/4] [SCSI] qlogicfas: don't call free_dma()
2014-06-05 21:29 [PATCH 0/4] ARM randconfig fixes for SCSI Arnd Bergmann
2014-06-05 21:29 ` [PATCH 1/4] [SCSI] Don't build AdvanSys on ARM Arnd Bergmann
2014-06-05 21:29 ` [PATCH 2/4] [SCSI] pas16: don't call free_dma() Arnd Bergmann
@ 2014-06-05 21:29 ` Arnd Bergmann
2014-06-11 12:17 ` Christoph Hellwig
2014-06-05 21:29 ` [PATCH 4/4] [SCSI] NCR53c406a: don't call free_dma() by default Arnd Bergmann
2014-06-25 11:04 ` [PATCH 0/4] ARM randconfig fixes for SCSI Christoph Hellwig
4 siblings, 1 reply; 11+ messages in thread
From: Arnd Bergmann @ 2014-06-05 21:29 UTC (permalink / raw)
To: James E.J. Bottomley; +Cc: linux-scsi, linux-arm-kernel, Arnd Bergmann
The qlogicfas scsi driver does not use DMA, and the call to free_dma()
in its exit function seems to have been copied incorrectly from
another driver but never caused trouble.
One case where it gets in the way is randconfig builds on ARM,
which depending on the configuration does not provide a free_dma()
function, causing this build error:
drivers/scsi/qlogicfas.c: In function 'qlogicfas_release':
drivers/scsi/qlogicfas.c:175:3: error: implicit declaration of function 'free_dma' [-Werror=implicit-function-declaration]
free_dma(shost->dma_channel);
^
Removing the incorrect function calls should be the obvious
fix for this, with no downsides.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/scsi/qlogicfas.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/scsi/qlogicfas.c b/drivers/scsi/qlogicfas.c
index 13d628b..a22bb1b 100644
--- a/drivers/scsi/qlogicfas.c
+++ b/drivers/scsi/qlogicfas.c
@@ -171,8 +171,6 @@ static int qlogicfas_release(struct Scsi_Host *shost)
qlogicfas408_disable_ints(priv);
free_irq(shost->irq, shost);
}
- if (shost->dma_channel != 0xff)
- free_dma(shost->dma_channel);
if (shost->io_port && shost->n_io_port)
release_region(shost->io_port, shost->n_io_port);
scsi_host_put(shost);
--
1.8.3.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 4/4] [SCSI] NCR53c406a: don't call free_dma() by default
2014-06-05 21:29 [PATCH 0/4] ARM randconfig fixes for SCSI Arnd Bergmann
` (2 preceding siblings ...)
2014-06-05 21:29 ` [PATCH 3/4] [SCSI] qlogicfas: " Arnd Bergmann
@ 2014-06-05 21:29 ` Arnd Bergmann
2014-06-11 12:17 ` Christoph Hellwig
2014-06-25 11:04 ` [PATCH 0/4] ARM randconfig fixes for SCSI Christoph Hellwig
4 siblings, 1 reply; 11+ messages in thread
From: Arnd Bergmann @ 2014-06-05 21:29 UTC (permalink / raw)
To: James E.J. Bottomley; +Cc: linux-scsi, linux-arm-kernel, Arnd Bergmann
The NCR53c406a scsi driver normally does not use DMA, unless
the USE_PIO macro is disabled by modifying the source code.
The call to free_dma() for some reason uses #ifdef USE_DMA,
which does not do the right thing, since USE_DMA is defined
as a boolean that is either 0 or 1, but always present.
One case where it gets in the way is randconfig builds on ARM,
which depending on the configuration does not provide a free_dma()
function, causing this build error:
drivers/scsi/NCR53c406a.c: In function 'NCR53c406a_release':
drivers/scsi/NCR53c406a.c:600:3: error: implicit declaration of function 'free_dma' [-Werror=implicit-function-declaration]
free_dma(shost->dma_channel);
^
This changes the code to use #if USE_DMA, to match the
rest of the file, which seems to be what the author intended.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/scsi/NCR53c406a.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/NCR53c406a.c b/drivers/scsi/NCR53c406a.c
index c91888a..2c78785 100644
--- a/drivers/scsi/NCR53c406a.c
+++ b/drivers/scsi/NCR53c406a.c
@@ -595,7 +595,7 @@ static int NCR53c406a_release(struct Scsi_Host *shost)
{
if (shost->irq)
free_irq(shost->irq, NULL);
-#ifdef USE_DMA
+#if USE_DMA
if (shost->dma_channel != 0xff)
free_dma(shost->dma_channel);
#endif
--
1.8.3.2
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 1/4] [SCSI] Don't build AdvanSys on ARM
2014-06-05 21:29 ` [PATCH 1/4] [SCSI] Don't build AdvanSys on ARM Arnd Bergmann
@ 2014-06-11 12:17 ` Christoph Hellwig
0 siblings, 0 replies; 11+ messages in thread
From: Christoph Hellwig @ 2014-06-11 12:17 UTC (permalink / raw)
To: Arnd Bergmann
Cc: James E.J. Bottomley, linux-scsi, linux-arm-kernel,
Matthew Wilcox
Looks good,
Reviewed-by: Christoph Hellwig <hch@lst.de>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/4] [SCSI] pas16: don't call free_dma()
2014-06-05 21:29 ` [PATCH 2/4] [SCSI] pas16: don't call free_dma() Arnd Bergmann
@ 2014-06-11 12:17 ` Christoph Hellwig
0 siblings, 0 replies; 11+ messages in thread
From: Christoph Hellwig @ 2014-06-11 12:17 UTC (permalink / raw)
To: Arnd Bergmann
Cc: James E.J. Bottomley, linux-scsi, linux-arm-kernel, Finn Thain,
Michael Schmitz
On Thu, Jun 05, 2014 at 11:29:47PM +0200, Arnd Bergmann wrote:
> The pas16 scsi driver does not use DMA, and the call to free_dma()
> in its exit function seems to have been copied incorrectly from
> another driver but never caused trouble.
>
> One case where it gets in the way is randconfig builds on ARM,
> which depending on the configuration does not provide a free_dma()
> function, causing this build error:
Looks good,
Reviewed-by: Christoph Hellwig <hch@lst.de>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/4] [SCSI] qlogicfas: don't call free_dma()
2014-06-05 21:29 ` [PATCH 3/4] [SCSI] qlogicfas: " Arnd Bergmann
@ 2014-06-11 12:17 ` Christoph Hellwig
0 siblings, 0 replies; 11+ messages in thread
From: Christoph Hellwig @ 2014-06-11 12:17 UTC (permalink / raw)
To: Arnd Bergmann; +Cc: James E.J. Bottomley, linux-scsi, linux-arm-kernel
On Thu, Jun 05, 2014 at 11:29:48PM +0200, Arnd Bergmann wrote:
> The qlogicfas scsi driver does not use DMA, and the call to free_dma()
> in its exit function seems to have been copied incorrectly from
> another driver but never caused trouble.
>
> One case where it gets in the way is randconfig builds on ARM,
> which depending on the configuration does not provide a free_dma()
> function, causing this build error:
Looks good,
Reviewed-by: Christoph Hellwig <hch@lst.de>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 4/4] [SCSI] NCR53c406a: don't call free_dma() by default
2014-06-05 21:29 ` [PATCH 4/4] [SCSI] NCR53c406a: don't call free_dma() by default Arnd Bergmann
@ 2014-06-11 12:17 ` Christoph Hellwig
0 siblings, 0 replies; 11+ messages in thread
From: Christoph Hellwig @ 2014-06-11 12:17 UTC (permalink / raw)
To: Arnd Bergmann; +Cc: James E.J. Bottomley, linux-scsi, linux-arm-kernel
On Thu, Jun 05, 2014 at 11:29:49PM +0200, Arnd Bergmann wrote:
> The NCR53c406a scsi driver normally does not use DMA, unless
> the USE_PIO macro is disabled by modifying the source code.
>
> The call to free_dma() for some reason uses #ifdef USE_DMA,
> which does not do the right thing, since USE_DMA is defined
> as a boolean that is either 0 or 1, but always present.
>
> One case where it gets in the way is randconfig builds on ARM,
> which depending on the configuration does not provide a free_dma()
> function, causing this build error:
Looks good,
Reviewed-by: Christoph Hellwig <hch@lst.de>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 0/4] ARM randconfig fixes for SCSI
2014-06-05 21:29 [PATCH 0/4] ARM randconfig fixes for SCSI Arnd Bergmann
` (3 preceding siblings ...)
2014-06-05 21:29 ` [PATCH 4/4] [SCSI] NCR53c406a: don't call free_dma() by default Arnd Bergmann
@ 2014-06-25 11:04 ` Christoph Hellwig
2014-06-26 4:11 ` Finn Thain
4 siblings, 1 reply; 11+ messages in thread
From: Christoph Hellwig @ 2014-06-25 11:04 UTC (permalink / raw)
To: Arnd Bergmann
Cc: James E.J. Bottomley, linux-scsi, linux-arm-kernel,
Matthew Wilcox, Finn Thain, Michael Schmitz
Can I get another set of reviews for these?
On Thu, Jun 05, 2014 at 11:29:45PM +0200, Arnd Bergmann wrote:
> Hi James,
>
> These are some fixes for ancient randconfig build bugs I
> ran into on ARM. Clearly none of these are urgent, but it
> would be nice to have them merged for 3.17 if they look
> good to you.
>
> Arnd Bergmann (4):
> [SCSI] Don't build AdvanSys on ARM
> [SCSI] pas16: don't call free_dma()
> [SCSI] qlogicfas: don't call free_dma()
> [SCSI] NCR53c406a: don't call free_dma() by default
>
> drivers/scsi/Kconfig | 2 +-
> drivers/scsi/NCR53c406a.c | 2 +-
> drivers/scsi/pas16.c | 2 --
> drivers/scsi/qlogicfas.c | 2 --
> 4 files changed, 2 insertions(+), 6 deletions(-)
>
> --
> 1.8.3.2
>
> Cc: Matthew Wilcox <matthew@wil.cx>
> Cc: Finn Thain <fthain@telegraphics.com.au>
> Cc: Michael Schmitz <schmitzmic@gmail.com>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
---end quoted text---
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 0/4] ARM randconfig fixes for SCSI
2014-06-25 11:04 ` [PATCH 0/4] ARM randconfig fixes for SCSI Christoph Hellwig
@ 2014-06-26 4:11 ` Finn Thain
0 siblings, 0 replies; 11+ messages in thread
From: Finn Thain @ 2014-06-26 4:11 UTC (permalink / raw)
To: Christoph Hellwig
Cc: Arnd Bergmann, James E.J. Bottomley, linux-scsi, linux-arm-kernel,
Matthew Wilcox, Michael Schmitz
On Wed, 25 Jun 2014, Christoph Hellwig wrote:
> Can I get another set of reviews for these?
Reviewed-by: Finn Thain <fthain@telegraphics.com.au>
(All four patches.)
> > [SCSI] pas16: don't call free_dma()
> > [SCSI] qlogicfas: don't call free_dma()
BTW, I found that the suprious free_dma() calls appeared in 2.5.73 when a
generic release implementation was apparently added to drivers that lacked
any release method.
--
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2014-06-26 4:12 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-05 21:29 [PATCH 0/4] ARM randconfig fixes for SCSI Arnd Bergmann
2014-06-05 21:29 ` [PATCH 1/4] [SCSI] Don't build AdvanSys on ARM Arnd Bergmann
2014-06-11 12:17 ` Christoph Hellwig
2014-06-05 21:29 ` [PATCH 2/4] [SCSI] pas16: don't call free_dma() Arnd Bergmann
2014-06-11 12:17 ` Christoph Hellwig
2014-06-05 21:29 ` [PATCH 3/4] [SCSI] qlogicfas: " Arnd Bergmann
2014-06-11 12:17 ` Christoph Hellwig
2014-06-05 21:29 ` [PATCH 4/4] [SCSI] NCR53c406a: don't call free_dma() by default Arnd Bergmann
2014-06-11 12:17 ` Christoph Hellwig
2014-06-25 11:04 ` [PATCH 0/4] ARM randconfig fixes for SCSI Christoph Hellwig
2014-06-26 4:11 ` Finn Thain
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).