From: Hanjun Guo <hanjun.guo@linaro.org>
To: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
Jiang Liu <jiang.liu@linux.intel.com>
Cc: "Rafael J . Wysocki" <rjw@rjwysocki.net>,
Bjorn Helgaas <bhelgaas@google.com>,
Marc Zyngier <Marc.Zyngier@arm.com>,
Liviu Dudau <Liviu.Dudau@arm.com>,
Yijing Wang <wangyijing@huawei.com>,
Catalin Marinas <Catalin.Marinas@arm.com>,
Will Deacon <Will.Deacon@arm.com>, Lv Zheng <lv.zheng@intel.com>,
"lenb @ kernel . org" <lenb@kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
"x86 @ kernel . org" <x86@kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Arnd Bergmann <arnd@arndb.de>
Subject: Re: [Patch v4 5/8] ARM64/PCI/ACPI: Introduce struct pci_controller for ACPI
Date: Wed, 03 Jun 2015 16:44:29 +0800 [thread overview]
Message-ID: <556EBE6D.90907@linaro.org> (raw)
In-Reply-To: <20150602093525.GA23543@red-moon>
On 2015年06月02日 17:35, Lorenzo Pieralisi wrote:
> On Tue, Jun 02, 2015 at 07:12:53AM +0100, Jiang Liu wrote:
>> From: Hanjun Guo <hanjun.guo@linaro.org>
>>
>> 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.
>>
>> Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
>> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
>> CC: Arnd Bergmann <arnd@arndb.de>
>> CC: Catalin Marinas <catalin.marinas@arm.com>
>> CC: Liviu Dudau <Liviu.Dudau@arm.com>
>> CC: Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>
>> CC: Will Deacon <will.deacon@arm.com>
>> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.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 b008a72f8bc0..70884957f253 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 */
>> +};
>
> There is nothing ARM64 specific in this structure. The only
> reason I see you want to keep it arch specific is the iommu
> pointer on x86,
And also plarform_data for IA64 too.
> but I think we should find a way to make
> the common bits shared across archs (ie the struct above) and
> add (maybe a void*) to the generic struct to cater for arch
> specific data.
>
> Thoughts ?
We discussed this already, it has limitations to make it
common to all archs, I think the limitation are:
- struct pci_controller are also used for other archs
such as PowerPC and Tile, they will not use it for
ACPI purpose, so we can not used for all archs.
- if we let struct pci_controller defined only for archs
using ACPI, such as introduce it in linux/acpi.h, we still
can not satisfy that the struct pci_controller is not
only used for ACPI case on x86, it will be used for
non-ACPI too.
So it's pretty difficult to share it with across archs to me,
any more ideas?
Thanks
Hanjun
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Hanjun Guo <hanjun.guo@linaro.org>
To: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
Jiang Liu <jiang.liu@linux.intel.com>
Cc: "Rafael J . Wysocki" <rjw@rjwysocki.net>,
Bjorn Helgaas <bhelgaas@google.com>,
Marc Zyngier <Marc.Zyngier@arm.com>,
Liviu Dudau <Liviu.Dudau@arm.com>,
Yijing Wang <wangyijing@huawei.com>,
Catalin Marinas <Catalin.Marinas@arm.com>,
Will Deacon <Will.Deacon@arm.com>, Lv Zheng <lv.zheng@intel.com>,
"lenb @ kernel . org" <lenb@kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
"x86 @ kernel . org" <x86@kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Arnd Bergmann <arnd@arndb.de>
Subject: Re: [Patch v4 5/8] ARM64/PCI/ACPI: Introduce struct pci_controller for ACPI
Date: Wed, 03 Jun 2015 16:44:29 +0800 [thread overview]
Message-ID: <556EBE6D.90907@linaro.org> (raw)
In-Reply-To: <20150602093525.GA23543@red-moon>
On 2015年06月02日 17:35, Lorenzo Pieralisi wrote:
> On Tue, Jun 02, 2015 at 07:12:53AM +0100, Jiang Liu wrote:
>> From: Hanjun Guo <hanjun.guo@linaro.org>
>>
>> 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.
>>
>> Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
>> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
>> CC: Arnd Bergmann <arnd@arndb.de>
>> CC: Catalin Marinas <catalin.marinas@arm.com>
>> CC: Liviu Dudau <Liviu.Dudau@arm.com>
>> CC: Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>
>> CC: Will Deacon <will.deacon@arm.com>
>> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.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 b008a72f8bc0..70884957f253 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 */
>> +};
>
> There is nothing ARM64 specific in this structure. The only
> reason I see you want to keep it arch specific is the iommu
> pointer on x86,
And also plarform_data for IA64 too.
> but I think we should find a way to make
> the common bits shared across archs (ie the struct above) and
> add (maybe a void*) to the generic struct to cater for arch
> specific data.
>
> Thoughts ?
We discussed this already, it has limitations to make it
common to all archs, I think the limitation are:
- struct pci_controller are also used for other archs
such as PowerPC and Tile, they will not use it for
ACPI purpose, so we can not used for all archs.
- if we let struct pci_controller defined only for archs
using ACPI, such as introduce it in linux/acpi.h, we still
can not satisfy that the struct pci_controller is not
only used for ACPI case on x86, it will be used for
non-ACPI too.
So it's pretty difficult to share it with across archs to me,
any more ideas?
Thanks
Hanjun
WARNING: multiple messages have this Message-ID (diff)
From: hanjun.guo@linaro.org (Hanjun Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [Patch v4 5/8] ARM64/PCI/ACPI: Introduce struct pci_controller for ACPI
Date: Wed, 03 Jun 2015 16:44:29 +0800 [thread overview]
Message-ID: <556EBE6D.90907@linaro.org> (raw)
In-Reply-To: <20150602093525.GA23543@red-moon>
On 2015?06?02? 17:35, Lorenzo Pieralisi wrote:
> On Tue, Jun 02, 2015 at 07:12:53AM +0100, Jiang Liu wrote:
>> From: Hanjun Guo <hanjun.guo@linaro.org>
>>
>> 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.
>>
>> Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
>> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
>> CC: Arnd Bergmann <arnd@arndb.de>
>> CC: Catalin Marinas <catalin.marinas@arm.com>
>> CC: Liviu Dudau <Liviu.Dudau@arm.com>
>> CC: Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>
>> CC: Will Deacon <will.deacon@arm.com>
>> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.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 b008a72f8bc0..70884957f253 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 */
>> +};
>
> There is nothing ARM64 specific in this structure. The only
> reason I see you want to keep it arch specific is the iommu
> pointer on x86,
And also plarform_data for IA64 too.
> but I think we should find a way to make
> the common bits shared across archs (ie the struct above) and
> add (maybe a void*) to the generic struct to cater for arch
> specific data.
>
> Thoughts ?
We discussed this already, it has limitations to make it
common to all archs, I think the limitation are:
- struct pci_controller are also used for other archs
such as PowerPC and Tile, they will not use it for
ACPI purpose, so we can not used for all archs.
- if we let struct pci_controller defined only for archs
using ACPI, such as introduce it in linux/acpi.h, we still
can not satisfy that the struct pci_controller is not
only used for ACPI case on x86, it will be used for
non-ACPI too.
So it's pretty difficult to share it with across archs to me,
any more ideas?
Thanks
Hanjun
next prev parent reply other threads:[~2015-06-03 8:44 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-02 6:12 [Patch v4 0/8] Consolidate ACPI PCI root common code into ACPI core Jiang Liu
2015-06-02 6:12 ` Jiang Liu
2015-06-02 6:12 ` [Patch v4 1/8] ACPI/PCI: Enhance ACPI core to support sparse IO space Jiang Liu
2015-06-02 6:12 ` Jiang Liu
2015-06-02 6:12 ` [Patch v4 2/8] ia64/PCI/ACPI: Use common ACPI resource parsing interface for host bridge Jiang Liu
2015-06-02 6:12 ` Jiang Liu
2015-06-02 6:12 ` Jiang Liu
2015-06-02 6:12 ` [Patch v4 3/8] ia64/PCI: Use common struct resource_entry to replace struct iospace_resource Jiang Liu
2015-06-02 6:12 ` Jiang Liu
2015-06-02 6:12 ` Jiang Liu
2015-06-02 6:12 ` [Patch v4 4/8] x86/PCI: Rename struct pci_sysdata as struct pci_controller Jiang Liu
2015-06-02 6:12 ` Jiang Liu
2015-06-02 6:12 ` [Patch v4 5/8] ARM64/PCI/ACPI: Introduce struct pci_controller for ACPI Jiang Liu
2015-06-02 6:12 ` Jiang Liu
2015-06-02 9:35 ` Lorenzo Pieralisi
2015-06-02 9:35 ` Lorenzo Pieralisi
2015-06-03 8:44 ` Hanjun Guo [this message]
2015-06-03 8:44 ` Hanjun Guo
2015-06-03 8:44 ` Hanjun Guo
2015-06-03 9:36 ` Jiang Liu
2015-06-03 9:36 ` Jiang Liu
2015-06-03 10:03 ` Lorenzo Pieralisi
2015-06-03 10:03 ` Lorenzo Pieralisi
2015-06-03 10:21 ` Jiang Liu
2015-06-03 10:21 ` Jiang Liu
2015-06-03 12:49 ` Lorenzo Pieralisi
2015-06-03 12:49 ` Lorenzo Pieralisi
2015-06-02 6:12 ` [Patch v4 6/8] PCI/ACPI: Consolidate common PCI host bridge code into ACPI core Jiang Liu
2015-06-02 6:12 ` Jiang Liu
2015-06-02 6:12 ` [Patch v4 7/8] x86/PCI/ACPI: Use common interface to support PCI host bridge Jiang Liu
2015-06-02 6:12 ` Jiang Liu
2015-06-02 6:12 ` [Patch v4 8/8] ia64/PCI/ACPI: " Jiang Liu
2015-06-02 6:12 ` Jiang Liu
2015-06-02 6:12 ` Jiang Liu
2015-06-02 6:46 ` [Patch v4 0/8] Consolidate ACPI PCI root common code into ACPI core Hanjun Guo
2015-06-02 6:46 ` Hanjun Guo
2015-06-02 6:46 ` Hanjun Guo
2015-06-03 20:27 ` Al Stone
2015-06-03 20:27 ` Al Stone
2015-06-04 1:54 ` Jiang Liu
2015-06-04 1:54 ` Jiang Liu
2015-06-04 6:31 ` Hanjun Guo
2015-06-04 6:31 ` Hanjun Guo
2015-06-04 6:41 ` Jiang Liu
2015-06-04 6:41 ` Jiang Liu
2015-06-04 6:41 ` Jiang Liu
2015-06-04 7:02 ` Hanjun Guo
2015-06-04 7:02 ` Hanjun Guo
2015-06-04 7:02 ` Hanjun Guo
2015-06-04 15:51 ` Mark Salter
2015-06-04 15:51 ` Mark Salter
2015-06-04 15:51 ` Mark Salter
2015-06-04 16:29 ` Jiang Liu
2015-06-04 16:29 ` Jiang Liu
2015-06-04 16:57 ` Mark Salter
2015-06-04 16:57 ` Mark Salter
2015-06-08 3:59 ` Hanjun Guo
2015-06-08 3:59 ` Hanjun Guo
2015-06-08 3:59 ` Hanjun Guo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=556EBE6D.90907@linaro.org \
--to=hanjun.guo@linaro.org \
--cc=Catalin.Marinas@arm.com \
--cc=Liviu.Dudau@arm.com \
--cc=Marc.Zyngier@arm.com \
--cc=Will.Deacon@arm.com \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=jiang.liu@linux.intel.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=lv.zheng@intel.com \
--cc=rjw@rjwysocki.net \
--cc=wangyijing@huawei.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.