[PATCH] mfd: twl6030-irq: Use of_device_get_match_data()

From: Rosen Penev

Date: Mon May 18 2026 - 00:16:28 EST


Use of_device_get_match_data() to fetch the IRQ mapping table directly instead of open-coding an of_match_device() lookup.

This also lets the driver drop the of_device.h include.

Assisted-by: Codex:GPT-5.5
Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
---
drivers/mfd/twl6030-irq.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/mfd/twl6030-irq.c b/drivers/mfd/twl6030-irq.c
index 0ca00f618d4d..8831c81a1f90 100644
--- a/drivers/mfd/twl6030-irq.c
+++ b/drivers/mfd/twl6030-irq.c
@@ -27,7 +27,6 @@
#include <linux/suspend.h>
#include <linux/of.h>
#include <linux/irqdomain.h>
-#include <linux/of_device.h>

#include "twl-core.h"

@@ -293,10 +292,10 @@ int twl6030_init_irq(struct device *dev, int irq_num)
int nr_irqs;
int status;
u8 mask[3];
- const struct of_device_id *of_id;
+ const int *irq_mapping_tbl;

- of_id = of_match_device(twl6030_of_match, dev);
- if (!of_id || !of_id->data) {
+ irq_mapping_tbl = of_device_get_match_data(dev);
+ if (!irq_mapping_tbl) {
dev_err(dev, "Unknown TWL device model\n");
return -EINVAL;
}
@@ -334,7 +333,7 @@ int twl6030_init_irq(struct device *dev, int irq_num)

twl6030_irq->pm_nb.notifier_call = twl6030_irq_pm_notifier;
atomic_set(&twl6030_irq->wakeirqs, 0);
- twl6030_irq->irq_mapping_tbl = of_id->data;
+ twl6030_irq->irq_mapping_tbl = irq_mapping_tbl;

twl6030_irq->irq_domain = irq_domain_create_linear(dev_fwnode(dev), nr_irqs,
&twl6030_irq_domain_ops, twl6030_irq);
@@ -378,4 +377,3 @@ void twl6030_exit_irq(void)
*/
}
}
-
--
2.54.0