Re: linux-next: Tree for Aug 12 (include/linux/pci.h)

From: Stephen Rothwell
Date: Thu Aug 20 2015 - 02:18:55 EST


Hi Bjorn,

On Wed, 19 Aug 2015 23:16:06 -0700 Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote:
>
> [+cc Yann, linux-kbuild]
>
> On Wed, Aug 12, 2015 at 3:58 PM, Tadeusz Struk <tadeusz.struk@xxxxxxxxx> wrote:
> > On 08/12/2015 02:53 PM, Stephen Rothwell wrote:
> >> On Wed, 12 Aug 2015 11:05:36 -0700 Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
> >>> >
> >>> > on i386 or x86_64:
> >>> >
> >>> > Many (repeated) errors like this one:
> >>> >
> >>> > ../include/linux/pci.h:390:12: error: ÃâËstruct pci_devÃââ has no member named ÃâËphysfnÃââ
> >>> >
> >>> > when CONFIG_PCI_ATS is not enabled.
> >> Maybe caused by commit
> >>
> >> dd0f368398ea ("crypto: qat - Add qat dh895xcc VF driver")
> >>
> >> from the crypto tree Which adds a
> >>
> >> select PCI_IOV
> >>
> >> to drivers/crypto/qat/Kconfig without the necessary
> >>
> >> select PCI
> >>
> >> but PCI_IOV selects PCI_ATS, so I am not sure what happened here. I am
> >> assuming that your config has PCI_IOV enabled? What about PCI?
> >
> > There is a patch submitted, but not yet applied
> > https://patchwork.kernel.org/patch/6994171/
> > maybe it will help?
>
> I don't understand this. In drivers/pci/Kconfig, we have:
>
> config PCI_IOV
> depends on PCI
>
> and in drivers/crypto/qat/Kconfig, dd0f368398ea adds:
>
> config CRYPTO_DEV_QAT_DH895xCCVF
> select PCI_IOV
>
> And apparently it's possible to end up with a .config with
> CONFIG_PCI_IOV=y but CONFIG_PCI is not set? That seems wrong, since
> we declared that PCI_IOV depends on PCI. Does select ignore that
> dependency somehow?

Yeah, unfortunately that is how select works. If a symbol you select
depends on anything, then you need to also select all the dependencies.

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/