All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hanjun Guo <guohanjun@huawei.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: huxinwei@huawei.com, Kefeng Wang <wangkefeng.wang@huawei.com>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	yimin@huawei.com,
	Charles Garcia-Tobin <charles.garcia-tobin@arm.com>,
	Marc Zyngier <marc.zyngier@arm.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linuxarm@huawei.com, Sinan Kaya <okaya@codeaurora.org>,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	Hanjun Guo <hanjun.guo@linaro.org>,
	Tomasz Nowicki <tn@semihalf.com>, Jon Masters <jcm@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Agustin Vega-Frias <agustinv@codeaurora.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	Ma Jun <majun258@huawei.com>
Subject: Re: [PATCH v5 09/14] ACPI: platform: setup MSI domain for ACPI based platform device
Date: Fri, 30 Dec 2016 18:50:44 +0800	[thread overview]
Message-ID: <58663C04.9000603@huawei.com> (raw)
In-Reply-To: <586072E9.3060609@huawei.com>

Hi Rafael,

On 2016/12/26 9:31, Hanjun Guo wrote:
[cut]
>
> +       if (pdevinfo->pre_add_cb)
> +               pdevinfo->pre_add_cb(&pdev->dev);
> +
>>>> -> because it looks like this might be done in acpi_platform_notify()
>>>> for platform devices.
>>> It works and I just simply add the code below:
>>>
>>> diff --git a/drivers/acpi/glue.c b/drivers/acpi/glue.c
>>> index f8d6564..e0cd649 100644
>>> --- a/drivers/acpi/glue.c
>>> +++ b/drivers/acpi/glue.c
>>> @@ -13,6 +13,7 @@
>>>  #include <linux/slab.h>
>>>  #include <linux/rwsem.h>
>>>  #include <linux/acpi.h>
>>> +#include <linux/acpi_iort.h>
>>>  #include <linux/dma-mapping.h>
>>>
>>>  #include "internal.h"
>>> @@ -315,6 +316,8 @@ static int acpi_platform_notify(struct device *dev)
>>>         if (!adev)
>>>                 goto out;
>>>
>>> + acpi_configure_pmsi_domain(dev);
>>> +
>> But that should apply to platform devices only I suppose?
> Yes, it's only for the platform device.
>
>>>         if (type && type->setup)
>>>                 type->setup(dev);
>>>         else if (adev->handler && adev->handler->bind)
>>>
>>> Do you suggesting to configure the msi domain in this way?
>>> or add the function in the type->setup() callback (which needs
>>> to introduce a new acpi bus type)?
>> A type->setup() would be somewhat cleaner I think, but then it's more
>> code.  Whichever works better I guess. :-)
> Agree, I will demo the type->setup() way and send out the patch for review,
> also I find one minor issue for the IORT code, will update that also for next
> version.

Just demo the code and find out it's seems to cut the feet to the type->setup() code,
because we need a match function (it's ok) and a find_companion() (we don't need that
and make the code worse because we will call the find_companion callback which it not needed
for platform devices:

diff --git a/drivers/acpi/acpi_platform.c b/drivers/acpi/acpi_platform.c
index 96983c9..654021d9b 100644
--- a/drivers/acpi/acpi_platform.c
+++ b/drivers/acpi/acpi_platform.c
@@ -138,3 +138,31 @@ struct platform_device *acpi_create_platform_device(struct acpi_device *adev,
        return pdev;
 }
 EXPORT_SYMBOL_GPL(acpi_create_platform_device);
+
+static bool platform_acpi_bus_match(struct device *dev)
+{
+ return dev->bus == &platform_bus_type;
+}
+
+static struct acpi_device *platform_acpi_bus_find_companion(struct device *dev)
+{
+ /* demo code, do nothing here */
+ return NULL;
+}
+
+static void platform_acpi_setup(struct device *dev)
+{
+ acpi_configure_pmsi_domain(dev);
+}
+
+static struct acpi_bus_type acpi_platform_bus = {
+ .name = "Platform",
+ .match = platform_acpi_bus_match,
+ .find_companion = platform_acpi_bus_find_companion,
+ .setup = platform_acpi_setup,
+};
+
+int acpi_platform_bus_register(void)
+{
+ return register_acpi_bus_type(&acpi_platform_bus);
+}
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index 95855cb..0a0a639 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -1199,6 +1199,7 @@ static int __init acpi_init(void)
        }
 
        pci_mmcfg_late_init();
