linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Honghui Zhang <honghui.zhang@mediatek.com>
Cc: kbuild test robot <lkp@intel.com>,
	kbuild-all@01.org, linux-pci@vger.kernel.org
Subject: Re: [pci:pci/portdrv 1/1] drivers/pci/pcie/portdrv_pci.c:187:9: sparse: warning: Initializer entry defined twice
Date: Fri, 15 Feb 2019 14:00:45 -0600	[thread overview]
Message-ID: <20190215200045.GS96272@google.com> (raw)
In-Reply-To: <1550218723.4980.69.camel@mhfsdcap03>

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:

commit c89f7f98c971e0cabc819b6c0fe6bf509287b7e0
Author: Bjorn Helgaas <bhelgaas@google.com>
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@google.com>

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@mediatek.com>
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@mediatek.com>
    [bhelgaas: add braces surrounding entry]
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

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) },
 	{ },
 };
 

  reply	other threads:[~2019-02-15 20:00 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <201902151544.kWECyQ24%fengguang.wu@intel.com>
2019-02-15  8:18 ` [pci:pci/portdrv 1/1] drivers/pci/pcie/portdrv_pci.c:187:9: sparse: warning: Initializer entry defined twice Honghui Zhang
2019-02-15 20:00   ` Bjorn Helgaas [this message]
2019-02-18  0:42     ` Honghui Zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190215200045.GS96272@google.com \
    --to=helgaas@kernel.org \
    --cc=honghui.zhang@mediatek.com \
    --cc=kbuild-all@01.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lkp@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).