Message ID | 20211227164317.4146918-29-schnelle@linux.ibm.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | Kconfig: Introduce HAS_IOPORT and LEGACY_PCI options | expand |
On Mon, Dec 27, 2021 at 05:43:13PM +0100, Niklas Schnelle wrote: > In the future inw()/outw() and friends will not be compiled on > architectures without I/O port support. This commit log actually doesn't say what the patch does. I'm pretty sure this particular quirk is x86 specific and could probably be moved to arch/x86/pci/fixup.c, where the #ifdef probably wouldn't be needed. If we keep it in drivers/pci, please update the subject line to make it more specific and match the convention, e.g., PCI: Compile quirk_tigerpoint_bm_sts() only when HAS_IOPORT set BTW, git complains about some whitespace errors in other patches: Applying: char: impi, tpm: depend on HAS_IOPORT .git/rebase-apply/patch:92: trailing whitespace. If you have a TPM security chip from Atmel say Yes and it .git/rebase-apply/patch:93: trailing whitespace. will be accessible from within Linux. To compile this driver warning: 2 lines add whitespace errors. Applying: video: handle HAS_IOPORT dependencies .git/rebase-apply/patch:23: trailing whitespace. warning: 1 line adds whitespace errors. > Co-developed-by: Arnd Bergmann <arnd@kernel.org> > Signed-off-by: Arnd Bergmann <arnd@kernel.org> > Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com> > --- > drivers/pci/quirks.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c > index 003950c738d2..8624c98c57b2 100644 > --- a/drivers/pci/quirks.c > +++ b/drivers/pci/quirks.c > @@ -265,6 +265,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_1, quirk_isa_d > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_2, quirk_isa_dma_hangs); > DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_3, quirk_isa_dma_hangs); > > +#ifdef CONFIG_HAS_IOPORT > /* > * Intel NM10 "TigerPoint" LPC PM1a_STS.BM_STS must be clear > * for some HT machines to use C4 w/o hanging. > @@ -284,6 +285,7 @@ static void quirk_tigerpoint_bm_sts(struct pci_dev *dev) > } > } > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TGP_LPC, quirk_tigerpoint_bm_sts); > +#endif > > /* Chipsets where PCI->PCI transfers vanish or hang */ > static void quirk_nopcipci(struct pci_dev *dev) > -- > 2.32.0 >
On Mon, 2021-12-27 at 16:33 -0600, Bjorn Helgaas wrote: > On Mon, Dec 27, 2021 at 05:43:13PM +0100, Niklas Schnelle wrote: > > In the future inw()/outw() and friends will not be compiled on > > architectures without I/O port support. > > This commit log actually doesn't say what the patch does. > > I'm pretty sure this particular quirk is x86 specific and could > probably be moved to arch/x86/pci/fixup.c, where the #ifdef probably > wouldn't be needed. Will look into it, that does sound like a nicer solution. Thanks! > > If we keep it in drivers/pci, please update the subject line to make > it more specific and match the convention, e.g., > > PCI: Compile quirk_tigerpoint_bm_sts() only when HAS_IOPORT set Ah yeah I was going back and forth between matching this within the series vs matching the subsystem. I guess going with the subsystem is mote important long term. > > BTW, git complains about some whitespace errors in other patches: > > Applying: char: impi, tpm: depend on HAS_IOPORT > .git/rebase-apply/patch:92: trailing whitespace. > If you have a TPM security chip from Atmel say Yes and it > .git/rebase-apply/patch:93: trailing whitespace. > will be accessible from within Linux. To compile this driver > warning: 2 lines add whitespace errors. > Applying: video: handle HAS_IOPORT dependencies > .git/rebase-apply/patch:23: trailing whitespace. > > warning: 1 line adds whitespace errors. That is very strange. I did run checkpatch before. There are a few warnings not to touch obsolete code unnecessarily and a check about using udelay() (pre-existing) plus two missing blank lines in pci- quirks.h that I ignored because it matches the sorounding style. I did notice that lore fails to render the subject lines for some of the patches. But I just tried fetching the patches with b4 on top of v5.16-rc7 and the resulting tree passes "./scripts/checkpatch.pl --git v5.16-rc7..HEAD" and has an empty diff to my branch. What tool did you use to check? > > > Co-developed-by: Arnd Bergmann <arnd@kernel.org> > > Signed-off-by: Arnd Bergmann <arnd@kernel.org> > > Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com> > > --- ---8<---
On Tue, Dec 28, 2021 at 04:25:25PM +0100, Niklas Schnelle wrote: > On Mon, 2021-12-27 at 16:33 -0600, Bjorn Helgaas wrote: > > On Mon, Dec 27, 2021 at 05:43:13PM +0100, Niklas Schnelle wrote: > > If we keep it in drivers/pci, please update the subject line to make > > it more specific and match the convention, e.g., > > > > PCI: Compile quirk_tigerpoint_bm_sts() only when HAS_IOPORT set > > Ah yeah I was going back and forth between matching this within the > series vs matching the subsystem. I guess going with the subsystem is > mote important long term. Haha, yes, a little ambiguity there. I do think the subsystem is more important because the identity of the series is mostly lost after it's applied. Thanks for thinking about it! > > BTW, git complains about some whitespace errors in other patches: > > > > Applying: char: impi, tpm: depend on HAS_IOPORT > > .git/rebase-apply/patch:92: trailing whitespace. > > If you have a TPM security chip from Atmel say Yes and it > > .git/rebase-apply/patch:93: trailing whitespace. > > will be accessible from within Linux. To compile this driver > > warning: 2 lines add whitespace errors. > > Applying: video: handle HAS_IOPORT dependencies > > .git/rebase-apply/patch:23: trailing whitespace. > > > > warning: 1 line adds whitespace errors. > > That is very strange. I did run checkpatch before. There are a few > warnings not to touch obsolete code unnecessarily and a check about > using udelay() (pre-existing) plus two missing blank lines in pci- > quirks.h that I ignored because it matches the sorounding style. > > I did notice that lore fails to render the subject lines for some of > the patches. But I just tried fetching the patches with b4 on top of > v5.16-rc7 and the resulting tree passes "./scripts/checkpatch.pl --git > v5.16-rc7..HEAD" and has an empty diff to my branch. What tool did you > use to check? "git am" is what complained. Here's what I did: $ git checkout -b wip/niklas v5.16-rc1 Switched to a new branch 'wip/niklas' 10:30:06 ~/linux (wip/niklas)$ b4 am -om/ 20211227164317.4146918-1-schnelle@linux.ibm.com Looking up https://lore.kernel.org/r/20211227164317.4146918-1-schnelle%40linux.ibm.com Grabbing thread from lore.kernel.org/all/20211227164317.4146918-1-schnelle%40linux.ibm.com/t.mbox.gz Analyzing 70 messages in the thread Checking attestation on all messages, may take a moment... --- ✓ [PATCH RFC 1/32] Kconfig: introduce and depend on LEGACY_PCI ✓ [PATCH RFC 2/32] Kconfig: introduce HAS_IOPORT option and select it as necessary ✓ [PATCH RFC 3/32] ACPI: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 4/32] parport: PC style parport depends on HAS_IOPORT ✓ [PATCH RFC 5/32] char: impi, tpm: depend on HAS_IOPORT ✓ [PATCH RFC 6/32] speakup: Kconfig: add HAS_IOPORT dependencies + Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> ✓ [PATCH RFC 7/32] Input: gameport: add ISA and HAS_IOPORT dependencies ✓ [PATCH RFC 8/32] comedi: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 9/32] sound: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 10/32] i2c: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 11/32] Input: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 12/32] iio: adc: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 13/32] hwmon: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 14/32] leds: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 15/32] media: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 16/32] misc: handle HAS_IOPORT dependencies ✓ [PATCH RFC 17/32] net: Kconfig: add HAS_IOPORT dependencies + Acked-by: Marc Kleine-Budde <mkl@pengutronix.de> ✓ [PATCH RFC 18/32] pcmcia: Kconfig: add HAS_IOPORT dependencies + Acked-by: Dominik Brodowski <linux@dominikbrodowski.net> ✓ [PATCH RFC 19/32] platform: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 20/32] pnp: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 21/32] power: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 22/32] video: handle HAS_IOPORT dependencies ✓ [PATCH RFC 23/32] rtc: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 24/32] scsi: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 25/32] watchdog: Kconfig: add HAS_IOPORT dependencies ✓ [PATCH RFC 26/32] drm: handle HAS_IOPORT dependencies ✓ [PATCH RFC 27/32] PCI/sysfs: make I/O resource depend on HAS_IOPORT ✓ [PATCH RFC 28/32] PCI: make quirk using inw() depend on HAS_IOPORT ✓ [PATCH RFC 29/32] firmware: dmi-sysfs: handle HAS_IOPORT dependencies ✓ [PATCH RFC 30/32] /dev/port: don't compile file operations without CONFIG_DEVPORT ✓ [PATCH RFC 31/32] usb: handle HAS_IOPORT dependencies ✓ [PATCH RFC 32/32] asm-generic/io.h: drop inb() etc for HAS_IOPORT=n --- ✓ Signed: DKIM/ibm.com (From: schnelle@linux.ibm.com) --- Total patches: 32 --- Cover: m/20211227_schnelle_kconfig_introduce_has_ioport_and_legacy_pci_options.cover Link: https://lore.kernel.org/r/20211227164317.4146918-1-schnelle@linux.ibm.com Base: not specified git am m/20211227_schnelle_kconfig_introduce_has_ioport_and_legacy_pci_options.mbx 10:30:32 ~/linux (wip/niklas)$ git am m/20211227_schnelle_kconfig_introduce_has_ioport_and_legacy_pci_options.mbx Applying: Kconfig: introduce and depend on LEGACY_PCI Applying: Kconfig: introduce HAS_IOPORT option and select it as necessary Applying: ACPI: Kconfig: add HAS_IOPORT dependencies Applying: parport: PC style parport depends on HAS_IOPORT Applying: char: impi, tpm: depend on HAS_IOPORT .git/rebase-apply/patch:92: trailing whitespace. If you have a TPM security chip from Atmel say Yes and it .git/rebase-apply/patch:93: trailing whitespace. will be accessible from within Linux. To compile this driver warning: 2 lines add whitespace errors. Applying: speakup: Kconfig: add HAS_IOPORT dependencies Applying: Input: gameport: add ISA and HAS_IOPORT dependencies Applying: comedi: Kconfig: add HAS_IOPORT dependencies Applying: sound: Kconfig: add HAS_IOPORT dependencies Applying: i2c: Kconfig: add HAS_IOPORT dependencies Applying: Input: Kconfig: add HAS_IOPORT dependencies Applying: iio: adc: Kconfig: add HAS_IOPORT dependencies Applying: hwmon: Kconfig: add HAS_IOPORT dependencies Applying: leds: Kconfig: add HAS_IOPORT dependencies Applying: media: Kconfig: add HAS_IOPORT dependencies Applying: misc: handle HAS_IOPORT dependencies Applying: net: Kconfig: add HAS_IOPORT dependencies Applying: pcmcia: Kconfig: add HAS_IOPORT dependencies Applying: platform: Kconfig: add HAS_IOPORT dependencies Applying: pnp: Kconfig: add HAS_IOPORT dependencies Applying: power: Kconfig: add HAS_IOPORT dependencies Applying: video: handle HAS_IOPORT dependencies .git/rebase-apply/patch:23: trailing whitespace. warning: 1 line adds whitespace errors. Applying: rtc: Kconfig: add HAS_IOPORT dependencies Applying: scsi: Kconfig: add HAS_IOPORT dependencies Applying: watchdog: Kconfig: add HAS_IOPORT dependencies Applying: drm: handle HAS_IOPORT dependencies Applying: PCI/sysfs: make I/O resource depend on HAS_IOPORT Applying: PCI: make quirk using inw() depend on HAS_IOPORT Applying: firmware: dmi-sysfs: handle HAS_IOPORT dependencies Applying: /dev/port: don't compile file operations without CONFIG_DEVPORT Applying: usb: handle HAS_IOPORT dependencies Applying: asm-generic/io.h: drop inb() etc for HAS_IOPORT=n 10:30:55 ~/linux (wip/niklas)$
On Tue, 2021-12-28 at 10:35 -0600, Bjorn Helgaas wrote: > On Tue, Dec 28, 2021 at 04:25:25PM +0100, Niklas Schnelle wrote: > > On Mon, 2021-12-27 at 16:33 -0600, Bjorn Helgaas wrote: > > > On Mon, Dec 27, 2021 at 05:43:13PM +0100, Niklas Schnelle wrote: > > > If we keep it in drivers/pci, please update the subject line to make > > > it more specific and match the convention, e.g., > > > > > > PCI: Compile quirk_tigerpoint_bm_sts() only when HAS_IOPORT set > > > > Ah yeah I was going back and forth between matching this within the > > series vs matching the subsystem. I guess going with the subsystem is > > mote important long term. > > Haha, yes, a little ambiguity there. I do think the subsystem is more > important because the identity of the series is mostly lost after it's > applied. Thanks for thinking about it! > > > > BTW, git complains about some whitespace errors in other patches: > > > > > > Applying: char: impi, tpm: depend on HAS_IOPORT > > > .git/rebase-apply/patch:92: trailing whitespace. > > > If you have a TPM security chip from Atmel say Yes and it > > > .git/rebase-apply/patch:93: trailing whitespace. > > > will be accessible from within Linux. To compile this driver > > > warning: 2 lines add whitespace errors. > > > Applying: video: handle HAS_IOPORT dependencies > > > .git/rebase-apply/patch:23: trailing whitespace. > > > > > > warning: 1 line adds whitespace errors. > > > > That is very strange. I did run checkpatch before. There are a few > > warnings not to touch obsolete code unnecessarily and a check about > > using udelay() (pre-existing) plus two missing blank lines in pci- > > quirks.h that I ignored because it matches the sorounding style. > > > > I did notice that lore fails to render the subject lines for some of > > the patches. But I just tried fetching the patches with b4 on top of > > v5.16-rc7 and the resulting tree passes "./scripts/checkpatch.pl --git > > v5.16-rc7..HEAD" and has an empty diff to my branch. What tool did you > > use to check? > > "git am" is what complained. Here's what I did: > > $ git checkout -b wip/niklas v5.16-rc1 Ah this seems to be because my patches are against v5.16-rc7. I noted that in the cover letter but I guess that is easy to miss and might not match expectations. > Switched to a new branch 'wip/niklas' > 10:30:06 ~/linux (wip/niklas)$ b4 am -om/ 20211227164317.4146918-1-schnelle@linux.ibm.com > Looking up https://lore.kernel.org/r/20211227164317.4146918-1-schnelle%40linux.ibm.com > Grabbing thread from lore.kernel.org/all/20211227164317.4146918-1-schnelle%40linux.ibm.com/t.mbox.gz > Analyzing 70 messages in the thread > Checking attestation on all messages, may take a moment... > --- > ✓ [PATCH RFC 1/32] Kconfig: introduce and depend on LEGACY_PCI > ✓ [PATCH RFC 2/32] Kconfig: introduce HAS_IOPORT option and select it as necessary > ✓ [PATCH RFC 3/32] ACPI: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 4/32] parport: PC style parport depends on HAS_IOPORT > ✓ [PATCH RFC 5/32] char: impi, tpm: depend on HAS_IOPORT > ✓ [PATCH RFC 6/32] speakup: Kconfig: add HAS_IOPORT dependencies > + Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> > ✓ [PATCH RFC 7/32] Input: gameport: add ISA and HAS_IOPORT dependencies > ✓ [PATCH RFC 8/32] comedi: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 9/32] sound: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 10/32] i2c: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 11/32] Input: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 12/32] iio: adc: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 13/32] hwmon: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 14/32] leds: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 15/32] media: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 16/32] misc: handle HAS_IOPORT dependencies > ✓ [PATCH RFC 17/32] net: Kconfig: add HAS_IOPORT dependencies > + Acked-by: Marc Kleine-Budde <mkl@pengutronix.de> > ✓ [PATCH RFC 18/32] pcmcia: Kconfig: add HAS_IOPORT dependencies > + Acked-by: Dominik Brodowski <linux@dominikbrodowski.net> > ✓ [PATCH RFC 19/32] platform: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 20/32] pnp: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 21/32] power: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 22/32] video: handle HAS_IOPORT dependencies > ✓ [PATCH RFC 23/32] rtc: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 24/32] scsi: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 25/32] watchdog: Kconfig: add HAS_IOPORT dependencies > ✓ [PATCH RFC 26/32] drm: handle HAS_IOPORT dependencies > ✓ [PATCH RFC 27/32] PCI/sysfs: make I/O resource depend on HAS_IOPORT > ✓ [PATCH RFC 28/32] PCI: make quirk using inw() depend on HAS_IOPORT > ✓ [PATCH RFC 29/32] firmware: dmi-sysfs: handle HAS_IOPORT dependencies > ✓ [PATCH RFC 30/32] /dev/port: don't compile file operations without CONFIG_DEVPORT > ✓ [PATCH RFC 31/32] usb: handle HAS_IOPORT dependencies > ✓ [PATCH RFC 32/32] asm-generic/io.h: drop inb() etc for HAS_IOPORT=n > --- > ✓ Signed: DKIM/ibm.com (From: schnelle@linux.ibm.com) > Interesting now I have to figure out why I do get bad DKIM signature checks with b4 and my mails. Maybe b4 has an endianess bug as I'm usually working on mainframe.
On Tue, Dec 28, 2021 at 05:52:05PM +0100, Niklas Schnelle wrote: > On Tue, 2021-12-28 at 10:35 -0600, Bjorn Helgaas wrote: > > On Tue, Dec 28, 2021 at 04:25:25PM +0100, Niklas Schnelle wrote: > > > On Mon, 2021-12-27 at 16:33 -0600, Bjorn Helgaas wrote: > > > > BTW, git complains about some whitespace errors in other patches: > > > > > > > > Applying: char: impi, tpm: depend on HAS_IOPORT > > > > .git/rebase-apply/patch:92: trailing whitespace. > > > > If you have a TPM security chip from Atmel say Yes and it > > > > .git/rebase-apply/patch:93: trailing whitespace. > > > > will be accessible from within Linux. To compile this driver > > > > warning: 2 lines add whitespace errors. > > > > Applying: video: handle HAS_IOPORT dependencies > > > > .git/rebase-apply/patch:23: trailing whitespace. > > > > > > > > warning: 1 line adds whitespace errors. > > > > > > ... But I just tried fetching the patches with b4 on top of > > > v5.16-rc7 and the resulting tree passes "./scripts/checkpatch.pl > > > --git v5.16-rc7..HEAD" and has an empty diff to my branch. What > > > tool did you use to check? > > > > "git am" is what complained. Here's what I did: > > > > $ git checkout -b wip/niklas v5.16-rc1 > > Ah this seems to be because my patches are against v5.16-rc7. I > noted that in the cover letter but I guess that is easy to miss and > might not match expectations. I get the same complaints when applying to v5.16-rc7: $ git checkout -b wip/niklas3 v5.16-rc7 $ b4 am -om/ 20211227164317.4146918-1-schnelle@linux.ibm.com $ git am m/20211227_schnelle_kconfig_introduce_has_ioport_and_legacy_pci_options.mbx
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 003950c738d2..8624c98c57b2 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -265,6 +265,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_1, quirk_isa_d DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_2, quirk_isa_dma_hangs); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_3, quirk_isa_dma_hangs); +#ifdef CONFIG_HAS_IOPORT /* * Intel NM10 "TigerPoint" LPC PM1a_STS.BM_STS must be clear * for some HT machines to use C4 w/o hanging. @@ -284,6 +285,7 @@ static void quirk_tigerpoint_bm_sts(struct pci_dev *dev) } } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_TGP_LPC, quirk_tigerpoint_bm_sts); +#endif /* Chipsets where PCI->PCI transfers vanish or hang */ static void quirk_nopcipci(struct pci_dev *dev)