All of lore.kernel.org
 help / color / mirror / Atom feed
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
> > 
> 

  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: 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.