Re: [PATCH 10/11] irqchip / GICv2 / ACPI: Consolidate GICv2 ACPI related init code

From: Hanjun Guo
Date: Thu Jun 11 2015 - 09:26:01 EST


Hi Marc,

On 06/11/2015 12:29 AM, Marc Zyngier wrote:
On 21/05/15 15:27, Hanjun Guo wrote:
On 2015å05æ21æ 04:44, Tomasz Nowicki wrote:
Hi Hanjun,

On 05/18/2015 02:59 PM, Hanjun Guo wrote:
Move GICv2 ACPI related init code in irq-gic.c to irq-gic-acpi.c,
this can make the ACPI related GIC init code slef-contained.

Introduce set_acpi_core_irqdomain() to set acpi_irqdomain then
it will be no need to make gic_data[] as a global value, and
it will save the confilcts with GICv3's gic_data in the later
patch.

acpi_gic_parse_distributor() have the same function as
gic_acpi_parse_madt_distributor() to get the GIC distributor
physical base address, so just remove the duplicate one, and
only get the GIC version when it is unknown.

Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>
---
drivers/irqchip/irq-gic-acpi.c | 95
+++++++++++++++++++++++++++++++-
drivers/irqchip/irq-gic.c | 103
+----------------------------------
include/linux/irqchip/arm-gic-acpi.h | 5 ++
3 files changed, 101 insertions(+), 102 deletions(-)

diff --git a/drivers/irqchip/irq-gic-acpi.c
b/drivers/irqchip/irq-gic-acpi.c
index 1388d9e..8463e48 100644
--- a/drivers/irqchip/irq-gic-acpi.c
+++ b/drivers/irqchip/irq-gic-acpi.c
@@ -13,12 +13,16 @@

#include <linux/acpi.h>
#include <linux/init.h>
+#include <linux/irqchip/arm-gic.h>
#include <linux/irqchip/arm-gic-acpi.h>
#include <linux/irqchip/arm-gic-v3.h>

arm-gic.h and arm-gic-v3.h describe register map for respective drivers
and should be used separately within parent driver only.

Seems that there is no duplicate macros in that two head
file, but yes, it will confuse people.

Consolidating all ACPI GIC code is an improvement to make
ACPI related code self-contained, but also have some drawbacks,

Marc, what do you think?

What I think is "Over my dead body".

These include files are private to the respective interrupt controller
code, and the only reason they are in linux/irqchip is because the
corresponding KVM support code uses them too.

So for this patch, we are totally in the wrong direction, I will
remove the last two patches in next version.

Thanks for your constructive comments, much appreciated :)

Thanks
Hanjun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/