Subject: [PATCH v9 08/21] ARM64 / ACPI: Introduce PCI stub functions for ACPI

From: [email-masked] (Hanjun Guo)
Date: Tue, 10 Mar 2015 17:34:59 +0800

On 2015?03?09? 23:01, Liviu Dudau wrote:
> On Wed, Feb 25, 2015 at 08:39:48AM +0000, Hanjun Guo wrote:
>> CONFIG_ACPI depends CONFIG_PCI on x86 and ia64, in ARM64 server
>> world we will have PCIe in most cases, but some of them may not,
>> make CONFIG_ACPI depend CONFIG_PCI on ARM64 will satisfy both.
>>
>> With that case, we need some arch dependent PCI functions to
>> access the config space before the PCI root bridge is created, and
>> pci_acpi_scan_root() to create the PCI root bus. So introduce
>> some stub function here to make ACPI core compile and revisit
>> them later when implemented on ARM64.
>>
>> CC: Liviu Dudau <[email-masked]>
>> CC: Catalin Marinas <[email-masked]>
>> CC: Will Deacon <[email-masked]>
>> Tested-by: Suravee Suthikulpanit <[email-masked]>
>> Tested-by: Yijing Wang <[email-masked]>
>> Tested-by: Mark Langsdorf <[email-masked]>
>> Tested-by: Jon Masters <[email-masked]>
>> Tested-by: Timur Tabi <[email-masked]>
>> Tested-by: Robert Richter <[email-masked]>
>> Acked-by: Robert Richter <[email-masked]>
>> Signed-off-by: Hanjun Guo <[email-masked]>
>> ---
>>   arch/arm64/include/asm/pci.h |  6 ++++++
>>   arch/arm64/kernel/pci.c      | 25 +++++++++++++++++++++++++
>>   2 files changed, 31 insertions(+)
>>
>> diff --git a/arch/arm64/include/asm/pci.h b/arch/arm64/include/asm/pci.h
>> index 872ba93..fded096 100644
>> --- a/arch/arm64/include/asm/pci.h
>> +++ b/arch/arm64/include/asm/pci.h
>> @@ -24,6 +24,12 @@
>>    */
>>   #define PCI_DMA_BUS_IS_PHYS	(0)
>
> Hanjun,

Hi Liviu,

>
>>
>> +static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
>> +{
>> +	/* no legacy IRQ on arm64 */
>> +	return -ENODEV;
>> +}
>> +
>
> Could you explain to me what situation you encountered where you needed
> to define this? I'm trying to figure out when this would be needed and the
> only thing I can come up with would be for drivers/pnp/resource.c, but that
> is guarded by #ifdef CONFIG_PCI, which would mean that you should move this
> a bit further down in the file,

Agreed, will move it to #ifdef CONFIG_PCI .. #endif.

> but also contradicts the last comment on
> this patch (i.e. PCI on ACPI is not really implemented, so presumably
> CONFIG_PCI is not enabled?)

CONFIG_ACPI depends on CONFIG_PCI in the Kconfig, so CONFIG_PCI will be
enabled even PCI on ACPI is not really implemented now, did I
understand your question correctly?

Thanks
Hanjun