+ acpi_platform_bus_register();
        acpi_iort_init();
        acpi_scan_init();
        acpi_ec_init();
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 809b536..1d05f92 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -597,6 +597,8 @@ extern bool acpi_driver_match_device(struct device *dev,
 
 struct platform_device *acpi_create_platform_device(struct acpi_device *,
                                                    struct property_entry *);
+int acpi_platform_bus_register(void);
+
 #define ACPI_PTR(_ptr) (_ptr)
 
 static inline void acpi_device_set_enumerated(struct acpi_device *adev)


So how about just add the code as below?

diff --git a/drivers/acpi/glue.c b/drivers/acpi/glue.c
index 11e63dd..37a8dfe 100644
--- a/drivers/acpi/glue.c
+++ b/drivers/acpi/glue.c
@@ -316,7 +316,8 @@ static int acpi_platform_notify(struct device *dev)
        if (!adev)
                goto out;
 
+ if (dev->bus == &platform_bus_type)
+         acpi_configure_pmsi_domain(dev);
 
        if (type && type->setup)
                type->setup(dev);

Thanks
Hanjun

WARNING: multiple messages have this Message-ID (diff)
From: guohanjun@huawei.com (Hanjun Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 09/14] ACPI: platform: setup MSI domain for ACPI based platform device
Date: Fri, 30 Dec 2016 18:50:44 +0800	[thread overview]
Message-ID: <58663C04.9000603@huawei.com> (raw)
In-Reply-To: <586072E9.3060609@huawei.com>

Hi Rafael,

On 2016/12/26 9:31, Hanjun Guo wrote:
[cut]
>
> +       if (pdevinfo->pre_add_cb)
> +               pdevinfo->pre_add_cb(&pdev->dev);
> +
>>>> -> because it looks like this might be done in acpi_platform_notify()
>>>> for platform devices.
>>> It works and I just simply add the code below:
>>>
>>> diff --git a/drivers/acpi/glue.c b/drivers/acpi/glue.c
>>> index f8d6564..e0cd649 100644
>>> --- a/drivers/acpi/glue.c
>>> +++ b/drivers/acpi/glue.c
>>> @@ -13,6 +13,7 @@
>>>  #include <linux/slab.h>
>>>  #include <linux/rwsem.h>
>>>  #include <linux/acpi.h>
>>> +#include <linux/acpi_iort.h>
>>>  #include <linux/dma-mapping.h>
>>>
>>>  #include "internal.h"
>>> @@ -315,6 +316,8 @@ static int acpi_platform_notify(struct device *dev)
>>>         if (!adev)
>>>                 goto out;
>>>
>>> + acpi_configure_pmsi_domain(dev);
>>> +
>> But that should apply to platform devices only I suppose?
> Yes, it's only for the platform device.
>
>>>         if (type && type->setup)
>>>                 type->setup(dev);
>>>         else if (adev->handler && adev->handler->bind)
>>>
>>> Do you suggesting to configure the msi domain in this way?
>>> or add the function in the type->setup() callback (which needs
>>> to introduce a new acpi bus type)?
>> A type->setup() would be somewhat cleaner I think, but then it's more
>> code.  Whichever works better I guess. :-)
> Agree, I will demo the type->setup() way and send out the patch for review,
> also I find one minor issue for the IORT code, will update that also for next
> version.

Just demo the code and find out it's seems to cut the feet to the type->setup() code,
because we need a match function (it's ok) and a find_companion() (we don't need that
and make the code worse because we will call the find_companion callback which it not needed
for platform devices:

diff --git a/drivers/acpi/acpi_platform.c b/drivers/acpi/acpi_platform.c
index 96983c9..654021d9b 100644
--- a/drivers/acpi/acpi_platform.c
+++ b/drivers/acpi/acpi_platform.c
@@ -138,3 +138,31 @@ struct platform_device *acpi_create_platform_device(struct acpi_device *adev,
        return pdev;
 }
 EXPORT_SYMBOL_GPL(acpi_create_platform_device);
+
+static bool platform_acpi_bus_match(struct device *dev)
+{
+ return dev->bus == &platform_bus_type;
+}
+
+static struct acpi_device *platform_acpi_bus_find_companion(struct device *dev)
+{
+ /* demo code, do nothing here */
+ return NULL;
+}
+
+static void platform_acpi_setup(struct device *dev)
+{
+ acpi_configure_pmsi_domain(dev);
+}
+
+static struct acpi_bus_type acpi_platform_bus = {
+ .name = "Platform",
+ .match = platform_acpi_bus_match,
+ .find_companion = platform_acpi_bus_find_companion,
+ .setup = platform_acpi_setup,
+};
+
+int acpi_platform_bus_register(void)
+{
+ return register_acpi_bus_type(&acpi_platform_bus);
+}
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index 95855cb..0a0a639 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -1199,6 +1199,7 @@ static int __init acpi_init(void)
        }
 
        pci_mmcfg_late_init();
