Subject: Re: linux-next: semantic conflict between the drm-misc tree and Linus' tree

From: Lukas Wunner <[email-masked]>
Date: Tue, 10 Jun 2025 05:46:27 +0200

On Tue, Jun 10, 2025 at 12:48:09PM +1000, Stephen Rothwell wrote:
> After merging the drm-misc tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
> 
> drivers/accel/qaic/qaic_ras.c: In function 'decode_ras_msg':
> drivers/accel/qaic/qaic_ras.c:325:17: error: implicit declaration of function 'pci_printk'; did you mean 'pci_intx'? [-Wimplicit-function-declaration]
>   325 |                 pci_printk(level, qdev->pdev, "RAS event.\nClass:%s\nDescription:%s %s %s\nError Threshold for this report %d\nSyndrome:\n    0x%llx\n    0x%llx\n    0x%llx\n    0x%llx\n    0x%llx\n    0x%llx\n    0x%llx\n    0x%llx\n",
>       |                 ^~~~~~~~~~
>       |                 pci_intx
> 
> Caused by commit
> 
>   c11a50b170e7 ("accel/qaic: Add Reliability, Accessibility, Serviceability (RAS)")
> 
> interacting with commit
> 
>   1c8a0ed2043c ("PCI: Remove unused pci_printk()")
> 
> from Linus' tree (in v6.16-rc1).
> 
> As a fix up patch would be a bit of a mess, I have used the drm-misc
> tree from next-20250606 for today.

The simplest fix is to use dev_printk() and replace qdev->pdev with
&qdev->pdev->dev.

The PCI core already contains one occurrence of dev_printk() in
drivers/pci/tlp.c (introduced this cycle - 82013ff394ea).

Additionally drivers/pci/aer.c goes so far as to define a custom
aer_printk() for lack of a pci_printk().

drivers/pci/controller/dwc/pcie-tegra194.c contains further
occurrences of dev_printk() which could use pci_printk() instead.

Those occurrences suggest that the removal of pci_printk() was
perhaps uncalled for.

Thanks,

Lukas