diff mbox series

[RFC,28/32] PCI: make quirk using inw() depend on HAS_IOPORT

Message ID 20211227164317.4146918-29-schnelle@linux.ibm.com
State New
Headers show
Series Kconfig: Introduce HAS_IOPORT and LEGACY_PCI options | expand

Commit Message

Niklas Schnelle Dec. 27, 2021, 4:43 p.m. UTC
In the future inw()/outw() and friends will not be compiled on
architectures without I/O port support.

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(+)

Comments

Bjorn Helgaas Dec. 27, 2021, 10:33 p.m. UTC | #1
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
>
Niklas Schnelle Dec. 28, 2021, 3:25 p.m. UTC | #2
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<---
Bjorn Helgaas Dec. 28, 2021, 4:35 p.m. UTC | #3
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)$
Niklas Schnelle Dec. 28, 2021, 4:52 p.m. UTC | #4
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.
Bjorn Helgaas Dec. 28, 2021, 5:28 p.m. UTC | #5
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 mbox series

Patch

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)