+ acpi_platform_bus_register();
        acpi_iort_init();
        acpi_scan_init();
        acpi_ec_init();
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 809b536..1d05f92 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -597,6 +597,8 @@ extern bool acpi_driver_match_device(struct device *dev,
 
 struct platform_device *acpi_create_platform_device(struct acpi_device *,
                                                    struct property_entry *);
+int acpi_platform_bus_register(void);
+
 #define ACPI_PTR(_ptr) (_ptr)
 
 static inline void acpi_device_set_enumerated(struct acpi_device *adev)


So how about just add the code as below?

diff --git a/drivers/acpi/glue.c b/drivers/acpi/glue.c
index 11e63dd..37a8dfe 100644
--- a/drivers/acpi/glue.c
+++ b/drivers/acpi/glue.c
@@ -316,7 +316,8 @@ static int acpi_platform_notify(struct device *dev)
        if (!adev)
                goto out;
 
+ if (dev->bus == &platform_bus_type)
+         acpi_configure_pmsi_domain(dev);
 
        if (type && type->setup)
                type->setup(dev);

Thanks
Hanjun

WARNING: multiple messages have this Message-ID (diff)
From: Hanjun Guo <guohanjun@huawei.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Marc Zyngier <marc.zyngier@arm.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	"ACPI Devel Maling List" <linux-acpi@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	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>,
	Charles Garcia-Tobin <charles.garcia-tobin@arm.com>,
	<huxinwei@huawei.com>, <yimin@huawei.com>, <linuxarm@huawei.com>,
	Jon Masters <jcm@redhat.com>, Hanjun Guo <hanjun.guo@linaro.org>
Subject: Re: [PATCH v5 09/14] ACPI: platform: setup MSI domain for ACPI based platform device
Date: Fri, 30 Dec 2016 18:50:44 +0800	[thread overview]
Message-ID: <58663C04.9000603@huawei.com> (raw)
In-Reply-To: <586072E9.3060609@huawei.com>

Hi Rafael,

On 2016/12/26 9:31, Hanjun Guo wrote:
[cut]
>
> +       if (pdevinfo->pre_add_cb)
> +               pdevinfo->pre_add_cb(&pdev->dev);
> +
>>>> -> because it looks like this might be done in acpi_platform_notify()
>>>> for platform devices.
>>> It works and I just simply add the code below:
>>>
>>> diff --git a/drivers/acpi/glue.c b/drivers/acpi/glue.c
>>> index f8d6564..e0cd649 100644
>>> --- a/drivers/acpi/glue.c
>>> +++ b/drivers/acpi/glue.c
>>> @@ -13,6 +13,7 @@
>>>  #include <linux/slab.h>
>>>  #include <linux/rwsem.h>
>>>  #include <linux/acpi.h>
>>> +#include <linux/acpi_iort.h>
>>>  #include <linux/dma-mapping.h>
>>>
>>>  #include "internal.h"
>>> @@ -315,6 +316,8 @@ static int acpi_platform_notify(struct device *dev)
>>>         if (!adev)
>>>                 goto out;
>>>
>>> + acpi_configure_pmsi_domain(dev);
>>> +
>> But that should apply to platform devices only I suppose?
> Yes, it's only for the platform device.
>
>>>         if (type && type->setup)
>>>                 type->setup(dev);
>>>         else if (adev->handler && adev->handler->bind)
>>>
>>> Do you suggesting to configure the msi domain in this way?
>>> or add the function in the type->setup() callback (which needs
>>> to introduce a new acpi bus type)?
>> A type->setup() would be somewhat cleaner I think, but then it's more
>> code.  Whichever works better I guess. :-)
> Agree, I will demo the type->setup() way and send out the patch for review,
> also I find one minor issue for the IORT code, will update that also for next
> version.

