Re: [PATCH] serial: 8250_pci: fix -Winitializer-overrides for Brainboxes UC-260/271/701/756 entries

Greg Kroah-Hartman <[email protected]>
Newsgroups dev.linux.lists.llvm,org.kernel.vger.linux-kernel,org.kernel.vger.linux-serial
Message-ID <2026070710-bronzing-handwork-33fe@gregkh>
On Thu, May 28, 2026 at 01:12:50PM -0700, Rosen Penev wrote:
> PCI_VDEVICE() expands to set .class=0 and .class_mask=0, but the Brainboxes
>  UC-260/271/701/756 entries immediately override those fields. This causes
>  a build error with clang -Werror,-Winitializer-overrides.
> 
> Fix by expanding PCI_VDEVICE() manually, omitting the trailing
>  .class/.class_mask zeroes so each field is set exactly once.
> 
> Found with W=1
> 
> Assisted-by: Opencode:Big-pickle
> Signed-off-by: Rosen Penev <[email protected]>
> ---
>  drivers/tty/serial/8250/8250_pci.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
> index 3e5bc9e8d269..0513f4b3c093 100644
> --- a/drivers/tty/serial/8250/8250_pci.c
> +++ b/drivers/tty/serial/8250/8250_pci.c
> @@ -5394,12 +5394,14 @@ static const struct pci_device_id serial_pci_tbl[] = {
>  	 * Brainboxes UC-260/271/701/756
>  	 */
>  	{
> -		PCI_VDEVICE(INTASHIELD, 0x0D21),
> +		.vendor = PCI_VENDOR_ID_INTASHIELD, .device = 0x0D21,
> +		.subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID,
>  		.class = PCI_CLASS_COMMUNICATION_MULTISERIAL << 8,
>  		.class_mask = 0xffff00,
>  		.driver_data = pbn_b2_4_115200,
>  	}, {
> -		PCI_VDEVICE(INTASHIELD, 0x0E34),
> +		.vendor = PCI_VENDOR_ID_INTASHIELD, .device = 0x0E34,
> +		.subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID,
>  		.class = PCI_CLASS_COMMUNICATION_MULTISERIAL << 8,
>  		.class_mask = 0xffff00,
>  		.driver_data = pbn_b2_4_115200,
> -- 
> 2.54.0
> 

Does not apply to the current tree :(
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.