From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> To: 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>, "hanjun.guo@linaro.org" <hanjun.guo@linaro.org>, Liviu Dudau <Liviu.Dudau@arm.com>, Yijing Wang <wangyijing@huawei.com>, Len Brown <lenb@kernel.org>, Lv Zheng <lv.zheng@intel.com>, 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> Subject: Re: [Patch v5 4/6] PCI/ACPI: Consolidate common PCI host bridge code into ACPI core Date: Thu, 11 Jun 2015 17:18:08 +0100 [thread overview] Message-ID: <20150611161808.GE23914@red-moon> (raw) In-Reply-To: <55787191.6060400@linux.intel.com> Hi Gerry, On Wed, Jun 10, 2015 at 06:19:13PM +0100, Jiang Liu wrote: > On 2015/6/11 0:48, Lorenzo Pieralisi wrote: > > On Tue, Jun 09, 2015 at 05:58:15PM +0100, Jiang Liu wrote: > >> On 2015/6/10 0:12, Lorenzo Pieralisi wrote: > > > > [...] > > > >>>> +struct pci_bus *acpi_pci_root_create(struct acpi_pci_root *root, > >>>> + struct acpi_pci_root_ops *ops, > >>>> + struct acpi_pci_root_info *info, > >>>> + void *sysdata, int segment, int node) > >>> > >>> I do not think you need to pass segment and node, they clutter the > >>> function signature when you can retrieve them from root, I would > >>> make them local variables and use root->segment and acpi_get_node > >>> in the function body to retrieve them. > >> On x86, node and segment may be overridden under certain conditions. > >> For example, segment will always be 0 if 'pci_ignore_seg' is set. > > > > Ok, so the question would be then why do you not override the value > > in root->segment then (actually, is it *correct* to leave the segment > > value in root-> unchanged even if it is overriden) ? > > > > Anyway, node is just used for a printk, why do not you add segment and > > node to acpi_pci_root_info ? Just cosmetic stuff, trying to help you > > simplify the code, it is not easy to parse. > Hi Lorenzo, > I used the complex prototype to explicitly reminder callers > that you need to prepare all these information. If simpler interface > is preferred, we could pack all ops, sysdata, segment, node, root > into info, that there's will be only one parameter "info" left. > The drawback is that it will add several lines of code to each arch > using this interface. So prefer simpler interface or less lines of code?:) I was just referring to segment and node parameters, I think that having them in the parameters list is overkill and they can be encapsulated. With the changes discussed previously feel free to add my: Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> > Thanks! > Gerry > > > > > Thanks, > > Lorenzo > > >
WARNING: multiple messages have this Message-ID (diff)
From: lorenzo.pieralisi@arm.com (Lorenzo Pieralisi) To: linux-arm-kernel@lists.infradead.org Subject: [Patch v5 4/6] PCI/ACPI: Consolidate common PCI host bridge code into ACPI core Date: Thu, 11 Jun 2015 17:18:08 +0100 [thread overview] Message-ID: <20150611161808.GE23914@red-moon> (raw) In-Reply-To: <55787191.6060400@linux.intel.com> Hi Gerry, On Wed, Jun 10, 2015 at 06:19:13PM +0100, Jiang Liu wrote: > On 2015/6/11 0:48, Lorenzo Pieralisi wrote: > > On Tue, Jun 09, 2015 at 05:58:15PM +0100, Jiang Liu wrote: > >> On 2015/6/10 0:12, Lorenzo Pieralisi wrote: > > > > [...] > > > >>>> +struct pci_bus *acpi_pci_root_create(struct acpi_pci_root *root, > >>>> + struct acpi_pci_root_ops *ops, > >>>> + struct acpi_pci_root_info *info, > >>>> + void *sysdata, int segment, int node) > >>> > >>> I do not think you need to pass segment and node, they clutter the > >>> function signature when you can retrieve them from root, I would > >>> make them local variables and use root->segment and acpi_get_node > >>> in the function body to retrieve them. > >> On x86, node and segment may be overridden under certain conditions. > >> For example, segment will always be 0 if 'pci_ignore_seg' is set. > > > > Ok, so the question would be then why do you not override the value > > in root->segment then (actually, is it *correct* to leave the segment > > value in root-> unchanged even if it is overriden) ? > > > > Anyway, node is just used for a printk, why do not you add segment and > > node to acpi_pci_root_info ? Just cosmetic stuff, trying to help you > > simplify the code, it is not easy to parse. > Hi Lorenzo, > I used the complex prototype to explicitly reminder callers > that you need to prepare all these information. If simpler interface > is preferred, we could pack all ops, sysdata, segment, node, root > into info, that there's will be only one parameter "info" left. > The drawback is that it will add several lines of code to each arch > using this interface. So prefer simpler interface or less lines of code?:) I was just referring to segment and node parameters, I think that having them in the parameters list is overkill and they can be encapsulated. With the changes discussed previously feel free to add my: Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> > Thanks! > Gerry > > > > > Thanks, > > Lorenzo > > >
next prev parent reply other threads:[~2015-06-11 16:18 UTC|newest] Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-06-08 16:20 [Patch v5 0/6] Consolidate ACPI PCI root common code into ACPI core Jiang Liu 2015-06-08 16:20 ` Jiang Liu 2015-06-08 16:20 ` [Patch v5 1/6] ACPI/PCI: Enhance ACPI core to support sparse IO space Jiang Liu 2015-06-08 16:20 ` Jiang Liu 2015-07-29 20:37 ` Bjorn Helgaas 2015-07-29 20:37 ` Bjorn Helgaas 2015-09-09 6:38 ` Jiang Liu 2015-09-09 6:38 ` Jiang Liu 2015-09-09 14:54 ` Bjorn Helgaas 2015-09-09 14:54 ` Bjorn Helgaas 2015-06-08 16:20 ` [Patch v5 2/6] ia64/PCI/ACPI: Use common ACPI resource parsing interface for host bridge Jiang Liu 2015-06-08 16:20 ` Jiang Liu 2015-06-08 16:20 ` Jiang Liu 2015-06-08 16:20 ` [Patch v5 3/6] ia64/PCI: Use common struct resource_entry to replace struct iospace_resource Jiang Liu 2015-06-08 16:20 ` Jiang Liu 2015-06-08 16:20 ` Jiang Liu 2015-06-08 16:20 ` [Patch v5 4/6] PCI/ACPI: Consolidate common PCI host bridge code into ACPI core Jiang Liu 2015-06-08 16:20 ` Jiang Liu 2015-06-09 16:12 ` Lorenzo Pieralisi 2015-06-09 16:12 ` Lorenzo Pieralisi 2015-06-09 16:12 ` Lorenzo Pieralisi 2015-06-09 16:58 ` Jiang Liu 2015-06-09 16:58 ` Jiang Liu 2015-06-09 16:58 ` Jiang Liu 2015-06-10 16:48 ` Lorenzo Pieralisi 2015-06-10 16:48 ` Lorenzo Pieralisi 2015-06-10 16:48 ` Lorenzo Pieralisi 2015-06-10 17:19 ` Jiang Liu 2015-06-10 17:19 ` Jiang Liu 2015-06-10 17:19 ` Jiang Liu 2015-06-11 16:18 ` Lorenzo Pieralisi [this message] 2015-06-11 16:18 ` Lorenzo Pieralisi 2015-06-11 16:18 ` Lorenzo Pieralisi 2015-07-29 20:54 ` Bjorn Helgaas 2015-07-29 20:54 ` Bjorn Helgaas 2015-07-29 20:54 ` Bjorn Helgaas 2015-07-29 20:24 ` Bjorn Helgaas 2015-07-29 20:24 ` Bjorn Helgaas 2015-06-08 16:20 ` [Patch v5 5/6] x86/PCI/ACPI: Use common interface to support PCI host bridge Jiang Liu 2015-06-08 16:20 ` Jiang Liu 2015-06-08 16:20 ` [Patch v5 6/6] ia64/PCI/ACPI: " Jiang Liu 2015-06-08 16:20 ` Jiang Liu 2015-06-08 16:20 ` Jiang Liu 2015-07-29 12:17 ` [Patch v5 0/6] Consolidate ACPI PCI root common code into ACPI core Hanjun Guo 2015-07-29 12:17 ` Hanjun Guo 2015-07-29 20:30 ` Bjorn Helgaas 2015-07-29 20:30 ` Bjorn Helgaas 2015-07-30 7:58 ` Jiang Liu 2015-07-30 7:58 ` Jiang Liu
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=20150611161808.GE23914@red-moon \ --to=lorenzo.pieralisi@arm.com \ --cc=Liviu.Dudau@arm.com \ --cc=Marc.Zyngier@arm.com \ --cc=bhelgaas@google.com \ --cc=hanjun.guo@linaro.org \ --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=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: linkBe 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.