* Re: [pci:pci/portdrv 1/1] drivers/pci/pcie/portdrv_pci.c:187:9: sparse: warning: Initializer entry defined twice [not found] <201902151544.kWECyQ24%fengguang.wu@intel.com> @ 2019-02-15 8:18 ` Honghui Zhang 2019-02-15 20:00 ` Bjorn Helgaas 0 siblings, 1 reply; 3+ messages in thread From: Honghui Zhang @ 2019-02-15 8:18 UTC (permalink / raw) To: kbuild test robot, Bjorn Helgaas; +Cc: kbuild-all, linux-pci, Bjorn Helgaas 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? Thanks. > :::::: The code at line 187 was first introduced by commit > :::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2 > > :::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org> > :::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org> > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [pci:pci/portdrv 1/1] drivers/pci/pcie/portdrv_pci.c:187:9: sparse: warning: Initializer entry defined twice 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 2019-02-18 0:42 ` Honghui Zhang 0 siblings, 1 reply; 3+ messages in thread From: Bjorn Helgaas @ 2019-02-15 20:00 UTC (permalink / raw) To: Honghui Zhang; +Cc: kbuild test robot, kbuild-all, linux-pci 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) }, { }, }; ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [pci:pci/portdrv 1/1] drivers/pci/pcie/portdrv_pci.c:187:9: sparse: warning: Initializer entry defined twice 2019-02-15 20:00 ` Bjorn Helgaas @ 2019-02-18 0:42 ` Honghui Zhang 0 siblings, 0 replies; 3+ messages in thread From: Honghui Zhang @ 2019-02-18 0:42 UTC (permalink / raw) To: Bjorn Helgaas; +Cc: kbuild test robot, kbuild-all, linux-pci 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@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) }, > { }, > }; > ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-02-18 0:42 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[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
2019-02-18 0:42 ` Honghui Zhang
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).