All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.