Re: [pci:pci/portdrv 1/1] drivers/pci/pcie/portdrv_pci.c:187:9: sparse: warning: Initializer entry defined twice

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2019-02-15 at 14:00 -0600, Bjorn Helgaas wrote:
> On Fri, Feb 15, 2019 at 04:18:43PM +0800, Honghui Zhang wrote:
> > On Fri, 2019-02-15 at 15:34 +0800, kbuild test robot wrote:
> > > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/portdrv
> > > head:   b4f663e35a545fbdc71b3bbf2df88ef9f124a3fa
> > > commit: b4f663e35a545fbdc71b3bbf2df88ef9f124a3fa [1/1] PCI/portdrv: Support PCIe services on subtractive decode bridges
> > > reproduce:
> > >         # apt-get install sparse
> > >         git checkout b4f663e35a545fbdc71b3bbf2df88ef9f124a3fa
> > >         make ARCH=x86_64 allmodconfig
> > >         make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
> > > 
> > > All warnings (new ones prefixed by >>):
> > > 
> > > >> drivers/pci/pcie/portdrv_pci.c:187:9: sparse: warning: Initializer entry defined twice
> > >    drivers/pci/pcie/portdrv_pci.c:189:9: sparse:   also defined here
> > > 
> > > sparse warnings: (new ones prefixed by >>)
> > > 
> > >    drivers/pci/pcie/portdrv_pci.c:187:9: sparse: warning: Initializer entry defined twice
> > > >> drivers/pci/pcie/portdrv_pci.c:189:9: sparse:   also defined here
> > > 
> > > vim +187 drivers/pci/pcie/portdrv_pci.c
> > > 
> > > ^1da177e Linus Torvalds 2005-04-16  181  
> > > ^1da177e Linus Torvalds 2005-04-16  182  /*
> > > ^1da177e Linus Torvalds 2005-04-16  183   * LINUX Device Driver Model
> > > ^1da177e Linus Torvalds 2005-04-16  184   */
> > > ^1da177e Linus Torvalds 2005-04-16  185  static const struct pci_device_id port_pci_ids[] = { {
> > > ^1da177e Linus Torvalds 2005-04-16  186  	/* handle any PCI-Express port */
> > > ^1da177e Linus Torvalds 2005-04-16 @187  	PCI_DEVICE_CLASS(((PCI_CLASS_BRIDGE_PCI << 8) | 0x00), ~0),
> > > b4f663e3 Honghui Zhang  2019-02-14  188  	/* subtractive decode PCI-to-PCI bridge, class type is 060401h */
> > > b4f663e3 Honghui Zhang  2019-02-14 @189  	PCI_DEVICE_CLASS(((PCI_CLASS_BRIDGE_PCI << 8) | 0x01), ~0),
> > > ^1da177e Linus Torvalds 2005-04-16  190  	}, { /* end: all zeroes */ }
> > > ^1da177e Linus Torvalds 2005-04-16  191  };
> > > ^1da177e Linus Torvalds 2005-04-16  192  
> > > 
> > Hi, Bjorn,
> > Do you think drop this one, and I send a new version is a good idea? Or
> > will you re-consider the first version patch?
> 
> The problem was just missing braces.  I replaced it with the following
> patches:

Oh, my mistake, thanks very much for pointing this out and fix it.

Thanks.
> 
> commit c89f7f98c971e0cabc819b6c0fe6bf509287b7e0
> Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> Date:   Fri Feb 15 13:49:18 2019 -0600
> 
>     PCI/portdrv: Use conventional Device ID table formatting
>     
>     The pci_device_id table was technically correct, but unusually formatted,
>     which made adding entries error-prone.  Change the format so it's obvious
>     how to add entries.
>     
>     Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> 
> diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c
> index 0acca3596807..a289e734b9a4 100644
> --- a/drivers/pci/pcie/portdrv_pci.c
> +++ b/drivers/pci/pcie/portdrv_pci.c
> @@ -182,10 +182,10 @@ static void pcie_portdrv_err_resume(struct pci_dev *dev)
>  /*
>   * LINUX Device Driver Model
>   */
> -static const struct pci_device_id port_pci_ids[] = { {
> +static const struct pci_device_id port_pci_ids[] = {
>  	/* handle any PCI-Express port */
> -	PCI_DEVICE_CLASS(((PCI_CLASS_BRIDGE_PCI << 8) | 0x00), ~0),
> -	}, { /* end: all zeroes */ }
> +	{ PCI_DEVICE_CLASS(((PCI_CLASS_BRIDGE_PCI << 8) | 0x00), ~0) },
> +	{ },
>  };
>  
>  static const struct pci_error_handlers pcie_portdrv_err_handler = {
> 
> commit f0cfecea8d1e8e0cd5d5053f9452b3a450f49eb5
> Author: Honghui Zhang <honghui.zhang@xxxxxxxxxxxx>
> Date:   Thu Feb 14 13:21:17 2019 +0800
> 
>     PCI/portdrv: Support PCIe services on subtractive decode bridges
>     
>     The Class Code for subtractive decode PCI-to-PCI bridge is 060401h; add an
>     entry to make portdrv support this type of bridge.  This allows use of PCIe
>     services on subtractive decode ports.
>     
>     Signed-off-by: Honghui Zhang <honghui.zhang@xxxxxxxxxxxx>
>     [bhelgaas: add braces surrounding entry]
>     Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> 
> diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c
> index a289e734b9a4..99d2abe88d0b 100644
> --- a/drivers/pci/pcie/portdrv_pci.c
> +++ b/drivers/pci/pcie/portdrv_pci.c
> @@ -185,6 +185,8 @@ static void pcie_portdrv_err_resume(struct pci_dev *dev)
>  static const struct pci_device_id port_pci_ids[] = {
>  	/* handle any PCI-Express port */
>  	{ PCI_DEVICE_CLASS(((PCI_CLASS_BRIDGE_PCI << 8) | 0x00), ~0) },
> +	/* subtractive decode PCI-to-PCI bridge, class type is 060401h */
> +	{ PCI_DEVICE_CLASS(((PCI_CLASS_BRIDGE_PCI << 8) | 0x01), ~0) },
>  	{ },
>  };
>  





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux