diff mbox

pci: dwc: hisi needs PCI_HOST_COMMON

Message ID 58D1EF1B.1080509@hisilicon.com (mailing list archive)
State New, archived
Delegated to: Bjorn Helgaas
Headers show

Commit Message

Zhou Wang March 22, 2017, 3:27 a.m. UTC
On 2017/3/21 23:48, Jingoo Han wrote:
> (+cc: Joao Pinto, Zhou Wang, Gabriele Paoloni)
> 
> On Tuesday, March 21, 2017 10:32 AM, Arnd Bergmann wrote:
>>
>> Without PCI_HOST_COMMON support enabled, we get a link error:
>>
>> drivers/pci/dwc/built-in.o: In function `hisi_pcie_map_bus':
>> pcie-hisi.c:(.text+0x8860): undefined reference to `pci_ecam_map_bus'
>> drivers/pci/dwc/built-in.o: In function `hisi_pcie_almost_ecam_probe':
>> pcie-hisi.c:(.text+0x88b4): undefined reference to `pci_host_common_probe'
>>
>> This adds an explicit 'select', as the other users have.

Hi Arnd,

I wonder if we should select PCI_HOST_GENERIC here, like:

Thanks,
Zhou

>>
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 
> Acked-by: Jingoo Han <jingoohan1@gmail.com>
> 
> Best regards,
> Jingoo Han
> 
>> ---
>>  drivers/pci/dwc/Kconfig | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/pci/dwc/Kconfig b/drivers/pci/dwc/Kconfig
>> index dfb8a69afc28..d2d2ba5b8a68 100644
>> --- a/drivers/pci/dwc/Kconfig
>> +++ b/drivers/pci/dwc/Kconfig
>> @@ -89,6 +89,7 @@ config PCI_HISI
>>  	depends on PCI_MSI_IRQ_DOMAIN
>>  	select PCIEPORTBUS
>>  	select PCIE_DW_HOST
>> +	select PCI_HOST_COMMON
>>  	help
>>  	  Say Y here if you want PCIe controller support on HiSilicon
>>  	  Hip05 and Hip06 SoCs
>> --
>> 2.9.0
> 
> 
> 
> .
>

Comments

Zhou Wang March 22, 2017, 12:24 p.m. UTC | #1
On 2017/3/22 16:00, Arnd Bergmann wrote:
> On Mar 22, 2017 04:27, "Zhou Wang" <wangzhou1@hisilicon.com <mailto:wangzhou1@hisilicon.com>> wrote:
> 
>     On 2017/3/21 23:48, Jingoo Han wrote:
>     > (+cc: Joao Pinto, Zhou Wang, Gabriele Paoloni)
>     >
>     > On Tuesday, March 21, 2017 10:32 AM, Arnd Bergmann wrote:
>     >>
>     >> Without PCI_HOST_COMMON support enabled, we get a link error:
>     >>
>     >> drivers/pci/dwc/built-in.o: In function `hisi_pcie_map_bus':
>     >> pcie-hisi.c:(.text+0x8860): undefined reference to `pci_ecam_map_bus'
>     >> drivers/pci/dwc/built-in.o: In function `hisi_pcie_almost_ecam_probe':
>     >> pcie-hisi.c:(.text+0x88b4): undefined reference to `pci_host_common_probe'
>     >>
>     >> This adds an explicit 'select', as the other users have.
> 
>     Hi Arnd,
> 
>     I wonder if we should select PCI_HOST_GENERIC here, like:
> 
>     diff --git a/drivers/pci/dwc/Kconfig b/drivers/pci/dwc/Kconfig
>     index dfb8a69..b25dce4 100644
>     --- a/drivers/pci/dwc/Kconfig
>     +++ b/drivers/pci/dwc/Kconfig
>     @@ -89,6 +89,7 @@ config PCI_HISI
>             depends on PCI_MSI_IRQ_DOMAIN
>             select PCIEPORTBUS
>             select PCIE_DW_HOST
>     +       select PCI_HOST_GENERIC
>             help
>               Say Y here if you want PCIe controller support on HiSilicon
>               Hip05 and Hip06 SoCs
> 
> 
> I don't know how that would be better. PCI_HOST_GENERIC is
> a standalone driver for machines that don't need any special
> handling (e.g. SBSA or KVM), while PCI_HOST_COMMON is
> the infrastructure used by both PCI_HISI and PCI_HOST_GENERIC.
> 
> Selecting PCI_HOST_GENERIC would also work as we implicitly
> get PCI_HOST_COMMON, but it would not be clear from reading
> the Kconfig file what the purpose of doing that is.

Yes, you are right. I just disabled PCI_HOST_GENERIC and enabled
PCI_HOST_COMMON to test PCI hosts of HiSilicon and Thunder, a build error
happened.

We can fix this by your PCI: generic: stop hiding pci_host_common_probe declaration.
And select PCI_HOST_COMMON here.

Thanks for pointing this!
Zhou.

> 
>       Arnd
diff mbox

Patch

diff --git a/drivers/pci/dwc/Kconfig b/drivers/pci/dwc/Kconfig
index dfb8a69..b25dce4 100644
--- a/drivers/pci/dwc/Kconfig
+++ b/drivers/pci/dwc/Kconfig
@@ -89,6 +89,7 @@  config PCI_HISI
        depends on PCI_MSI_IRQ_DOMAIN
        select PCIEPORTBUS
        select PCIE_DW_HOST
+       select PCI_HOST_GENERIC
        help
          Say Y here if you want PCIe controller support on HiSilicon
          Hip05 and Hip06 SoCs
diff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig
index f7c1d4d..e7a24d0 100644
--- a/drivers/pci/host/Kconfig
+++ b/drivers/pci/host/Kconfig
@@ -151,7 +151,7 @@  config PCI_HOST_THUNDER_PEM
        bool "Cavium Thunder PCIe controller to off-chip devices"
        depends on ARM64
        depends on OF || (ACPI && PCI_QUIRKS)
-       select PCI_HOST_COMMON
+       select PCI_HOST_GENERIC
        help
          Say Y here if you want PCIe support for CN88XX Cavium Thunder SoCs.

@@ -159,7 +159,7 @@  config PCI_HOST_THUNDER_ECAM
        bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
        depends on ARM64
        depends on OF || (ACPI && PCI_QUIRKS)
-       select PCI_HOST_COMMON
+       select PCI_HOST_GENERIC
        help
          Say Y here if you want ECAM support for CN88XX-Pass-1.x Cavium Thunder SoCs.