Just demo the code and find out it's seems to cut the feet to the type->setup() code,
because we need a match function (it's ok) and a find_companion() (we don't need that
and make the code worse because we will call the find_companion callback which it not needed
for platform devices:

diff --git a/drivers/acpi/acpi_platform.c b/drivers/acpi/acpi_platform.c
index 96983c9..654021d9b 100644
--- a/drivers/acpi/acpi_platform.c
+++ b/drivers/acpi/acpi_platform.c
@@ -138,3 +138,31 @@ struct platform_device *acpi_create_platform_device(struct acpi_device *adev,
        return pdev;
 }
 EXPORT_SYMBOL_GPL(acpi_create_platform_device);
+
+static bool platform_acpi_bus_match(struct device *dev)
+{
+ return dev->bus == &platform_bus_type;
+}
+
+static struct acpi_device *platform_acpi_bus_find_companion(struct device *dev)
+{
+ /* demo code, do nothing here */
+ return NULL;
+}
+
+static void platform_acpi_setup(struct device *dev)
+{
+ acpi_configure_pmsi_domain(dev);
+}
+
+static struct acpi_bus_type acpi_platform_bus = {
+ .name = "Platform",
+ .match = platform_acpi_bus_match,
+ .find_companion = platform_acpi_bus_find_companion,
+ .setup = platform_acpi_setup,
+};
+
+int acpi_platform_bus_register(void)
+{
+ return register_acpi_bus_type(&acpi_platform_bus);
+}
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index 95855cb..0a0a639 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -1199,6 +1199,7 @@ static int __init acpi_init(void)
        }
 
        pci_mmcfg_late_init();
