public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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);

             reply	other threads:[~2026-02-01  8:40 UTC|newest]

Thread overview: 68+ 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-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox