Re: linux-next: build failure after merge of the dmaengine tree

From: Stephen Rothwell
Date: Tue Oct 26 2021 - 01:07:56 EST


Hi all,

On Tue, 26 Oct 2021 16:06:57 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
>
> After merging the dmaengine tree, today's linux-next build (x86_64
> allmodconfig) failed like this:

drivers/message/fusion/mptbase.c: In function 'PrimeIocFifos':
drivers/message/fusion/mptbase.c:4446:35: error: passing argument 1 of 'dma_set_mask_and_coherent' from incompatible pointer type [-Werror=incompatible-pointer-types]
4446 | if (!dma_set_mask_and_coherent(&ioc->pcidev, DMA_BIT_MASK(32))) {
| ^~~~~~~~~~~~
| |
| struct pci_dev **
In file included from include/linux/pci-dma-compat.h:8,
from include/linux/pci.h:2443,
from drivers/message/fusion/mptbase.c:56:
include/linux/dma-mapping.h:442:60: note: expected 'struct device *' but argument is of type 'struct pci_dev **'
442 | static inline int dma_set_mask_and_coherent(struct device *dev, u64 mask)
| ~~~~~~~~~~~~~~~^~~
drivers/message/fusion/mptbase.c:4454:31: error: passing argument 1 of 'dma_set_mask_and_coherent' from incompatible pointer type [-Werror=incompatible-pointer-types]
4454 | dma_set_mask_and_coherent(&ioc->pcidev, DMA_BIT_MASK(64));
| ^~~~~~~~~~~~
| |
| struct pci_dev **
In file included from include/linux/pci-dma-compat.h:8,
from include/linux/pci.h:2443,
from drivers/message/fusion/mptbase.c:56:
include/linux/dma-mapping.h:442:60: note: expected 'struct device *' but argument is of type 'struct pci_dev **'
442 | static inline int dma_set_mask_and_coherent(struct device *dev, u64 mask)
| ~~~~~~~~~~~~~~~^~~
drivers/message/fusion/mptbase.c:4590:33: error: passing argument 1 of 'dma_set_mask_and_coherent' from incompatible pointer type [-Werror=incompatible-pointer-types]
4590 | !dma_set_mask_and_coherent(&ioc->pcidev, ioc->dma_mask))
| ^~~~~~~~~~~~
| |
| struct pci_dev **
In file included from include/linux/pci-dma-compat.h:8,
from include/linux/pci.h:2443,
from drivers/message/fusion/mptbase.c:56:
include/linux/dma-mapping.h:442:60: note: expected 'struct device *' but argument is of type 'struct pci_dev **'
442 | static inline int dma_set_mask_and_coherent(struct device *dev, u64 mask)
| ~~~~~~~~~~~~~~~^~~
drivers/message/fusion/mptbase.c:4614:33: error: passing argument 1 of 'dma_set_mask_and_coherent' from incompatible pointer type [-Werror=incompatible-pointer-types]
4614 | !dma_set_mask_and_coherent(&ioc->pcidev, DMA_BIT_MASK(64)))
| ^~~~~~~~~~~~
| |
| struct pci_dev **
In file included from include/linux/pci-dma-compat.h:8,
from include/linux/pci.h:2443,
from drivers/message/fusion/mptbase.c:56:
include/linux/dma-mapping.h:442:60: note: expected 'struct device *' but argument is of type 'struct pci_dev **'
442 | static inline int dma_set_mask_and_coherent(struct device *dev, u64 mask)
| ~~~~~~~~~~~~~~~^~~

> Caused by commit
>
> 981b43434b28 ("message: fusion: switch from 'pci_' to 'dma_' API")
>
> I have used the dmaengine tree from next-20211025 for today.

--
Cheers,
Stephen Rothwell

Attachment: pgpQssr5tLpZO.pgp
Description: OpenPGP digital signature