+ acpi_platform_bus_register();
        acpi_iort_init();
        acpi_scan_init();
        acpi_ec_init();
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 809b536..1d05f92 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -597,6 +597,8 @@ extern bool acpi_driver_match_device(struct device *dev,
 
 struct platform_device *acpi_create_platform_device(struct acpi_device *,
                                                    struct property_entry *);
+int acpi_platform_bus_register(void);
+
 #define ACPI_PTR(_ptr) (_ptr)
 
 static inline void acpi_device_set_enumerated(struct acpi_device *adev)


So how about just add the code as below?

diff --git a/drivers/acpi/glue.c b/drivers/acpi/glue.c
index 11e63dd..37a8dfe 100644
--- a/drivers/acpi/glue.c
+++ b/drivers/acpi/glue.c
@@ -316,7 +316,8 @@ static int acpi_platform_notify(struct device *dev)
        if (!adev)
                goto out;
 
+ if (dev->bus == &platform_bus_type)
+         acpi_configure_pmsi_domain(dev);
 
        if (type && type->setup)
                type->setup(dev);

Thanks
Hanjun

  parent reply	other threads:[~2016-12-30 10:50 UTC|newest]

Thread overview: 127+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-22  5:35 [PATCH v5 00/14] ACPI platform MSI support and its example mbigen Hanjun Guo
2016-12-22  5:35 ` Hanjun Guo
2016-12-22  5:35 ` Hanjun Guo
2016-12-22  5:35 ` [PATCH v5 01/14] ACPI: ARM64: IORT: minor cleanup for iort_match_node_callback() Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-30  8:56   ` Xinwei Kong
2016-12-30  8:56     ` Xinwei Kong
2016-12-30  8:56     ` Xinwei Kong
2016-12-22  5:35 ` [PATCH v5 02/14] irqchip: gic-v3-its: keep the head file include in alphabetic order Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-30  8:56   ` Xinwei Kong
2016-12-30  8:56     ` Xinwei Kong
2016-12-30  8:56     ` Xinwei Kong
2016-12-22  5:35 ` [PATCH v5 03/14] ACPI: ARM64: IORT: add missing comment for iort_dev_find_its_id() Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-30  8:56   ` Xinwei Kong
2016-12-30  8:56     ` Xinwei Kong
2016-12-30  8:56     ` Xinwei Kong
2016-12-22  5:35 ` [PATCH v5 04/14] irqchip: gicv3-its: platform-msi: refactor its_pmsi_prepare() Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-30  8:57   ` Xinwei Kong
2016-12-30  8:57     ` Xinwei Kong
2016-12-30  8:57     ` Xinwei Kong
2016-12-22  5:35 ` [PATCH v5 05/14] ACPI: platform-msi: retrieve dev id from IORT Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-30  8:57   ` Xinwei Kong
2016-12-30  8:57     ` Xinwei Kong
2016-12-30  8:57     ` Xinwei Kong
2016-12-22  5:35 ` [PATCH v5 06/14] irqchip: gicv3-its: platform-msi: refactor its_pmsi_init() to prepare for ACPI Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-30  8:57   ` Xinwei Kong
2016-12-30  8:57     ` Xinwei Kong
2016-12-30  8:57     ` Xinwei Kong
2016-12-22  5:35 ` [PATCH v5 07/14] irqchip: gicv3-its: platform-msi: scan MADT to create platform msi domain Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-30  8:57   ` Xinwei Kong
2016-12-30  8:57     ` Xinwei Kong
2016-12-30  8:57     ` Xinwei Kong
2016-12-22  5:35 ` [PATCH v5 08/14] ACPI: ARM64: IORT: rework iort_node_get_id() Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-30  9:00   ` Xinwei Kong
2016-12-30  9:00     ` Xinwei Kong
2016-12-30  9:00     ` Xinwei Kong
2016-12-22  5:35 ` [PATCH v5 09/14] ACPI: platform: setup MSI domain for ACPI based platform device Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22 12:57   ` Rafael J. Wysocki
2016-12-22 12:57     ` Rafael J. Wysocki
2016-12-24  7:34     ` Hanjun Guo
2016-12-24  7:34       ` Hanjun Guo
2016-12-24  7:34       ` Hanjun Guo
2016-12-26  0:31       ` Rafael J. Wysocki
2016-12-26  0:31         ` Rafael J. Wysocki
2016-12-26  0:31         ` Rafael J. Wysocki
2016-12-26  1:31         ` Hanjun Guo
2016-12-26  1:31           ` Hanjun Guo
2016-12-26  1:31           ` Hanjun Guo
2016-12-29 14:44           ` Sinan Kaya
2016-12-29 14:44             ` Sinan Kaya
2016-12-29 14:44             ` Sinan Kaya
2016-12-30 10:40             ` Hanjun Guo
2016-12-30 10:40               ` Hanjun Guo
2016-12-30 10:40               ` Hanjun Guo
2016-12-30 10:50           ` Hanjun Guo [this message]
2016-12-30 10:50             ` Hanjun Guo
2016-12-30 10:50             ` Hanjun Guo
2016-12-31 20:45             ` Rafael J. Wysocki
2016-12-31 20:45               ` Rafael J. Wysocki
2016-12-31 20:45               ` Rafael J. Wysocki
2017-01-02 12:02               ` Hanjun Guo
2017-01-02 12:02                 ` Hanjun Guo
2016-12-30  8:58   ` Xinwei Kong
2016-12-30  8:58     ` Xinwei Kong
2016-12-30  8:58     ` Xinwei Kong
2016-12-22  5:35 ` [PATCH v5 10/14] ACPI: ARM64: IORT: rework iort_node_get_id() for NC->SMMU->ITS case Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-30  8:58   ` Xinwei Kong
2016-12-30  8:58     ` Xinwei Kong
2016-12-30  8:58     ` Xinwei Kong
2016-12-22  5:35 ` [PATCH v5 11/14] msi: platform: make platform_msi_create_device_domain() ACPI aware Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-30  8:58   ` Xinwei Kong
2016-12-30  8:58     ` Xinwei Kong
2016-12-30  8:58     ` Xinwei Kong
2016-12-22  5:35 ` [PATCH v5 12/14] irqchip: mbigen: drop module owner Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-26  8:59   ` majun (Euler7)
2016-12-26  8:59     ` majun (Euler7)
2016-12-26  8:59     ` majun (Euler7)
2016-12-30  8:58   ` Xinwei Kong
2016-12-30  8:58     ` Xinwei Kong
2016-12-30  8:58     ` Xinwei Kong
2016-12-22  5:35 ` [PATCH v5 13/14] irqchip: mbigen: introduce mbigen_of_create_domain() Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-26  8:59   ` majun (Euler7)
2016-12-26  8:59     ` majun (Euler7)
2016-12-26  8:59     ` majun (Euler7)
2016-12-30  8:59   ` Xinwei Kong
2016-12-30  8:59     ` Xinwei Kong
2016-12-30  8:59     ` Xinwei Kong
2016-12-22  5:35 ` [PATCH v5 14/14] irqchip: mbigen: Add ACPI support Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-22  5:35   ` Hanjun Guo
2016-12-26  9:00   ` majun (Euler7)
2016-12-26  9:00     ` majun (Euler7)
2016-12-26  9:00     ` majun (Euler7)
2016-12-30  8:59   ` Xinwei Kong
2016-12-30  8:59     ` Xinwei Kong
2016-12-30  8:59     ` Xinwei Kong
2016-12-26  8:57 ` [PATCH v5 00/14] ACPI platform MSI support and its example mbigen majun (Euler7)
2016-12-26  8:57   ` majun (Euler7)
2016-12-26  8:57   ` majun (Euler7)
2016-12-26  9:26   ` majun (Euler7)
2016-12-26  9:26     ` majun (Euler7)
2016-12-26  9:26     ` majun (Euler7)

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=58663C04.9000603@huawei.com \
    --to=guohanjun@huawei.com \
    --cc=agustinv@codeaurora.org \
    --cc=charles.garcia-tobin@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hanjun.guo@linaro.org \
    --cc=huxinwei@huawei.com \
    --cc=jcm@redhat.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=rafael@kernel.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: 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.