From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>
Subject: [GIT PULL] IRQ fixes
Date: Sun, 1 Feb 2026 09:40:23 +0100 [thread overview]
Message-ID: <aX8Rd_nCum7dJRgf@gmail.com> (raw)
Linus,
Please pull the latest irq/urgent Git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq-urgent-2026-02-01
for you to fetch changes up to ba5c657141ea29261e893c46faff29a101f4496a:
Misc irqchip fixes:
- Fix a regression in the ls-extirq irqchip driver
- Fix an irqchip platform enumeration regression
in the simple-pm-bus driver
Thanks,
Ingo
------------------>
Ioana Ciornei (2):
irqchip/ls-extirq: Convert to a platform driver to make it work again
bus: simple-pm-bus: Probe the Layerscape SCFG node
drivers/bus/simple-pm-bus.c | 6 ++++
drivers/irqchip/irq-ls-extirq.c | 75 ++++++++++++++++++++---------------------
2 files changed, 42 insertions(+), 39 deletions(-)
diff --git a/drivers/bus/simple-pm-bus.c b/drivers/bus/simple-pm-bus.c
index d8e029e7e53f..3f00d953fb9a 100644
--- a/drivers/bus/simple-pm-bus.c
+++ b/drivers/bus/simple-pm-bus.c
@@ -142,6 +142,12 @@ static const struct of_device_id simple_pm_bus_of_match[] = {
{ .compatible = "simple-mfd", .data = ONLY_BUS },
{ .compatible = "isa", .data = ONLY_BUS },
{ .compatible = "arm,amba-bus", .data = ONLY_BUS },
+ { .compatible = "fsl,ls1021a-scfg", },
+ { .compatible = "fsl,ls1043a-scfg", },
+ { .compatible = "fsl,ls1046a-scfg", },
+ { .compatible = "fsl,ls1088a-isc", },
+ { .compatible = "fsl,ls2080a-isc", },
+ { .compatible = "fsl,lx2160a-isc", },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, simple_pm_bus_of_match);
diff --git a/drivers/irqchip/irq-ls-extirq.c b/drivers/irqchip/irq-ls-extirq.c
index 50a7b38381b9..96f9c20621cf 100644
--- a/drivers/irqchip/irq-ls-extirq.c
+++ b/drivers/irqchip/irq-ls-extirq.c
@@ -168,40 +168,34 @@ ls_extirq_parse_map(struct ls_extirq_data *priv, struct device_node *node)
return 0;
}
-static int __init
-ls_extirq_of_init(struct device_node *node, struct device_node *parent)
+static int ls_extirq_probe(struct platform_device *pdev)
{
struct irq_domain *domain, *parent_domain;
+ struct device_node *node, *parent;
+ struct device *dev = &pdev->dev;
struct ls_extirq_data *priv;
int ret;
+ node = dev->of_node;
+ parent = of_irq_find_parent(node);
+ if (!parent)
+ return dev_err_probe(dev, -ENODEV, "Failed to get IRQ parent node\n");
+
parent_domain = irq_find_host(parent);
- if (!parent_domain) {
- pr_err("Cannot find parent domain\n");
- ret = -ENODEV;
- goto err_irq_find_host;
- }
+ if (!parent_domain)
+ return dev_err_probe(dev, -EPROBE_DEFER, "Cannot find parent domain\n");
- priv = kzalloc(sizeof(*priv), GFP_KERNEL);
- if (!priv) {
- ret = -ENOMEM;
- goto err_alloc_priv;
- }
+ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
+ if (!priv)
+ return dev_err_probe(dev, -ENOMEM, "Failed to allocate memory\n");
- /*
- * All extirq OF nodes are under a scfg/syscon node with
- * the 'ranges' property
- */
- priv->intpcr = of_iomap(node, 0);
- if (!priv->intpcr) {
- pr_err("Cannot ioremap OF node %pOF\n", node);
- ret = -ENOMEM;
- goto err_iomap;
- }
+ priv->intpcr = devm_of_iomap(dev, node, 0, NULL);
+ if (!priv->intpcr)
+ return dev_err_probe(dev, -ENOMEM, "Cannot ioremap OF node %pOF\n", node);
ret = ls_extirq_parse_map(priv, node);
if (ret)
- goto err_parse_map;
+ return dev_err_probe(dev, ret, "Failed to parse IRQ map\n");
priv->big_endian = of_device_is_big_endian(node->parent);
priv->is_ls1021a_or_ls1043a = of_device_is_compatible(node, "fsl,ls1021a-extirq") ||
@@ -210,23 +204,26 @@ ls_extirq_of_init(struct device_node *node, struct device_node *parent)
domain = irq_domain_create_hierarchy(parent_domain, 0, priv->nirq, of_fwnode_handle(node),
&extirq_domain_ops, priv);
- if (!domain) {
- ret = -ENOMEM;
- goto err_add_hierarchy;
- }
+ if (!domain)
+ return dev_err_probe(dev, -ENOMEM, "Failed to add IRQ domain\n");
return 0;
-
-err_add_hierarchy:
-err_parse_map:
- iounmap(priv->intpcr);
-err_iomap:
- kfree(priv);
-err_alloc_priv:
-err_irq_find_host:
- return ret;
}
-IRQCHIP_DECLARE(ls1021a_extirq, "fsl,ls1021a-extirq", ls_extirq_of_init);
-IRQCHIP_DECLARE(ls1043a_extirq, "fsl,ls1043a-extirq", ls_extirq_of_init);
-IRQCHIP_DECLARE(ls1088a_extirq, "fsl,ls1088a-extirq", ls_extirq_of_init);
+static const struct of_device_id ls_extirq_dt_ids[] = {
+ { .compatible = "fsl,ls1021a-extirq" },
+ { .compatible = "fsl,ls1043a-extirq" },
+ { .compatible = "fsl,ls1088a-extirq" },
+ {}
+};
+MODULE_DEVICE_TABLE(of, ls_extirq_dt_ids);
+
+static struct platform_driver ls_extirq_driver = {
+ .probe = ls_extirq_probe,
+ .driver = {
+ .name = "ls-extirq",
+ .of_match_table = ls_extirq_dt_ids,
+ }
+};
+
+builtin_platform_driver(ls_extirq_driver);
next reply other threads:[~2026-02-01 8:40 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-01 8:40 Ingo Molnar [this message]
2026-02-01 19:46 ` [GIT PULL] IRQ fixes pr-tracker-bot
-- strict thread matches above, loose matches on Subject: below --
2026-05-17 6:20 Ingo Molnar
2026-05-17 19:28 ` pr-tracker-bot
2026-03-29 5:10 Ingo Molnar
2026-03-29 17:29 ` pr-tracker-bot
2026-03-15 2:59 Ingo Molnar
2026-03-15 18:47 ` pr-tracker-bot
2026-03-01 8:48 Ingo Molnar
2026-03-01 21:37 ` pr-tracker-bot
2026-01-24 9:20 Ingo Molnar
2026-01-24 18:00 ` pr-tracker-bot
2026-01-11 10:22 Ingo Molnar
2026-01-12 19:38 ` pr-tracker-bot
2025-12-12 9:33 Ingo Molnar
2025-12-13 18:12 ` pr-tracker-bot
2025-05-17 13:37 Ingo Molnar
2025-05-17 16:27 ` pr-tracker-bot
2025-05-04 7:08 Ingo Molnar
2025-05-04 15:23 ` pr-tracker-bot
2025-04-18 20:26 Ingo Molnar
2025-04-18 21:15 ` pr-tracker-bot
2025-04-10 21:38 Ingo Molnar
2025-04-10 22:52 ` pr-tracker-bot
2025-02-22 13:48 Ingo Molnar
2025-02-22 19:23 ` pr-tracker-bot
2024-06-08 7:52 Ingo Molnar
2024-06-08 16:50 ` pr-tracker-bot
2022-08-21 21:10 Ingo Molnar
2022-08-21 23:13 ` pr-tracker-bot
2021-07-11 13:40 Ingo Molnar
2021-07-11 18:22 ` pr-tracker-bot
2020-08-03 10:54 Ingo Molnar
2020-08-03 22:10 ` pr-tracker-bot
2019-06-29 8:50 Ingo Molnar
2019-06-29 11:45 ` pr-tracker-bot
2019-04-12 11:52 Ingo Molnar
2019-04-13 4:05 ` pr-tracker-bot
2019-02-10 9:08 Ingo Molnar
2019-02-10 18:30 ` pr-tracker-bot
2018-11-03 22:59 Ingo Molnar
2018-11-04 1:13 ` Linus Torvalds
2017-12-06 22:09 Ingo Molnar
2017-10-14 15:57 Ingo Molnar
2017-09-24 11:21 Ingo Molnar
2017-09-12 15:30 Ingo Molnar
2017-07-21 10:07 [GIT PULL] irq fixes Ingo Molnar
2017-02-11 18:06 [GIT PULL] IRQ fixes Ingo Molnar
2016-10-22 10:40 Ingo Molnar
2016-10-18 10:18 [GIT PULL] irq fixes Ingo Molnar
2016-07-08 13:37 Ingo Molnar
2016-04-23 11:15 Ingo Molnar
2016-01-31 9:01 [GIT PULL] IRQ fixes Ingo Molnar
2015-07-18 2:36 [GIT PULL] irq fixes Ingo Molnar
2015-02-20 13:35 [GIT PULL] IRQ fixes Ingo Molnar
2012-02-27 10:26 [GIT PULL] irq fixes Ingo Molnar
2011-09-30 18:16 Ingo Molnar
2011-09-30 18:35 ` Josh Boyer
2011-09-30 19:43 ` Thomas Gleixner
2011-06-07 18:48 Ingo Molnar
2011-03-25 13:03 Ingo Molnar
2011-03-18 13:49 Ingo Molnar
2011-02-22 16:19 Ingo Molnar
2011-02-06 11:58 Ingo Molnar
2010-03-26 15:09 Ingo Molnar
2009-06-20 17:26 [GIT PULL] IRQ fixes Ingo Molnar
2009-04-26 17:13 [GIT PULL] irq fixes Ingo Molnar
2009-04-09 15:39 Ingo Molnar
2009-01-30 23:10 [git pull] " Ingo Molnar
2009-01-06 16:13 Ingo Molnar
2008-11-29 19:41 Ingo Molnar
2008-10-21 14:14 Ingo Molnar
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=aX8Rd_nCum7dJRgf@gmail.com \
--to=mingo@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/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.