All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] irqchip: atmel-aic: Handle aic_common_irq_fixup in aic_common_of_init
@ 2016-01-13  7:19 Milo Kim
  2016-01-13  7:19 ` [PATCH 2/4] irqchip: atmel-aic: Fix wrong bit operation for IRQ priority Milo Kim
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Milo Kim @ 2016-01-13  7:19 UTC (permalink / raw)
  To: tglx
  Cc: boris.brezillon, Milo Kim, Jason Cooper, Marc Zyngier,
	Ludovic Desroches, Nicholas Ferre, linux-kernel

AIC IRQ fixup is handled in each IRQ chip driver.
It can be moved into aic_common_of_init() before returning the result.
Then, aic_common_irq_fixup() can be changed to static type.

Signed-off-by: Milo Kim <milo.kim@ti.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Ludovic Desroches <ludovic.desroches@atmel.com>
Cc: Nicholas Ferre <nicolas.ferre@atmel.com>
Cc: linux-kernel@vger.kernel.org
---
 drivers/irqchip/irq-atmel-aic-common.c | 6 ++++--
 drivers/irqchip/irq-atmel-aic-common.h | 5 ++---
 drivers/irqchip/irq-atmel-aic.c        | 4 +---
 drivers/irqchip/irq-atmel-aic5.c       | 4 +---
 4 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/drivers/irqchip/irq-atmel-aic-common.c b/drivers/irqchip/irq-atmel-aic-common.c
index b12a5d5..2f2d73e 100644
--- a/drivers/irqchip/irq-atmel-aic-common.c
+++ b/drivers/irqchip/irq-atmel-aic-common.c
@@ -193,7 +193,7 @@ void __init aic_common_rtt_irq_fixup(struct device_node *root)
 	}
 }
 
-void __init aic_common_irq_fixup(const struct of_device_id *matches)
+static void __init aic_common_irq_fixup(const struct of_device_id *matches)
 {
 	struct device_node *root = of_find_node_by_path("/");
 	const struct of_device_id *match;
@@ -214,7 +214,8 @@ void __init aic_common_irq_fixup(const struct of_device_id *matches)
 
 struct irq_domain *__init aic_common_of_init(struct device_node *node,
 					     const struct irq_domain_ops *ops,
-					     const char *name, int nirqs)
+					     const char *name, int nirqs,
+					     const struct of_device_id *matches)
 {
 	struct irq_chip_generic *gc;
 	struct irq_domain *domain;
@@ -264,6 +265,7 @@ struct irq_domain *__init aic_common_of_init(struct device_node *node,
 	}
 
 	aic_common_ext_irq_of_init(domain);
+	aic_common_irq_fixup(matches);
 
 	return domain;
 
diff --git a/drivers/irqchip/irq-atmel-aic-common.h b/drivers/irqchip/irq-atmel-aic-common.h
index 603f0a9..046bcc8 100644
--- a/drivers/irqchip/irq-atmel-aic-common.h
+++ b/drivers/irqchip/irq-atmel-aic-common.h
@@ -30,12 +30,11 @@ int aic_common_irq_domain_xlate(struct irq_domain *d,
 
 struct irq_domain *__init aic_common_of_init(struct device_node *node,
 					     const struct irq_domain_ops *ops,
-					     const char *name, int nirqs);
+					     const char *name, int nirqs,
+					     const struct of_device_id *matches);
 
 void __init aic_common_rtc_irq_fixup(struct device_node *root);
 
 void __init aic_common_rtt_irq_fixup(struct device_node *root);
 
-void __init aic_common_irq_fixup(const struct of_device_id *matches);
-
 #endif /* __IRQ_ATMEL_AIC_COMMON_H */
diff --git a/drivers/irqchip/irq-atmel-aic.c b/drivers/irqchip/irq-atmel-aic.c
index 8a0c7f2..799834d 100644
--- a/drivers/irqchip/irq-atmel-aic.c
+++ b/drivers/irqchip/irq-atmel-aic.c
@@ -248,12 +248,10 @@ static int __init aic_of_init(struct device_node *node,
 		return -EEXIST;
 
 	domain = aic_common_of_init(node, &aic_irq_ops, "atmel-aic",
-				    NR_AIC_IRQS);
+				    NR_AIC_IRQS, aic_irq_fixups);
 	if (IS_ERR(domain))
 		return PTR_ERR(domain);
 
-	aic_common_irq_fixup(aic_irq_fixups);
-
 	aic_domain = domain;
 	gc = irq_get_domain_generic_chip(domain, 0);
 
diff --git a/drivers/irqchip/irq-atmel-aic5.c b/drivers/irqchip/irq-atmel-aic5.c
index 62bb840..a7e8fc8 100644
--- a/drivers/irqchip/irq-atmel-aic5.c
+++ b/drivers/irqchip/irq-atmel-aic5.c
@@ -312,12 +312,10 @@ static int __init aic5_of_init(struct device_node *node,
 		return -EEXIST;
 
 	domain = aic_common_of_init(node, &aic5_irq_ops, "atmel-aic5",
-				    nirqs);
+				    nirqs, aic5_irq_fixups);
 	if (IS_ERR(domain))
 		return PTR_ERR(domain);
 
-	aic_common_irq_fixup(aic5_irq_fixups);
-
 	aic5_domain = domain;
 	nchips = aic5_domain->revmap_size / 32;
 	for (i = 0; i < nchips; i++) {
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2016-02-08 14:07 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-13  7:19 [PATCH 1/4] irqchip: atmel-aic: Handle aic_common_irq_fixup in aic_common_of_init Milo Kim
2016-01-13  7:19 ` [PATCH 2/4] irqchip: atmel-aic: Fix wrong bit operation for IRQ priority Milo Kim
2016-01-27 11:57   ` [tip:irq/urgent] irqchip/atmel-aic: " tip-bot for Milo Kim
2016-01-13  7:19 ` [PATCH 3/4] irqchip: atmel-aic: Change return type of aic_common_set_priority() Milo Kim
2016-01-13  8:17   ` Boris Brezillon
2016-02-08 10:49   ` [tip:irq/core] irqchip/atmel-aic: " tip-bot for Milo Kim
2016-02-08 14:06   ` tip-bot for Milo Kim
2016-01-13  7:19 ` [PATCH 4/4] irqchip: atmel-aic: Remove duplicate bit operation Milo Kim
2016-01-13  8:18   ` Boris Brezillon
2016-02-08 10:49   ` [tip:irq/core] irqchip/atmel-aic: " tip-bot for Milo Kim
2016-02-08 14:07   ` tip-bot for Milo Kim
2016-02-08 10:48 ` [tip:irq/core] irqchip/atmel-aic: Handle aic_common_irq_fixup in aic_common_of_init tip-bot for Milo Kim
2016-02-08 14:06 ` tip-bot for Milo Kim

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.