Re: [PATCH v3] serial: 8250_pci: Consistently define pci_device_ids using named initializers

From: Uwe Kleine-König (The Capable Hub)

Date: Wed Jun 03 2026 - 05:45:16 EST


Hello Andy,

On Wed, Jun 03, 2026 at 09:24:34AM +0300, Andy Shevchenko wrote:
> On Wed, Jun 03, 2026 at 08:12:38AM +0200, Uwe Kleine-König (The Capable Hub) wrote:
> > On Tue, Jun 02, 2026 at 10:20:56PM +0200, Andy Shevchenko wrote:
> > > This patch broke the build.
> > >
> > > drivers/tty/serial/8250/8250_pci.c:5398:12: error: initializer overrides prior initialization of this subobject [-Werror,-Winitializer-overrides]
> > > 5398 | .class = PCI_CLASS_COMMUNICATION_MULTISERIAL << 8,
> > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > include/linux/pci_ids.h:74:45: note: expanded from macro 'PCI_CLASS_COMMUNICATION_MULTISERIAL'
> > > 74 | #define PCI_CLASS_COMMUNICATION_MULTISERIAL 0x0702
> > >
> > > and so on...
> >
> > Oh, it works fine for me with clang 19.1.7, gcc 11.3.0, gcc 12.4.0, gcc
> > 13.3.0, gcc 14.2.0 and gcc 15.2.0, but I agree it's a bit obscure
> > because .class and .class_mask are specified twice; once by PCI_VDEVICE
> > and once explicitly.
>
> > Which compiler are you using that breaks here? I guess I might have
> > broken more drivers this way, so it would be great to have a setup to
> > reproduce your issue.
>
> My make command:
>
> make LLVM=-19 W=1 C=1 CF=-D__CHECK_ENDIAN__ ...
>
> The line the above error is from is from your patch.

OK, I can reproduce with that cmdline, thanks. Expect a patch in a
moment.

> > Once all the initializer are converted to named initialisation, we
> > should definitively drop the assignment to .class and .class_mask in
> > PCI_VDEVICE, but that doesn't work yet.
>
> Please, address the build issue first. I'm surprised the LKP hadn't complained
> on that (yet?). Note, that all redefinitions like this are broken and need to
> be addressed.

Full ack, I didn't want to say that dropping the assignments in
PCI_VDEVICE are the way to fix this issue, but only that it's a
surprising thing in it that should be fixed as soon as possible (i.e.
not now).

Thanks
Uwe

Attachment: signature.asc
Description: PGP signature