On Thu, Oct 18, 2018 at 05:28:04PM -0600, Keith Busch wrote: > On Fri, Oct 19, 2018 at 07:18:52AM +0800, kbuild test robot wrote: > > drivers/pci/pcie/aer.c: In function 'aer_probe': > > >> drivers/pci/pcie/aer.c:1387:26: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types] > > struct device *device = &dev->port->device; > > ^ > > cc1: some warnings being treated as errors > > > > vim +1387 drivers/pci/pcie/aer.c > > > > 1376 > > 1377 /** > > 1378 * aer_probe - initialize resources > > 1379 * @dev: pointer to the pcie_dev data structure > > 1380 * > > 1381 * Invoked when PCI Express bus loads AER service driver. > > 1382 */ > > 1383 static int aer_probe(struct pcie_device *dev) > > 1384 { > > 1385 int status; > > 1386 struct aer_rpc *rpc; > > > 1387 struct device *device = &dev->port->device; > > You must be building patches incrementally since this was (inadvertently) > fixed by the following commit 09d260ca3ad04d9b4c4d5e8b0fa1e3501b3e3793 > ("PCI/AER: Use managed resource allocations"). Yes, I think the 0-day service builds each incremental patch. > Bjorn, > If you want to replay the history, I quickly rebase the two affected > patches so this intermediate compile breakage doesn't happen. Up to you. I fixed this up by removing this from 0459ba0b0d50 ("PCI/AER: Use threaded IRQ for bottom half"), since I don't think it's relevant to that patch: @@ -1418,18 +1384,20 @@ static int aer_probe(struct pcie_device *dev) { int status; struct aer_rpc *rpc; - struct device *device = &dev->port->dev; + struct device *device = &dev->port->device; and making 09d260ca3ad0 ("PCI/AER: Use managed resource allocations") look like this: @@ -1384,10 +1380,9 @@ static int aer_probe(struct pcie_device *dev) { int status; struct aer_rpc *rpc; - struct device *device = &dev->port->dev; + struct device *device = &dev->device;