Re: [PATCH v2 02/24] mpi3mr: base driver code

kernel test robot
2021-04-07T04:33:59Z

[-- Attachment #1: Type: text/plain, Size: 5874 bytes --]

Hi Kashyap,

I love your patch! Perhaps something to improve:

[auto build test WARNING on e09481c55ba7346ab725f41891e1bb61729dda00]

url: https://github.com/0day-ci/linux/commits/Kashyap-Desai/Introducing-mpi3mr-driver/20210407-100619
base: e09481c55ba7346ab725f41891e1bb61729dda00
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/a8eb9c746b98316c9c916b835394ba7c5f50add3
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Kashyap-Desai/Introducing-mpi3mr-driver/20210407-100619
git checkout a8eb9c746b98316c9c916b835394ba7c5f50add3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

drivers/scsi/mpi3mr/mpi3mr_fw.c: In function 'mpi3mr_isr':
drivers/scsi/mpi3mr/mpi3mr_fw.c:315:6: warning: variable 'midx' set but not used [-Wunused-but-set-variable]
315 | u16 midx;
| ^~~~
drivers/scsi/mpi3mr/mpi3mr_fw.c:314:21: warning: variable 'mrioc' set but not used [-Wunused-but-set-variable]
314 | struct mpi3mr_ioc *mrioc;
| ^~~~~
In file included from include/linux/printk.h:7,
from include/linux/kernel.h:16,
from include/linux/list.h:9,
from include/linux/rculist.h:10,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/blkdev.h:5,
from drivers/scsi/mpi3mr/mpi3mr.h:13,
from drivers/scsi/mpi3mr/mpi3mr_fw.c:10:
drivers/scsi/mpi3mr/mpi3mr_fw.c: In function 'mpi3mr_process_factsdata':
include/linux/kern_levels.h:5:18: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'unsigned int' [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH'
12 | #define KERN_WARNING KERN_SOH "4" /* warning conditions */
| ^~~~~~~~
include/linux/printk.h:353:9: note: in expansion of macro 'KERN_WARNING'
353 | printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~~
drivers/scsi/mpi3mr/mpi3mr_debug.h:49:2: note: in expansion of macro 'pr_warn'
49 | pr_warn("%s: " fmt, (ioc)->name, ##__VA_ARGS__)
| ^~~~~~~
drivers/scsi/mpi3mr/mpi3mr_fw.c:933:3: note: in expansion of macro 'ioc_warn'
933 | ioc_warn(mrioc,
| ^~~~~~~~
drivers/scsi/mpi3mr/mpi3mr_fw.c:934:49: note: format string is defined here
934 | "IOCFactsdata length mismatch driver_sz(%ld) firmware_sz(%d)\n",
| ~~^
| |
| long int
| %d
drivers/scsi/mpi3mr/mpi3mr_fw.c: In function 'mpi3mr_cleanup_resources':
>> drivers/scsi/mpi3mr/mpi3mr_fw.c:1332:16: warning: passing argument 1 of 'iounmap' discards 'volatile' qualifier from pointer target type [-Wdiscarded-qualifiers]
1332 | iounmap(mrioc->sysif_regs);
| ~~~~~^~~~~~~~~~~~
In file included from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:17,
from ./arch/arc/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:10,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/blkdev.h:14,
from drivers/scsi/mpi3mr/mpi3mr.h:13,
from drivers/scsi/mpi3mr/mpi3mr_fw.c:10:
arch/arc/include/asm/io.h:35:41: note: expected 'const void *' but argument is of type 'volatile Mpi3SysIfRegs_t *' {aka 'volatile struct _MPI3_SYSIF_REGISTERS *'}
35 | extern void iounmap(const void __iomem *addr);
| ~~~~~~~~~~~~~~~~~~~~^~~~
drivers/scsi/mpi3mr/mpi3mr_fw.c: In function 'mpi3mr_init_ioc':
drivers/scsi/mpi3mr/mpi3mr_fw.c:1476:14: error: implicit declaration of function 'readq'; did you mean 'readl'? [-Werror=implicit-function-declaration]
1476 | base_info = readq(&mrioc->sysif_regs->IOCInformation);
| ^~~~~
| readl
cc1: some warnings being treated as errors

vim +1332 drivers/scsi/mpi3mr/mpi3mr_fw.c

1315
1316
1317 /**
1318 * mpi3mr_cleanup_resources - Free PCI resources
1319 * @mrioc: Adapter instance reference
1320 *
1321 * Unmap PCI device memory and disable PCI device.
1322 *
1323 * Return: 0 on success and non-zero on failure.
1324 */
1325 void mpi3mr_cleanup_resources(struct mpi3mr_ioc *mrioc)
1326 {
1327 struct pci_dev *pdev = mrioc->pdev;
1328
1329 mpi3mr_cleanup_isr(mrioc);
1330
1331 if (mrioc->sysif_regs) {
> 1332 iounmap(mrioc->sysif_regs);
1333 mrioc->sysif_regs = NULL;
1334 }
1335
1336 if (pci_is_enabled(pdev)) {
1337 if (mrioc->bars)
1338 pci_release_selected_regions(pdev, mrioc->bars);
1339 pci_disable_device(pdev);
1340 }
1341 }
1342

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 67370 bytes --]