tree: git://git.infradead.org/users/hch/block.git remove-dma-mask-indirection head: 7f0f0d04b7c2d957bee8220cf37362ed7b956a3b commit: 7f0f0d04b7c2d957bee8220cf37362ed7b956a3b [2/2] device.h: make dma_mask a scalar instead of a pointer config: ia64-allmodconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 9.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 7f0f0d04b7c2d957bee8220cf37362ed7b956a3b # save the attached .config to linux build tree GCC_VERSION=9.2.0 make.cross ARCH=ia64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): drivers/usb/cdns3/cdns3-pci-wrap.c: In function 'cdns3_pci_probe': >> drivers/usb/cdns3/cdns3-pci-wrap.c:157:28: error: 'struct pci_dev' has no member named 'dma_mask' 157 | plat_info.dma_mask = pdev->dma_mask; | ^~ vim +157 drivers/usb/cdns3/cdns3-pci-wrap.c 7733f6c32e36ff Pawel Laszczak 2019-08-26 65 7733f6c32e36ff Pawel Laszczak 2019-08-26 66 static int cdns3_pci_probe(struct pci_dev *pdev, 7733f6c32e36ff Pawel Laszczak 2019-08-26 67 const struct pci_device_id *id) 7733f6c32e36ff Pawel Laszczak 2019-08-26 68 { 7733f6c32e36ff Pawel Laszczak 2019-08-26 69 struct platform_device_info plat_info; 7733f6c32e36ff Pawel Laszczak 2019-08-26 70 struct cdns3_wrap *wrap; 7733f6c32e36ff Pawel Laszczak 2019-08-26 71 struct resource *res; 7733f6c32e36ff Pawel Laszczak 2019-08-26 72 struct pci_dev *func; 7733f6c32e36ff Pawel Laszczak 2019-08-26 73 int err; 7733f6c32e36ff Pawel Laszczak 2019-08-26 74 7733f6c32e36ff Pawel Laszczak 2019-08-26 75 /* 7733f6c32e36ff Pawel Laszczak 2019-08-26 76 * for GADGET/HOST PCI (devfn) function number is 0, 7733f6c32e36ff Pawel Laszczak 2019-08-26 77 * for OTG PCI (devfn) function number is 1 7733f6c32e36ff Pawel Laszczak 2019-08-26 78 */ 7733f6c32e36ff Pawel Laszczak 2019-08-26 79 if (!id || (pdev->devfn != PCI_DEV_FN_HOST_DEVICE && 7733f6c32e36ff Pawel Laszczak 2019-08-26 80 pdev->devfn != PCI_DEV_FN_OTG)) 7733f6c32e36ff Pawel Laszczak 2019-08-26 81 return -EINVAL; 7733f6c32e36ff Pawel Laszczak 2019-08-26 82 7733f6c32e36ff Pawel Laszczak 2019-08-26 83 func = cdns3_get_second_fun(pdev); 7733f6c32e36ff Pawel Laszczak 2019-08-26 84 if (unlikely(!func)) 7733f6c32e36ff Pawel Laszczak 2019-08-26 85 return -EINVAL; 7733f6c32e36ff Pawel Laszczak 2019-08-26 86 7733f6c32e36ff Pawel Laszczak 2019-08-26 87 err = pcim_enable_device(pdev); 7733f6c32e36ff Pawel Laszczak 2019-08-26 88 if (err) { 7733f6c32e36ff Pawel Laszczak 2019-08-26 89 dev_err(&pdev->dev, "Enabling PCI device has failed %d\n", err); 7733f6c32e36ff Pawel Laszczak 2019-08-26 90 return err; 7733f6c32e36ff Pawel Laszczak 2019-08-26 91 } 7733f6c32e36ff Pawel Laszczak 2019-08-26 92 7733f6c32e36ff Pawel Laszczak 2019-08-26 93 pci_set_master(pdev); 7733f6c32e36ff Pawel Laszczak 2019-08-26 94 7733f6c32e36ff Pawel Laszczak 2019-08-26 95 if (pci_is_enabled(func)) { 7733f6c32e36ff Pawel Laszczak 2019-08-26 96 wrap = pci_get_drvdata(func); 7733f6c32e36ff Pawel Laszczak 2019-08-26 97 } else { 7733f6c32e36ff Pawel Laszczak 2019-08-26 98 wrap = kzalloc(sizeof(*wrap), GFP_KERNEL); 7733f6c32e36ff Pawel Laszczak 2019-08-26 99 if (!wrap) { 7733f6c32e36ff Pawel Laszczak 2019-08-26 100 pci_disable_device(pdev); 7733f6c32e36ff Pawel Laszczak 2019-08-26 101 return -ENOMEM; 7733f6c32e36ff Pawel Laszczak 2019-08-26 102 } 7733f6c32e36ff Pawel Laszczak 2019-08-26 103 } 7733f6c32e36ff Pawel Laszczak 2019-08-26 104 7733f6c32e36ff Pawel Laszczak 2019-08-26 105 res = wrap->dev_res; 7733f6c32e36ff Pawel Laszczak 2019-08-26 106 7733f6c32e36ff Pawel Laszczak 2019-08-26 107 if (pdev->devfn == PCI_DEV_FN_HOST_DEVICE) { 7733f6c32e36ff Pawel Laszczak 2019-08-26 108 /* function 0: host(BAR_0) + device(BAR_1).*/ 7733f6c32e36ff Pawel Laszczak 2019-08-26 109 dev_dbg(&pdev->dev, "Initialize Device resources\n"); 7733f6c32e36ff Pawel Laszczak 2019-08-26 110 res[RES_DEV_ID].start = pci_resource_start(pdev, PCI_BAR_DEV); 7733f6c32e36ff Pawel Laszczak 2019-08-26 111 res[RES_DEV_ID].end = pci_resource_end(pdev, PCI_BAR_DEV); 7733f6c32e36ff Pawel Laszczak 2019-08-26 112 res[RES_DEV_ID].name = "dev"; 7733f6c32e36ff Pawel Laszczak 2019-08-26 113 res[RES_DEV_ID].flags = IORESOURCE_MEM; 7733f6c32e36ff Pawel Laszczak 2019-08-26 114 dev_dbg(&pdev->dev, "USBSS-DEV physical base addr: %pa\n", 7733f6c32e36ff Pawel Laszczak 2019-08-26 115 &res[RES_DEV_ID].start); 7733f6c32e36ff Pawel Laszczak 2019-08-26 116 7733f6c32e36ff Pawel Laszczak 2019-08-26 117 res[RES_HOST_ID].start = pci_resource_start(pdev, PCI_BAR_HOST); 7733f6c32e36ff Pawel Laszczak 2019-08-26 118 res[RES_HOST_ID].end = pci_resource_end(pdev, PCI_BAR_HOST); 7733f6c32e36ff Pawel Laszczak 2019-08-26 119 res[RES_HOST_ID].name = "xhci"; 7733f6c32e36ff Pawel Laszczak 2019-08-26 120 res[RES_HOST_ID].flags = IORESOURCE_MEM; 7733f6c32e36ff Pawel Laszczak 2019-08-26 121 dev_dbg(&pdev->dev, "USBSS-XHCI physical base addr: %pa\n", 7733f6c32e36ff Pawel Laszczak 2019-08-26 122 &res[RES_HOST_ID].start); 7733f6c32e36ff Pawel Laszczak 2019-08-26 123 7733f6c32e36ff Pawel Laszczak 2019-08-26 124 /* Interrupt for XHCI */ 7733f6c32e36ff Pawel Laszczak 2019-08-26 125 wrap->dev_res[RES_IRQ_HOST_ID].start = pdev->irq; 7733f6c32e36ff Pawel Laszczak 2019-08-26 126 wrap->dev_res[RES_IRQ_HOST_ID].name = "host"; 7733f6c32e36ff Pawel Laszczak 2019-08-26 127 wrap->dev_res[RES_IRQ_HOST_ID].flags = IORESOURCE_IRQ; 7733f6c32e36ff Pawel Laszczak 2019-08-26 128 7733f6c32e36ff Pawel Laszczak 2019-08-26 129 /* Interrupt device. It's the same as for HOST. */ 7733f6c32e36ff Pawel Laszczak 2019-08-26 130 wrap->dev_res[RES_IRQ_PERIPHERAL_ID].start = pdev->irq; 7733f6c32e36ff Pawel Laszczak 2019-08-26 131 wrap->dev_res[RES_IRQ_PERIPHERAL_ID].name = "peripheral"; 7733f6c32e36ff Pawel Laszczak 2019-08-26 132 wrap->dev_res[RES_IRQ_PERIPHERAL_ID].flags = IORESOURCE_IRQ; 7733f6c32e36ff Pawel Laszczak 2019-08-26 133 } else { 7733f6c32e36ff Pawel Laszczak 2019-08-26 134 res[RES_DRD_ID].start = pci_resource_start(pdev, PCI_BAR_OTG); 7733f6c32e36ff Pawel Laszczak 2019-08-26 135 res[RES_DRD_ID].end = pci_resource_end(pdev, PCI_BAR_OTG); 7733f6c32e36ff Pawel Laszczak 2019-08-26 136 res[RES_DRD_ID].name = "otg"; 7733f6c32e36ff Pawel Laszczak 2019-08-26 137 res[RES_DRD_ID].flags = IORESOURCE_MEM; 7733f6c32e36ff Pawel Laszczak 2019-08-26 138 dev_dbg(&pdev->dev, "USBSS-DRD physical base addr: %pa\n", 7733f6c32e36ff Pawel Laszczak 2019-08-26 139 &res[RES_DRD_ID].start); 7733f6c32e36ff Pawel Laszczak 2019-08-26 140 7733f6c32e36ff Pawel Laszczak 2019-08-26 141 /* Interrupt for OTG/DRD. */ 7733f6c32e36ff Pawel Laszczak 2019-08-26 142 wrap->dev_res[RES_IRQ_OTG_ID].start = pdev->irq; 7733f6c32e36ff Pawel Laszczak 2019-08-26 143 wrap->dev_res[RES_IRQ_OTG_ID].name = "otg"; 7733f6c32e36ff Pawel Laszczak 2019-08-26 144 wrap->dev_res[RES_IRQ_OTG_ID].flags = IORESOURCE_IRQ; 7733f6c32e36ff Pawel Laszczak 2019-08-26 145 } 7733f6c32e36ff Pawel Laszczak 2019-08-26 146 7733f6c32e36ff Pawel Laszczak 2019-08-26 147 if (pci_is_enabled(func)) { 7733f6c32e36ff Pawel Laszczak 2019-08-26 148 /* set up platform device info */ 7733f6c32e36ff Pawel Laszczak 2019-08-26 149 memset(&plat_info, 0, sizeof(plat_info)); 7733f6c32e36ff Pawel Laszczak 2019-08-26 150 plat_info.parent = &pdev->dev; 7733f6c32e36ff Pawel Laszczak 2019-08-26 151 plat_info.fwnode = pdev->dev.fwnode; 7733f6c32e36ff Pawel Laszczak 2019-08-26 152 plat_info.name = PLAT_DRIVER_NAME; 7733f6c32e36ff Pawel Laszczak 2019-08-26 153 plat_info.id = pdev->devfn; 7733f6c32e36ff Pawel Laszczak 2019-08-26 154 wrap->devfn = pdev->devfn; 7733f6c32e36ff Pawel Laszczak 2019-08-26 155 plat_info.res = wrap->dev_res; 7733f6c32e36ff Pawel Laszczak 2019-08-26 156 plat_info.num_res = ARRAY_SIZE(wrap->dev_res); 7733f6c32e36ff Pawel Laszczak 2019-08-26 @157 plat_info.dma_mask = pdev->dma_mask; 7733f6c32e36ff Pawel Laszczak 2019-08-26 158 /* register platform device */ 7733f6c32e36ff Pawel Laszczak 2019-08-26 159 wrap->plat_dev = platform_device_register_full(&plat_info); 7733f6c32e36ff Pawel Laszczak 2019-08-26 160 if (IS_ERR(wrap->plat_dev)) { 7733f6c32e36ff Pawel Laszczak 2019-08-26 161 pci_disable_device(pdev); 5f318dad72d227 Dan Carpenter 2019-09-04 162 err = PTR_ERR(wrap->plat_dev); 7733f6c32e36ff Pawel Laszczak 2019-08-26 163 kfree(wrap); 5f318dad72d227 Dan Carpenter 2019-09-04 164 return err; 7733f6c32e36ff Pawel Laszczak 2019-08-26 165 } 7733f6c32e36ff Pawel Laszczak 2019-08-26 166 } 7733f6c32e36ff Pawel Laszczak 2019-08-26 167 7733f6c32e36ff Pawel Laszczak 2019-08-26 168 pci_set_drvdata(pdev, wrap); 7733f6c32e36ff Pawel Laszczak 2019-08-26 169 return err; 7733f6c32e36ff Pawel Laszczak 2019-08-26 170 } 7733f6c32e36ff Pawel Laszczak 2019-08-26 171 :::::: The code at line 157 was first introduced by commit :::::: 7733f6c32e36ff9d7adadf40001039bf219b1cbe usb: cdns3: Add Cadence USB3 DRD Driver :::::: TO: Pawel Laszczak :::::: CC: Felipe Balbi --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org