Re: [PATCH v4] tty: 8250: fix a missing check for pci_ioremap_bar

From: kbuild test robot
Date: Mon Mar 25 2019 - 03:50:35 EST

Hi Aditya,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tty/tty-testing]
[also build test ERROR on v5.1-rc2 next-20190325]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

base: tty-testing
config: i386-randconfig-x013-201912 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
# save the attached .config to linux build tree
make ARCH=i386

All errors (new ones prefixed by >>):

drivers/tty/serial/8250/8250_lpss.c: In function 'qrk_serial_exit_dma':
>> drivers/tty/serial/8250/8250_lpss.c:207:45: error: invalid type argument of '->' (have 'struct dw_dma_chip')
pci_iounmap(param->dma_dev, &lpss->dma_chip->regs);
>> drivers/tty/serial/8250/8250_lpss.c:207:14: error: passing argument 1 of 'pci_iounmap' from incompatible pointer type [-Werror=incompatible-pointer-types]
pci_iounmap(param->dma_dev, &lpss->dma_chip->regs);
In file included from arch/x86/include/asm/io.h:232:0,
from arch/x86/include/asm/realmode.h:15,
from arch/x86/include/asm/acpi.h:33,
from arch/x86/include/asm/fixmap.h:29,
from arch/x86/include/asm/apic.h:10,
from arch/x86/include/asm/smp.h:13,
from include/linux/smp.h:68,
from include/linux/topology.h:33,
from include/linux/gfp.h:9,
from include/linux/umh.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from drivers/tty/serial/8250/8250_lpss.c:10:
include/asm-generic/iomap.h:107:13: note: expected 'struct pci_dev *' but argument is of type 'struct device *'
extern void pci_iounmap(struct pci_dev *dev, void __iomem *);
cc1: some warnings being treated as errors

vim +207 drivers/tty/serial/8250/8250_lpss.c

198 static void qrk_serial_exit_dma(struct lpss8250 *lpss)
199 {
200 struct dw_dma_slave *param = &lpss->dma_param;
202 if (!param->dma_dev)
203 return;
205 dw_dma_remove(&lpss->dma_chip);
> 207 pci_iounmap(param->dma_dev, &lpss->dma_chip->regs);
208 }
209 #else /* CONFIG_SERIAL_8250_DMA */
210 static void qrk_serial_setup_dma(struct lpss8250 *lpss, struct uart_port *port) {}
211 static void qrk_serial_exit_dma(struct lpss8250 *lpss) {}
212 #endif /* !CONFIG_SERIAL_8250_DMA */

0-DAY kernel test infrastructure Open Source Technology Center Intel Corporation

Attachment: .config.gz
Description: application/gzip