[PATCH 08/13] irqchip/atmel-aic: Simplify with of_machine_get_match_data()

Krzysztof Kozlowski posted 13 patches 1 month, 1 week ago
There is a newer version of this series
[PATCH 08/13] irqchip/atmel-aic: Simplify with of_machine_get_match_data()
Posted by Krzysztof Kozlowski 1 month, 1 week ago
Replace open-coded getting root OF node, matching against it and getting
the match data with new of_machine_get_match_data() helper.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

---

Depends on the first OF patch.
---
 drivers/irqchip/irq-atmel-aic-common.c | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/drivers/irqchip/irq-atmel-aic-common.c b/drivers/irqchip/irq-atmel-aic-common.c
index 3cad30a40c19..e68853815c7a 100644
--- a/drivers/irqchip/irq-atmel-aic-common.c
+++ b/drivers/irqchip/irq-atmel-aic-common.c
@@ -187,20 +187,11 @@ void __init aic_common_rtt_irq_fixup(void)
 
 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;
+	void (*fixup)(void);
 
-	if (!root)
-		return;
-
-	match = of_match_node(matches, root);
-
-	if (match) {
-		void (*fixup)(void) = match->data;
+	fixup = of_machine_get_match_data(matches);
+	if (fixup)
 		fixup();
-	}
-
-	of_node_put(root);
 }
 
 struct irq_domain *__init aic_common_of_init(struct device_node *node,

-- 
2.48.1
Re: [PATCH 08/13] irqchip/atmel-aic: Simplify with of_machine_get_match_data()
Posted by Thomas Gleixner 1 month, 1 week ago
On Thu, Nov 06 2025 at 20:07, Krzysztof Kozlowski wrote:
> Replace open-coded getting root OF node, matching against it and getting
> the match data with new of_machine_get_match_data() helper.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Acked-by: Thomas Gleixner <tglx@linutronix.de>
Re: [PATCH 08/13] irqchip/atmel-aic: Simplify with of_machine_get_match_data()
Posted by Nicolas Ferre 1 month, 1 week ago
On 06/11/2025 at 20:07, Krzysztof Kozlowski wrote:
> Replace open-coded getting root OF node, matching against it and getting
> the match data with new of_machine_get_match_data() helper.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>

Thanks Krzysztof, best regards,
   Nicolas

> ---
> 
> Depends on the first OF patch.
> ---
>   drivers/irqchip/irq-atmel-aic-common.c | 15 +++------------
>   1 file changed, 3 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/irqchip/irq-atmel-aic-common.c b/drivers/irqchip/irq-atmel-aic-common.c
> index 3cad30a40c19..e68853815c7a 100644
> --- a/drivers/irqchip/irq-atmel-aic-common.c
> +++ b/drivers/irqchip/irq-atmel-aic-common.c
> @@ -187,20 +187,11 @@ void __init aic_common_rtt_irq_fixup(void)
> 
>   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;
> +       void (*fixup)(void);
> 
> -       if (!root)
> -               return;
> -
> -       match = of_match_node(matches, root);
> -
> -       if (match) {
> -               void (*fixup)(void) = match->data;
> +       fixup = of_machine_get_match_data(matches);
> +       if (fixup)
>                  fixup();
> -       }
> -
> -       of_node_put(root);
>   }
> 
>   struct irq_domain *__init aic_common_of_init(struct device_node *node,
> 
> --
> 2.48.1
>