From: Matthias Brugger <mbrugger@suse.com> To: Hanjun Guo <hanjun.guo@linaro.org>, Marc Zyngier <marc.zyngier@arm.com>, "Rafael J. Wysocki" <rjw@rjwysocki.net>, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linuxarm@huawei.com, Thomas Gleixner <tglx@linutronix.de>, Greg KH <gregkh@linuxfoundation.org>, Tomasz Nowicki <tn@semihalf.com>, Ma Jun <majun258@huawei.com>, Kefeng Wang <wangkefeng.wang@huawei.com>, Agustin Vega-Frias <agustinv@codeaurora.org>, Sinan Kaya <okaya@codeaurora.org>, huxinwei@huawei.com, yimin@huawei.com, Jon Masters <jcm@redhat.com>, Xinwei Kong <kong.kongxinwei@hisilicon.com> Subject: Re: [PATCH v7 06/15] irqchip: gicv3-its: platform-msi: refactor its_pmsi_init() to prepare for ACPI Date: Mon, 16 Jan 2017 20:27:38 +0100 [thread overview] Message-ID: <d8474597-40e4-3cde-9326-ec8e6bf728ba@suse.com> (raw) In-Reply-To: <1484147199-4267-7-git-send-email-hanjun.guo@linaro.org> On 11/01/17 16:06, Hanjun Guo wrote: > Introduce its_pmsi_init_one() to refactor the code to isolate > ACPI&DT common code to prepare for ACPI later. > > Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org> > Cc: Marc Zyngier <marc.zyngier@arm.com> > Cc: Tomasz Nowicki <tn@semihalf.com> > Cc: Thomas Gleixner <tglx@linutronix.de> > --- > drivers/irqchip/irq-gic-v3-its-platform-msi.c | 45 ++++++++++++++++----------- > 1 file changed, 27 insertions(+), 18 deletions(-) > Reviewed-by: Matthias Brugger <mbrugger@suse.com> > diff --git a/drivers/irqchip/irq-gic-v3-its-platform-msi.c b/drivers/irqchip/irq-gic-v3-its-platform-msi.c > index 3c94278..3d9efd1 100644 > --- a/drivers/irqchip/irq-gic-v3-its-platform-msi.c > +++ b/drivers/irqchip/irq-gic-v3-its-platform-msi.c > @@ -82,34 +82,43 @@ static int its_pmsi_prepare(struct irq_domain *domain, struct device *dev, > {}, > }; > > -static int __init its_pmsi_init(void) > +static int __init its_pmsi_init_one(struct fwnode_handle *fwnode, > + const char *name) > { > - struct device_node *np; > struct irq_domain *parent; > > + parent = irq_find_matching_fwnode(fwnode, DOMAIN_BUS_NEXUS); > + if (!parent || !msi_get_domain_info(parent)) { > + pr_err("%s: unable to locate ITS domain\n", name); > + return -ENXIO; > + } > + > + if (!platform_msi_create_irq_domain(fwnode, &its_pmsi_domain_info, > + parent)) { > + pr_err("%s: unable to create platform domain\n", name); > + return -ENXIO; > + } > + > + pr_info("Platform MSI: %s domain created\n", name); > + return 0; > +} > + > +static void __init its_pmsi_of_init(void) > +{ > + struct device_node *np; > + > for (np = of_find_matching_node(NULL, its_device_id); np; > np = of_find_matching_node(np, its_device_id)) { > if (!of_property_read_bool(np, "msi-controller")) > continue; > > - parent = irq_find_matching_host(np, DOMAIN_BUS_NEXUS); > - if (!parent || !msi_get_domain_info(parent)) { > - pr_err("%s: unable to locate ITS domain\n", > - np->full_name); > - continue; > - } > - > - if (!platform_msi_create_irq_domain(of_node_to_fwnode(np), > - &its_pmsi_domain_info, > - parent)) { > - pr_err("%s: unable to create platform domain\n", > - np->full_name); > - continue; > - } > - > - pr_info("Platform MSI: %s domain created\n", np->full_name); > + its_pmsi_init_one(of_node_to_fwnode(np), np->full_name); > } > +} > > +static int __init its_pmsi_init(void) > +{ > + its_pmsi_of_init(); > return 0; > } > early_initcall(its_pmsi_init); >
WARNING: multiple messages have this Message-ID (diff)
From: mbrugger@suse.com (Matthias Brugger) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v7 06/15] irqchip: gicv3-its: platform-msi: refactor its_pmsi_init() to prepare for ACPI Date: Mon, 16 Jan 2017 20:27:38 +0100 [thread overview] Message-ID: <d8474597-40e4-3cde-9326-ec8e6bf728ba@suse.com> (raw) In-Reply-To: <1484147199-4267-7-git-send-email-hanjun.guo@linaro.org> On 11/01/17 16:06, Hanjun Guo wrote: > Introduce its_pmsi_init_one() to refactor the code to isolate > ACPI&DT common code to prepare for ACPI later. > > Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org> > Cc: Marc Zyngier <marc.zyngier@arm.com> > Cc: Tomasz Nowicki <tn@semihalf.com> > Cc: Thomas Gleixner <tglx@linutronix.de> > --- > drivers/irqchip/irq-gic-v3-its-platform-msi.c | 45 ++++++++++++++++----------- > 1 file changed, 27 insertions(+), 18 deletions(-) > Reviewed-by: Matthias Brugger <mbrugger@suse.com> > diff --git a/drivers/irqchip/irq-gic-v3-its-platform-msi.c b/drivers/irqchip/irq-gic-v3-its-platform-msi.c > index 3c94278..3d9efd1 100644 > --- a/drivers/irqchip/irq-gic-v3-its-platform-msi.c > +++ b/drivers/irqchip/irq-gic-v3-its-platform-msi.c > @@ -82,34 +82,43 @@ static int its_pmsi_prepare(struct irq_domain *domain, struct device *dev, > {}, > }; > > -static int __init its_pmsi_init(void) > +static int __init its_pmsi_init_one(struct fwnode_handle *fwnode, > + const char *name) > { > - struct device_node *np; > struct irq_domain *parent; > > + parent = irq_find_matching_fwnode(fwnode, DOMAIN_BUS_NEXUS); > + if (!parent || !msi_get_domain_info(parent)) { > + pr_err("%s: unable to locate ITS domain\n", name); > + return -ENXIO; > + } > + > + if (!platform_msi_create_irq_domain(fwnode, &its_pmsi_domain_info, > + parent)) { > + pr_err("%s: unable to create platform domain\n", name); > + return -ENXIO; > + } > + > + pr_info("Platform MSI: %s domain created\n", name); > + return 0; > +} > + > +static void __init its_pmsi_of_init(void) > +{ > + struct device_node *np; > + > for (np = of_find_matching_node(NULL, its_device_id); np; > np = of_find_matching_node(np, its_device_id)) { > if (!of_property_read_bool(np, "msi-controller")) > continue; > > - parent = irq_find_matching_host(np, DOMAIN_BUS_NEXUS); > - if (!parent || !msi_get_domain_info(parent)) { > - pr_err("%s: unable to locate ITS domain\n", > - np->full_name); > - continue; > - } > - > - if (!platform_msi_create_irq_domain(of_node_to_fwnode(np), > - &its_pmsi_domain_info, > - parent)) { > - pr_err("%s: unable to create platform domain\n", > - np->full_name); > - continue; > - } > - > - pr_info("Platform MSI: %s domain created\n", np->full_name); > + its_pmsi_init_one(of_node_to_fwnode(np), np->full_name); > } > +} > > +static int __init its_pmsi_init(void) > +{ > + its_pmsi_of_init(); > return 0; > } > early_initcall(its_pmsi_init); >
next prev parent reply other threads:[~2017-01-16 19:27 UTC|newest] Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-01-11 15:06 [PATCH v7 00/15] ACPI platform MSI support and its example mbigen Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-11 15:06 ` [PATCH v7 01/15] ACPI: IORT: fix the indentation in iort_scan_node() Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-11 15:06 ` [PATCH v7 02/15] ACPI: IORT: add missing comment for iort_dev_find_its_id() Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-11 15:06 ` [PATCH v7 03/15] ACPI: IORT: minor cleanup for iort_match_node_callback() Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-11 15:06 ` [PATCH v7 04/15] irqchip: gic-v3-its: keep the head file include in alphabetic order Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-11 15:06 ` [PATCH v7 05/15] irqchip: gicv3-its: platform-msi: refactor its_pmsi_prepare() Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-11 15:06 ` [PATCH v7 06/15] irqchip: gicv3-its: platform-msi: refactor its_pmsi_init() to prepare for ACPI Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-16 19:27 ` Matthias Brugger [this message] 2017-01-16 19:27 ` Matthias Brugger 2017-01-11 15:06 ` [PATCH v7 07/15] irqchip: gicv3-its: platform-msi: scan MADT to create platform msi domain Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-17 9:25 ` Matthias Brugger 2017-01-17 9:25 ` Matthias Brugger 2017-01-17 9:25 ` Matthias Brugger 2017-01-11 15:06 ` [PATCH v7 08/15] ACPI: IORT: rename iort_node_map_rid() to make it generic Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-13 11:47 ` Lorenzo Pieralisi 2017-01-13 11:47 ` Lorenzo Pieralisi 2017-01-14 3:25 ` Hanjun Guo 2017-01-14 3:25 ` Hanjun Guo 2017-01-14 3:25 ` Hanjun Guo 2017-01-11 15:06 ` [PATCH v7 09/15] ACPI: platform-msi: retrieve dev id from IORT Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-13 12:11 ` Lorenzo Pieralisi 2017-01-13 12:11 ` Lorenzo Pieralisi 2017-01-14 4:28 ` Hanjun Guo 2017-01-14 4:28 ` Hanjun Guo 2017-01-14 4:28 ` Hanjun Guo 2017-01-16 11:25 ` Lorenzo Pieralisi 2017-01-16 11:25 ` Lorenzo Pieralisi 2017-01-16 13:21 ` Hanjun Guo 2017-01-16 13:21 ` Hanjun Guo 2017-01-16 13:21 ` Hanjun Guo 2017-01-11 15:06 ` [PATCH v7 10/15] ACPI: IORT: move over to iort_node_map_platform_id() Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-11 15:06 ` [PATCH v7 11/15] ACPI: platform: setup MSI domain for ACPI based platform device Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-11 15:06 ` [PATCH v7 12/15] msi: platform: make platform_msi_create_device_domain() ACPI aware Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-13 10:45 ` Lorenzo Pieralisi 2017-01-13 10:45 ` Lorenzo Pieralisi 2017-01-13 10:45 ` Lorenzo Pieralisi 2017-01-14 3:00 ` Hanjun Guo 2017-01-14 3:00 ` Hanjun Guo 2017-01-14 3:00 ` Hanjun Guo 2017-01-11 15:06 ` [PATCH v7 13/15] irqchip: mbigen: drop module owner Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-11 15:06 ` [PATCH v7 14/15] irqchip: mbigen: introduce mbigen_of_create_domain() Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-11 15:06 ` [PATCH v7 15/15] irqchip: mbigen: Add ACPI support Hanjun Guo 2017-01-11 15:06 ` Hanjun Guo 2017-01-13 10:21 ` Lorenzo Pieralisi 2017-01-13 10:21 ` Lorenzo Pieralisi 2017-01-14 2:56 ` Hanjun Guo 2017-01-14 2:56 ` Hanjun Guo 2017-01-14 2:56 ` Hanjun Guo 2017-01-16 11:38 ` Lorenzo Pieralisi 2017-01-16 11:38 ` Lorenzo Pieralisi 2017-01-16 14:23 ` Hanjun Guo 2017-01-16 14:23 ` Hanjun Guo 2017-01-16 14:23 ` Hanjun Guo 2017-01-16 15:24 ` Lorenzo Pieralisi 2017-01-16 15:24 ` Lorenzo Pieralisi 2017-01-17 11:59 ` Hanjun Guo 2017-01-17 11:59 ` Hanjun Guo 2017-01-17 11:59 ` Hanjun Guo 2017-01-13 10:23 ` [PATCH v7 00/15] ACPI platform MSI support and its example mbigen Ming Lei 2017-01-13 10:23 ` Ming Lei 2017-01-14 1:04 ` Hanjun Guo 2017-01-14 1:04 ` Hanjun Guo 2017-01-14 1:04 ` Hanjun Guo 2017-01-13 14:11 ` Wei Xu 2017-01-13 14:11 ` Wei Xu 2017-01-13 14:11 ` Wei Xu 2017-01-14 4:30 ` Hanjun Guo 2017-01-14 4:30 ` Hanjun Guo 2017-01-14 4:30 ` Hanjun Guo 2017-01-16 5:12 ` Sinan Kaya 2017-01-16 5:12 ` Sinan Kaya
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=d8474597-40e4-3cde-9326-ec8e6bf728ba@suse.com \ --to=mbrugger@suse.com \ --cc=agustinv@codeaurora.org \ --cc=gregkh@linuxfoundation.org \ --cc=hanjun.guo@linaro.org \ --cc=huxinwei@huawei.com \ --cc=jcm@redhat.com \ --cc=kong.kongxinwei@hisilicon.com \ --cc=linux-acpi@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linuxarm@huawei.com \ --cc=lorenzo.pieralisi@arm.com \ --cc=majun258@huawei.com \ --cc=marc.zyngier@arm.com \ --cc=okaya@codeaurora.org \ --cc=rjw@rjwysocki.net \ --cc=tglx@linutronix.de \ --cc=tn@semihalf.com \ --cc=wangkefeng.wang@huawei.com \ --cc=yimin@huawei.com \ /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.