2015-06-02 16:27:53

by Jim Davis

[permalink] [raw]
Subject: randconfig build error with next-20150602, in drivers/scsi/advansys.c

Building with the attached random configuration file,

drivers/scsi/advansys.c: In function ‘adv_isr_callback’:
drivers/scsi/advansys.c:6089:3: error: implicit declaration of
function ‘dma_pool_free’ [-Werror=implicit-function-declaration]
dma_pool_free(boardp->adv_sgblk_pool, sgblkp,
^
drivers/scsi/advansys.c: In function ‘adv_get_sglist’:
drivers/scsi/advansys.c:7654:12: error: implicit declaration of
function ‘dma_pool_alloc’ [-Werror=implicit-function-declaration]
sgblkp = dma_pool_alloc(boardp->adv_sgblk_pool, GFP_ATOMIC,
^
drivers/scsi/advansys.c:7654:10: warning: assignment makes pointer from integer
without a cast [-Wint-conversion]
sgblkp = dma_pool_alloc(boardp->adv_sgblk_pool, GFP_ATOMIC,
^
drivers/scsi/advansys.c: In function ‘advansys_wide_init_chip’:
drivers/scsi/advansys.c:10866:26: error: implicit declaration of
function ‘dma_pool_create’ [-Werror=implicit-function-declaration]
board->adv_sgblk_pool = dma_pool_create("adv_sgblk", board->dev,
^
drivers/scsi/advansys.c:10866:24: warning: assignment makes pointer
from integer without a cast [-Wint-conversion]
board->adv_sgblk_pool = dma_pool_create("adv_sgblk", board->dev,
^
drivers/scsi/advansys.c: In function ‘advansys_wide_free_mem’:
drivers/scsi/advansys.c:10916:3: error: implicit declaration of
function ‘dma_pool_destroy’ [-Werror=implicit-function-declaration]
dma_pool_destroy(board->adv_sgblk_pool);
^
drivers/scsi/advansys.c: In function ‘advansys_board_found’:
drivers/scsi/advansys.c:11388:2: warning: label ‘err_shost’ defined
but not used [-Wunused-label]
err_shost:
^
drivers/scsi/advansys.c: At top level:
drivers/scsi/advansys.c:9438:27: warning: ‘Default_3550_EEPROM_Config’
defined but not used [-Wunused-variable]
static ADVEEP_3550_CONFIG Default_3550_EEPROM_Config = {
^
drivers/scsi/advansys.c:9476:27: warning:
‘ADVEEP_3550_Config_Field_IsChar’ defined but not used
[-Wunused-variable]
static ADVEEP_3550_CONFIG ADVEEP_3550_Config_Field_IsChar = {
^
drivers/scsi/advansys.c:9514:30: warning:
‘Default_38C0800_EEPROM_Config’ defined but not used
[-Wunused-variable]
static ADVEEP_38C0800_CONFIG Default_38C0800_EEPROM_Config = {
^
drivers/scsi/advansys.c:9579:30: warning:
‘ADVEEP_38C0800_Config_Field_IsChar’ defined but not used
[-Wunused-variable]
static ADVEEP_38C0800_CONFIG ADVEEP_38C0800_Config_Field_IsChar = {
^
drivers/scsi/advansys.c:9644:30: warning:
‘Default_38C1600_EEPROM_Config’ defined but not used
[-Wunused-variable]
static ADVEEP_38C1600_CONFIG Default_38C1600_EEPROM_Config = {
^
drivers/scsi/advansys.c:9709:30: warning:
‘ADVEEP_38C1600_Config_Field_IsChar’ defined but not used
[-Wunused-variable]
static ADVEEP_38C1600_CONFIG ADVEEP_38C1600_Config_Field_IsChar = {
^


Attachments:
randconfig-1433250919.txt (76.63 kB)

2015-06-03 07:57:05

by Johannes Thumshirn

[permalink] [raw]
Subject: [PATCH] advansys: fix compilation errors and warnings when CONFIG_PCI is not set

Fix compilation errors on forgotten #include <linux/dmapool.h> and warnings when
CONFIG_PCI is not set.

Reported-by: Jim Davis <[email protected]>
Signed-off-by: Johannes Thumshirn <[email protected]>
---
drivers/scsi/advansys.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c
index 14d3aa5..4305178 100644
--- a/drivers/scsi/advansys.c
+++ b/drivers/scsi/advansys.c
@@ -37,6 +37,7 @@
#include <linux/spinlock.h>
#include <linux/dma-mapping.h>
#include <linux/firmware.h>
+#include <linux/dmapool.h>

#include <asm/io.h>
#include <asm/dma.h>
@@ -9435,6 +9436,7 @@ static int AscInitSetConfig(struct pci_dev *pdev, struct Scsi_Host *shost)
* on big-endian platforms so char fields read as words are actually being
* unswapped on big-endian platforms.
*/
+#ifdef CONFIG_PCI
static ADVEEP_3550_CONFIG Default_3550_EEPROM_Config = {
ADV_EEPROM_BIOS_ENABLE, /* cfg_lsw */
0x0000, /* cfg_msw */
@@ -9771,7 +9773,6 @@ static ADVEEP_38C1600_CONFIG ADVEEP_38C1600_Config_Field_IsChar = {
0 /* 63 reserved */
};

-#ifdef CONFIG_PCI
/*
* Wait for EEPROM command to complete
*/
@@ -11385,7 +11386,9 @@ static int advansys_board_found(struct Scsi_Host *shost, unsigned int iop,
err_unmap:
if (boardp->ioremap_addr)
iounmap(boardp->ioremap_addr);
+#ifdef CONFIG_PCI
err_shost:
+#endif
return ret;
}

--
1.8.5.2

2015-06-05 13:09:28

by Hannes Reinecke

[permalink] [raw]
Subject: Re: [PATCH] advansys: fix compilation errors and warnings when CONFIG_PCI is not set

On 06/03/2015 09:56 AM, Johannes Thumshirn wrote:
> Fix compilation errors on forgotten #include <linux/dmapool.h> and warnings when
> CONFIG_PCI is not set.
>
> Reported-by: Jim Davis <[email protected]>
> Signed-off-by: Johannes Thumshirn <[email protected]>
> ---
> drivers/scsi/advansys.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c
> index 14d3aa5..4305178 100644
> --- a/drivers/scsi/advansys.c
> +++ b/drivers/scsi/advansys.c
> @@ -37,6 +37,7 @@
> #include <linux/spinlock.h>
> #include <linux/dma-mapping.h>
> #include <linux/firmware.h>
> +#include <linux/dmapool.h>
>
> #include <asm/io.h>
> #include <asm/dma.h>
> @@ -9435,6 +9436,7 @@ static int AscInitSetConfig(struct pci_dev *pdev, struct Scsi_Host *shost)
> * on big-endian platforms so char fields read as words are actually being
> * unswapped on big-endian platforms.
> */
> +#ifdef CONFIG_PCI
> static ADVEEP_3550_CONFIG Default_3550_EEPROM_Config = {
> ADV_EEPROM_BIOS_ENABLE, /* cfg_lsw */
> 0x0000, /* cfg_msw */
> @@ -9771,7 +9773,6 @@ static ADVEEP_38C1600_CONFIG ADVEEP_38C1600_Config_Field_IsChar = {
> 0 /* 63 reserved */
> };
>
> -#ifdef CONFIG_PCI
> /*
> * Wait for EEPROM command to complete
> */
> @@ -11385,7 +11386,9 @@ static int advansys_board_found(struct Scsi_Host *shost, unsigned int iop,
> err_unmap:
> if (boardp->ioremap_addr)
> iounmap(boardp->ioremap_addr);
> +#ifdef CONFIG_PCI
> err_shost:
> +#endif
> return ret;
> }
>
>
Reviewed-by: Hannes Reinecke <[email protected]>

Cheers,

Hannes
--
Dr. Hannes Reinecke zSeries & Storage
[email protected] +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 N?rnberg
GF: F. Imend?rffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG N?rnberg)