[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5565AA8D.1090702@linux.intel.com>
Date: Wed, 27 May 2015 19:29:17 +0800
From: Jiang Liu <jiang.liu@...ux.intel.com>
To: Liviu Dudau <Liviu.Dudau@....com>
CC: "hanjun.guo@...aro.org" <hanjun.guo@...aro.org>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Arnd Bergmann <arnd@...db.de>,
Catalin Marinas <Catalin.Marinas@....com>,
Will Deacon <Will.Deacon@....com>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Thomas Gleixner <tglx@...utronix.de>,
Yijing Wang <wangyijing@...wei.com>,
Lorenzo Pieralisi <Lorenzo.Pieralisi@....com>,
Tomasz Nowicki <tomasz.nowicki@...aro.org>,
"suravee.suthikulpanit@....com" <suravee.suthikulpanit@....com>,
"msalter@...hat.com" <msalter@...hat.com>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linaro-acpi@...ts.linaro.org" <linaro-acpi@...ts.linaro.org>
Subject: Re: [PATCH 01/11] ARM64 / PCI: introduce struct pci_controller for
ACPI
On 2015/5/27 17:47, Liviu Dudau wrote:
> On Tue, May 26, 2015 at 06:20:40PM +0100, Jiang Liu wrote:
>> On 2015/5/27 0:58, Liviu Dudau wrote:
>>> On Tue, May 26, 2015 at 01:49:14PM +0100, Hanjun Guo wrote:
>>>> ARM64 ACPI based PCI host bridge init needs a arch dependent
>>>> struct pci_controller to accommodate common PCI host bridge
>>>> code which is introduced later, or it will lead to compile
>>>> errors on ARM64.
>>>
>>> Hi Hanjun,
>>>
>>> Two questions: why don't you introduce this patch next to the
>>> one that is going to make use of it (or even merge it there)?
>>> Second, why is the whole struct pci_controller not surrounded
>>> by #ifdef CONFIG_ACPI as you are implying that this is needed
>>> only for ACPI?
>>>
>>> Btw, looking through the whole series I'm not (yet) convinced
>>> that this is needed at all.
>> Hi Liviu,
>> This structure is required by the requested patch set
>> at http://patchwork.ozlabs.org/patch/472249/, which consolidates
>> the common code to support PCI host bridge into ACPI core.
>> Thanks!
>> Gerry
>
> Hi Jiang,
>
> Thanks for pointing me on the right answer, I've missed that series!
> Probably not the best place to comment on that series here, but I
> wonder why did you not made the pci_controller structure available
> in a more generic header file that can be included so that arches
> don't have to redefine the structure every time. After all, you are
> trying to consolidate things.
>
> Oh, and pci_controller name throws a lot of false negatives, maybe
> a more specific one (acpi_pci_controller?) would make things clear?
Hi Liviu,
It's a trade-off. Once I tried to rename it too, but gave up
later. There are several reasons to keep it as is:
1) Several architectures define pci_controller to support PCI
root bus.
2) struct pci_controller is a generic concept, I guess, and ACPI code
extends pci_controller to host some ACPI specific data on IA64 and
x86.
3) It will cause big code changes if we rename pci_controller to
something else.
Thanks!
Gerry
>
> Best regards,
> Liviu
>
>>
>>>
>>> Best regards,
>>> Liviu
>>>
>>>>
>>>> Signed-off-by: Hanjun Guo <hanjun.guo@...aro.org>
>>>> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@....com>
>>>> CC: Arnd Bergmann <arnd@...db.de>
>>>> CC: Catalin Marinas <catalin.marinas@....com>
>>>> CC: Liviu Dudau <Liviu.Dudau@....com>
>>>> CC: Lorenzo Pieralisi <Lorenzo.Pieralisi@....com>
>>>> CC: Will Deacon <will.deacon@....com>
>>>> ---
>>>> arch/arm64/include/asm/pci.h | 10 ++++++++++
>>>> 1 file changed, 10 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/include/asm/pci.h b/arch/arm64/include/asm/pci.h
>>>> index b008a72..7088495 100644
>>>> --- a/arch/arm64/include/asm/pci.h
>>>> +++ b/arch/arm64/include/asm/pci.h
>>>> @@ -10,6 +10,16 @@
>>>> #include <asm-generic/pci-bridge.h>
>>>> #include <asm-generic/pci-dma-compat.h>
>>>>
>>>> +struct acpi_device;
>>>> +
>>>> +struct pci_controller {
>>>> +#ifdef CONFIG_ACPI
>>>> + struct acpi_device *companion; /* ACPI companion device */
>>>> +#endif
>>>> + int segment; /* PCI domain */
>>>> + int node; /* NUMA node */
>>>> +};
>>>> +
>>>> #define PCIBIOS_MIN_IO 0x1000
>>>> #define PCIBIOS_MIN_MEM 0
>>>>
>>>> --
>>>> 1.9.1
>>>>
>>>
>>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists