From nobody Mon Sep 28 13:18:32 2026 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011068.outbound.protection.outlook.com [52.101.70.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B8F4C4562A0 for ; Fri, 21 Aug 2026 10:11:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307082; cv=fail; b=ZkJeyXEncJ7+c4niG6dxBBuKKWReNzMjwyod639oPEcYoPguXwpRtzsG7fl/MA7+LkLjvtl44NO2nR270w/mxHz4XCrcCUr9w6zUM4fLHIZuxg5EEmh1ISrF42qTMvwjD18YKREOLl2CZzaajMjOjScqCf2eKprwp/AB5b3ncik= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307082; c=relaxed/simple; bh=ByEuXOht6TODgykP2bIWP7KtVNEqX6X+Fughzcmpy2Q=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=LQfiLac8u1TQhVF49gDwgMdzLtTBIAecpVrVPcbWeLPKY1MzwCwG80mz3uHvpm7i7Y1RXAz9lDDfcgqPzL6L07AJN83SggbgAGoO8ahTSRSeI4Sh2MPPeT6WSN0H+HCt7XLikY1nCJOprW3/GHfdLVC/kmXO1KsW6HXR2czlSM0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=X5POe8I/; arc=fail smtp.client-ip=52.101.70.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="X5POe8I/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JL5IOAacxgnu1tTZJIK5Lp2LCGJiNSxbGorrYqEaqCJU+LiKQxRQ0ZMr+oi4AmvivLOPywRMGH3IlZxcKH+UzwSyQ2NO7VUuyEyPqOTyWIo/wGhAdX8F3GpHTZRRzOJz+tR/8pWoNa1kFZfderxKHOIZpP2CrYVJBfUpZaE/+w9Wu19vBkmdYnQs21obyfps/OqMBu1htacTDsPR0gJq5cNzOhRdHvIZ9LrxnLWAx22BuUgjKL8hTISDl1TirqdTTegb+W/9HQuaGfmLsT29utpVmxXP3WblSVFr4uf6ZD1fCbGuyp0hieat2mCCYV17VKu3IKv3OCujIGLTdNSm9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mtBMB0rO+S+7U0z0pV3pLu8qilI5PlObtIkiYnumhko=; b=bRs/3Rjpj9Ych5UJEr3+Y9eHQH1Z2LJHwpEiKrT8bheRuLgqIEZfTNBEeg1ORQ7q+jVnzJfbnNQehZ2qW1FabKkyU005XRKPbsOdLOW/YCkjqRXa+FiaT/FPpOHZpJ25SjphMtqdY7H7yadVIaBI1tebt1xUktiMAleT2a1De6ZAcUn5vsfAVYyn2TzmdJ8szEogEpv7vyMeItfN3BE1QZWhAb/KNi2Yi2kryu0hd6x3No5IO9gWQ9I4K5qhSZBbmhjeJFM7o8tOzbwJP+esQxSdF34BV/1v2hlmI8K2HOco0g8S+1gUcONogGyqQuQiI9aLD2lPwiJ4gkPiFEsJMw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mtBMB0rO+S+7U0z0pV3pLu8qilI5PlObtIkiYnumhko=; b=X5POe8I/IdJnZg8PY0t63W4W5cB0T1Dccn6i/CzaP6ULqS3TiWp7PymRxLxfrFj7ZYW/ilXO2uVHHC6pdgw5VH76rbJuxqanIqlDc6n30TXvo/Qpm1scKXT386QzOz6ZQBG8VB+BCj2VOxHZpsBUNTn4m48FWdBV5V0n5HoutvLJ6QFFwQ1TDd1+UB/EgUISs6oKY91RO5N/SENhk8QfS/qgIjszncHJzm9JyQlGTLLQEMSy6vUv/2o19W5EDnxUBDXnTF8G4NVtj8jnQcRMvAXV+0WoyYODjE1ajgpxWCzPcr4jKBesJJ0g4YRVvBB2xQKnWvLhwZmv+PO4az0Riw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) by AM8PR04MB7971.eurprd04.prod.outlook.com (2603:10a6:20b:234::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 10:11:09 +0000 Received: from DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5]) by DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5%6]) with mapi id 15.21.0339.008; Fri, 21 Aug 2026 10:11:09 +0000 From: Zhipeng.wang_1@oss.nxp.com To: Thomas Gleixner , Marc Zyngier , Frank Li Cc: Radu Rendec , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jindong Yue , xuegang.liu@nxp.com, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 1/9] irqchip/imx-irqsteer: Call chained_irq_exit() on the handler error path Date: Fri, 21 Aug 2026 19:10:31 +0900 Message-Id: <20260821101039.4037925-2-Zhipeng.wang_1@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> References: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR06CA0012.apcprd06.prod.outlook.com (2603:1096:4:186::13) To DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB8PR04MB6858:EE_|AM8PR04MB7971:EE_ X-MS-Office365-Filtering-Correlation-Id: 917c9bf4-1de9-41ee-7475-08deff6c83af X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|19092799006|23010399003|18002099003|22082099003|56012099006|3023799007|6133799003|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: /0E/Y8UncYdPpE3xulBbGRYYEcvHTQG5jkttjeYE/rebq1dkCmxfXJKFAyTV+dzCrF3vmlPfgz7XlE2LAEQOoyfaQkMoAlyGcaKZRrA32fEfMJzYbsF5MJx4ynNB1Z0/osw2DHyeo+1reUAyjzMz6Vrqv6Fu+YKGDKsBfJYqmEaHm/d3zije0NYKlbZGMUNxYJ3lW2nPTnpPr7dpskCJYhoO9rtngJXP2pEqVMNEzjbVIyRwxgVw57xQN3m6QK/56isbejpaHHVu4Z4VSgou/aLv6hKLL1pLTQhOvla2eXJ9zjODm2uHSyNUGraEDZ5evFYV26AO2eA8DmQ9oJ2Bix8axdC0AUZ+AyERBgUfeNvyZjXQGazbFG3+jF+je2R9JQ24/E30Io4Gg2qSHutgwgSld/AhAFVROn9pg1eI3GzqMCPoEXiezmORJoRtNhYdoMdHJoVcVdx/ymS6teuoL2IUxh1rw5OZdg53BrjeVLq6v1H+VYKojdJOY78MW3u7BcqsQaLbUbgIFu9gp1cNeBVvEgMu9fmi0PDgpF8ESH5hn5TNB0WgKRPSCMefxjyq+KWf2jkMjFaFQZSWX2GIEtntzHyQGWSxKRyH+Rfq0cK045tq2qcOc1EbjPsy6TNbxCBp5/CTeOvW15Gc5holDsoqhmZbBCJdeKUlQM+NjZE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(19092799006)(23010399003)(18002099003)(22082099003)(56012099006)(3023799007)(6133799003)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?9HEeDKiRgvpaKQH/j00WYprYfbeASVtPDxQFHYwAVOwk5NvYCQkKIT2G9vNH?= =?us-ascii?Q?nJbq29iD/9jQilgMaZO73PIhrRW1ZlxDFqrBMK5pNeF7Qefl37CJM3C/d1tl?= =?us-ascii?Q?T+/UtsENiWDpyVbpF8W8UoWHnRLd5+760Z4e1XEG+j8Ntprg+BRExQWWBs1X?= =?us-ascii?Q?MC+P0UwAp+ZMDtPdIvn2pHy0OnZK3FB28Hq0b9eywB1kYRe4k+SzmFCx/dCu?= =?us-ascii?Q?W2kLlt4TDbjeQk0znwvGksFTCncHQwft6HVctZQTSkIOT4kDnZ2EiIi+FJx4?= =?us-ascii?Q?kklfUxMhLJ9R5jtTu+enDwP2jPUm0+XKKPIQccBd8MOkIC4OIes97qfdMU4U?= =?us-ascii?Q?IVipHC3itOd668/FeylittqYZaBIlifaQMgoGmtRxPZhGyQyhZxa6NpdYhLT?= =?us-ascii?Q?mw04vqYWHkXquHvrDnaJ2Ltjxi+ZWwqrEH3fZJCU+DOL4T5z11kWo1EDKAze?= =?us-ascii?Q?P0G42cxtt0dw9B5lxmhC+U+KkSRs6Q8CqYzT22k1xB3PS5+VJI3hARqjBH38?= =?us-ascii?Q?3XcV3Pz+H2XmDXHvt1cu3T4TNg25TlEHJLG0nreHHfBBEZD/w+1RRlpoU4LT?= =?us-ascii?Q?gsLeXlKF/W8oN3sjn/29TktTXTaUvTb/a+okCwD9I+x4w7wtCe0TG4zKc+1K?= =?us-ascii?Q?cEGsWXc0g2D65Ao3uxSZW//oDDeDnxCWEPfiXiyFWyfKk3RjFXe2GoLEdnpl?= =?us-ascii?Q?9R2tq2YkgQ+eiRiuZvPpAt4NKMUXkp66Ohcpmp740Vsx1QG37ULn9ltlKG7D?= =?us-ascii?Q?oZabKJrW8dRF2JmJZGMfveo7/Cv82jl1EOqdTI8YNrqeyziP3/giIznsqvBN?= =?us-ascii?Q?suKR8hjGHll6nNogASqBWUKeAQm6Q7dsBFjWaFwkqlj7r9vVV9mHf9cbjqFZ?= =?us-ascii?Q?eIz9TQokvusD1HbPAPZ8EJIEz5oRzUXPcxvXZMdhMkagTvWqzEbdqhq7vU7+?= =?us-ascii?Q?cA6Bc3TpfPVUM3uXzv7MaVlPuFfomp7UeXBZ3qI8GOugLOisI9nUbek0vONo?= =?us-ascii?Q?5bGxqpaHfXPRSkOGtN4MUB9EN1uQuY0HLTCrELENgIBGdii7XOxZY4ohsy71?= =?us-ascii?Q?sXXPtp3mC8Caio4saFDL8KRdbsbwPr9PsFiBMjnZRWD5JZJNAeTK+WpnUOBT?= =?us-ascii?Q?ubJEA3g7ZvkE7f+tTX36ypF0SlHO8ISE+imO5B/qKi6pYH4Q4bsJ8YtOJhnD?= =?us-ascii?Q?2fZi/ZE90NufiS63l6p3HKUFjAiTk+U7vsSewzCzMhUEAqK3iG/JLDiph7W+?= =?us-ascii?Q?T7VAxtRS705AEgj/X+yL77zl9qxuEPvphS/8w6yIvFhlvtjW9wUyWEaOfFHE?= =?us-ascii?Q?5WqYe6DpDTz7dyWDX5+a7fFsf0boftFLDNqiPK/3dXep11M2fMZRh70LU0ll?= =?us-ascii?Q?R7KhjBob6xS5IwxGxdeEDqRSw9i33m61XkptKxyH5CS0kqyhSRDf6i1w+b59?= =?us-ascii?Q?ja33rCC7xcH7+K7fLPs/JILL6AqJAtgzBp9pPUVCo9pM4UKCkkLGv8FQ0B6C?= =?us-ascii?Q?HmlyDXn7BRor9MCnSl9XKjsNrCNMwo7OrQXWL2JsfzwYyfsLTrZUjDevFY1F?= =?us-ascii?Q?5ckrSGGcVB+bBEBF4PGa94WVSh8mgv3a77fT3tjvcWrGWwLbo9lGsAv9F69p?= =?us-ascii?Q?D2loOe2WYqSFIOZUFxdex3Enf9l1pxwkpLnSGatooloc6CIIrp4yQwSOxqtK?= =?us-ascii?Q?zzPDLp7y7fKpGXUigXz+Fluz6CrEODHV+e2wPgnYZhEQnpJWFA+GYNmqcG9I?= =?us-ascii?Q?PmqIvQU9jzLgGOAZjFXJoB4ccQhMdCortLebXnBY5zrdYumGBJBg?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 917c9bf4-1de9-41ee-7475-08deff6c83af X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 10:11:09.8263 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0nDoNzij1+o4p2I+fGgwiRTQo+5TfXpmy70tzrfz470OrnPBkc+sQPHT1La1A0QEkH8NsvTSoRmggSuA019AHAhjcqmgaK+ngYBavMf+MfH1OpYMBOVe8tFY42stS79I X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7971 Content-Type: text/plain; charset="utf-8" From: Zhipeng Wang A chained handler must pair every chained_irq_enter() with a chained_irq_exit() before returning, so that the parent interrupt's flow control is completed (EOI for fasteoi parents, unmask for level-triggered parents). Skipping it leaves the parent interrupt unacknowledged, blocking further interrupts multiplexed through that line. When imx_irqsteer_get_hwirq_base() fails, the handler returned early without calling chained_irq_exit(). Route the error path through the existing chained_irq_exit() so the parent interrupt is always completed before returning. Fixes: 28528fca4908 ("irqchip/imx-irqsteer: Add multi output interrupts sup= port") Signed-off-by: Zhipeng Wang Reviewed-by: Frank Li Reviewed-by: Radu Rendec --- drivers/irqchip/irq-imx-irqsteer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-imx-irqsteer.c b/drivers/irqchip/irq-imx-i= rqsteer.c index 87b07f517be3..1b8d0c8eedb9 100644 --- a/drivers/irqchip/irq-imx-irqsteer.c +++ b/drivers/irqchip/irq-imx-irqsteer.c @@ -154,7 +154,7 @@ static void imx_irqsteer_irq_handler(struct irq_desc *d= esc) if (hwirq < 0) { pr_warn("%s: unable to get hwirq base for irq %d\n", __func__, irq); - return; + goto out; } =20 for (i =3D 0; i < 2; i++, hwirq +=3D 32) { @@ -172,6 +172,7 @@ static void imx_irqsteer_irq_handler(struct irq_desc *d= esc) generic_handle_domain_irq(data->domain, pos + hwirq); } =20 +out: chained_irq_exit(irq_desc_get_chip(desc), desc); } =20 base-commit: bd5f485f3f026225b86573e559af0b7254ef4184 --=20 2.34.1 From nobody Mon Sep 28 13:18:32 2026 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011068.outbound.protection.outlook.com [52.101.70.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0124D46D0A5 for ; Fri, 21 Aug 2026 10:11:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307087; cv=fail; b=J19TwCgSvhSOMuvmbxQSQvCaKaTkj73oZ70OAgcNosRfl1PHGRJCTzaqnKMz7MYCIGKc+D8oMTfq94/T9bJMEFSUTM9hVYVeHzyZyFJwGi3LLdpiZhs4SEy9TgI1NE3lOWTmmtgYlxRS/XH/as1E8hKQH8xmOlhjWRogthuDlTs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307087; c=relaxed/simple; bh=Gn+Ky6iDshtRsamE64nQiD9o/6wxbNw1UL8Q3K7/gkE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=n2zdowD1+lQLO7f3aG0HVA7oIvskUw31TO49OyxSHvhi+KyJ/V4jaxqtcLMEettsiLGQenj9tkuSXubaJ3j+HS4qO9HEDRQNHOHuHyqMNZA9U6k5aecUh2d3JoQMejbqY6ixe1PD/GkRzrM3wStmh5AB49uioH1+jFNy8ilhFlk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=WoVL5kvz; arc=fail smtp.client-ip=52.101.70.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="WoVL5kvz" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cFEepraBjBVcrWHZS2yjAJahA4buoip9JUsf9QqkhSQ5fN2S9VbFI9XuoD5tO6MctF7RYXFfkzGaPEBEs7f9kr3qsSHc8fUxwpeW/tWh/Gs8T1qf33d/pKOP5QhLZaxw9POT2wQmruDIIfUqoJ5HgGULL+aCMvPXsPmmTv06C/NwbN/61I4JcF7ZUBXvlmWX9k3+42u91e9rfJ7Sf7dHqKdNGlTdEAvM3pFq8Q/0AN7bz3YjGSKEKW1bAph76IBuLdKNqnsAAYkEC++uAH8IVRRP9kesqiPyAfx0TPmTQo9QM6ssBsn3JZwTe4IpgA6XKDQmuxoFW8PrpKYlzy+EHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nZi4dp5WqrGhca41rCIBHSjwdR0blWqPcFtqZZv+dlg=; b=amEZ+fiWHfYhiiAQhQJ2cl5crDlIzdMpi4qTHgBEZqwQ/qTb9Uvc7YKhm4mus2VaNXkpwBv62D5wBPMEqVl9/aR4blQXdcAY3tEwCvqlw9lfG6531KIPGtyaO0sqPP6tU8iJ0U5wQdgqhO77vLP1ReroNRdMYjylw+Tw/52Bo6CIwdZCNMo/rrvomjf7c+Yx2UTt+307WRzyKh5nCteweq3elh2sT/tffQQDzq3mw5Ab57bkYjMjMZ/50y+osGTkAPrkoVjJhHBikA9AORzi4ywr3PoH5B5HVOXiLzsdkHUZEODjCotfjlTDy1h2hVEFJ2QZtl39YuG/zilR66x65Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nZi4dp5WqrGhca41rCIBHSjwdR0blWqPcFtqZZv+dlg=; b=WoVL5kvzHaedhU20SpwpSMIXCjjsdG0P8XmI+BuMI5LuxaQUut4y3748c9pUIP4jh4fTwJLwzqZqzSK53E3+ZjGZbkpvxY17kuBwx2mydUDwhIvGgenB6pgrx1NVumcRTfxj8rsSC7QXJfHew7ukWKsS9yyPvYxPsLxNQPpBi/NtE0s8hQJT/1ItP32bQcfTZ2SVsQGMTYiO0AGgarTTw598TCnVd447fWRS8PmyIm5agEaDFMEyjw6Y/BJvf2/eacPlNopS4llwHs2ino1QZvT5wd8CQ2LRWGE5I7wHVryijc1c4hWaClfiMkg2A4GnqUA2nubaSKJzs2ElWfHboA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) by AM8PR04MB7971.eurprd04.prod.outlook.com (2603:10a6:20b:234::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 10:11:17 +0000 Received: from DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5]) by DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5%6]) with mapi id 15.21.0339.008; Fri, 21 Aug 2026 10:11:17 +0000 From: Zhipeng.wang_1@oss.nxp.com To: Thomas Gleixner , Marc Zyngier , Frank Li Cc: Radu Rendec , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jindong Yue , xuegang.liu@nxp.com, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 2/9] irqchip/imx-irqsteer: Use devm to manage the IRQ domain Date: Fri, 21 Aug 2026 19:10:32 +0900 Message-Id: <20260821101039.4037925-3-Zhipeng.wang_1@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> References: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR06CA0006.apcprd06.prod.outlook.com (2603:1096:4:186::19) To DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB8PR04MB6858:EE_|AM8PR04MB7971:EE_ X-MS-Office365-Filtering-Correlation-Id: 363fbe92-8b8a-4617-9fcc-08deff6c8a04 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|19092799006|23010399003|18002099003|22082099003|56012099006|3023799007|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: QbsIYUgpzZGelfHfwZo4K9bsA3ohZI6C5QCKBDMlXhJuxXVgFvCEPuTbuTCSYNGxL1WftOX1gQ9NJ85BcBXeWQrrnMJVuwq11Ypde04XfmQyMR2dG4Ss1TmjOCaXxIStogccaluyjfwaK0l3cTacWeCG0PhzmPxXQZnXAOvfyM23nlqceK+rn02sBWEADusw3Em10R0/ixYhoYWs78x2GWbdoUW0+KPZi0IhnsWo3s9IQZ7M2zb7ZIqnF73bumkEcBR4FvJ5dX1PPmRm3bt6/0a+TlC4PcrZdppStnMUjUbhlUsoawdijLkfkGy/IVGm7ctJGnAUdPYq0driBt2IvouWk21IrCDa0udzcZM+FymYyAQ5Kg+g7QuWxxdRAm0BFFin4iGt283pDUgA3FFxfpYy7a9Y1mMaNuZjIrDgUIeFMi/5nv2qlUrcLdHupZZ5qP2ZQDi8v+TjzAPG2Atyzkwqm5/3A8zJtaevd0bRQNMbeYI+kcBXkQJsWlMYyoF2gHVu5k0eweSYC6Cax+VLw8ujQqiTU5wfuzgQiJi/8moHQ7D6yNvttGcp9uVADplA8U/LIk1BlPwywFXFL5nV0rycuall0SZn5kq2cDkFGBIcZTxQc13AE0sP6sXezXDBlRemmD52+G0Pq9D9obs+Lg80gVzZSY+nYTaEhMiSKy4= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(19092799006)(23010399003)(18002099003)(22082099003)(56012099006)(3023799007)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?E1+sD+ZeUojNlQgG8xZE8C/b0B59AdfF+0mqyMphLmbaaeY30wmz07Pn/db2?= =?us-ascii?Q?bLzW5leI/FY/sJZUOdfzDizkAJUAX95usfYb77fOqXI/B7lGV8+T3fjF4dJJ?= =?us-ascii?Q?/7ffBflzjjnnP8yisBw2M/pT/lE/DIHJvmVynTe5yaF/YJ9vkZjW+0ZmkBVs?= =?us-ascii?Q?GrJHOW1jNYPVDHk1H2uTHaUumweA/2v6ntx3XkhN0GNvTyUYt2EGw8myQ9aa?= =?us-ascii?Q?sDpvW50d+xjOFmt0uw9Jw55TW0hAF2Hq1cSKGSAyxhoFd3ybK4TWEKPRfCQq?= =?us-ascii?Q?Qh71mYjDi1mThs76EJ9D1XmV6byJ2ie312+er/cALuQjxOVoVpxibQ+EX30l?= =?us-ascii?Q?oUSUf05mCkk4RP7NFc1rvFNYne/l0FKq7ppJdU8gS7rzPkd7E1mn09Y9d78R?= =?us-ascii?Q?fI+B5Hi71d3dP/UiMBpwHdgVX5qKfyW0EbFLZNqC0L9FogB8BURlGCH3w4lN?= =?us-ascii?Q?3SNP25afcBfVOw865iYFvAcyhHyONkaW3OIe1RxGEK7vsweOnAkjIzdBaQSH?= =?us-ascii?Q?vOj4K1wuk+UwiYB37byZgpXJgvwktqoRGQJG8TdVtBgsv7WTWRKeVGrnkgrC?= =?us-ascii?Q?zdUeie3CyCB9OCQdBes/Sgm3QBuK/Pp4PI28cWcOgQh9Ts7/a3xDOTi3att6?= =?us-ascii?Q?sn95tW6RaOHz3RRqsHheWqjlAefcebB+uyeyN+82teW38ZNhZzgxEP39PNyU?= =?us-ascii?Q?d4qVZasKQ6SK2TpE5C/t6uV1KxKDbRiCD/B/OHQZFFYOh6waMvc6XB5gkGzn?= =?us-ascii?Q?Lq2dPOJHMDH5UCAx1vSoRuyoBajM7CEaUx+zI3hHoQoyvCQ/C2MqQLJlcH2m?= =?us-ascii?Q?Pc4SJ/QydcOaxY5s71xAH+Fi9MFb1ds1XkhNdN59dkYzhRwMPhc6xZpm4FGU?= =?us-ascii?Q?Tzm/sojk2ATFY8Y74flJuIlFNgpVim9MgcpwvxAEKX+HxXpHLZaxuZXLKKv7?= =?us-ascii?Q?jxAq8Ju9WuOSS97Y9u4RXwN+zdE5KlnN3WaW8s1ycVmAp3//WxEfJS3zDRkt?= =?us-ascii?Q?lLB7Cw/Y8qIQidRzC/vc9x6bM78m3mB0JV5OJ7KN6ALulwdu3fy/5PcvZy/r?= =?us-ascii?Q?iNym3/cMpGUneoQGyHJEG5qqB9ACw6aI3hd47ZgQ7MRvkqsn2pED52QzWigz?= =?us-ascii?Q?UgKuw2Dv6q0dVarwbkGI0zHPsDGo/uh6OtGX5MJuLAMd9OpppXfGNtamCXgM?= =?us-ascii?Q?4M3Rho0m2l4L9bV4CxcxNYfptze8IlVWHv+vaNazP53cHNQ4Mx9r6zhZT7jH?= =?us-ascii?Q?HfhbfSg1c1CJLUXSMdy2mTj9EM2ueoZpe3zTSF7aTQHxKS4e4mzVKyjr+xuA?= =?us-ascii?Q?m6dsn5NiiZiodPVZnftNYdkQLofz5b4JQfTD7AZLC9SsQVTID3/I9y6AHpYj?= =?us-ascii?Q?jXz7CbdN/2B3LY/+ACtlB+coZR+adC9bI/IHQ3drNi3hbs/kpq+HwAjExhQb?= =?us-ascii?Q?xgeYIviKo1yTp0hS1aKaA8lbRSRBsGn999SURJms+7ikB5nD2mIbc2ukPWoF?= =?us-ascii?Q?Aq8OgpUHuhFxWmLQSE4WBv+brdnxF81JH0K4dPt+YcGvgRf/gjNH+deBF7UZ?= =?us-ascii?Q?5H2xQzZHvS64zvPAacMZC+AdwiNVLpx8Zq8idHUutXWFMzQDKjIi8W04Bj76?= =?us-ascii?Q?ZYQcGJJO5EHCS4we2RgJTcF6jcnCX8cU2Sw7Y5TLAU+KTcSoK292l4xNE2e7?= =?us-ascii?Q?XgandG+QX6pmsKWOa8xMKjdx1FduDdGJEfTgjlguJQu2t/9cpmZKGe/mKvX6?= =?us-ascii?Q?ekMW/evxzT0s7KYgXv2e+Mn8JQcXuQoLLboqh+Kd9N7gJ1zAPmG8?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 363fbe92-8b8a-4617-9fcc-08deff6c8a04 X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 10:11:17.1303 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bfs1VER3tJraY9P6AunICeMm74EXGa6NZz653euonGzAX0iTBMB9Mdgj0/Vu8bEz4WFbGVo119aLObaYU/oSLnrjBcLKbJBwpCFF2bXrToFc6akIx62Qt1fdrKpjXRgj X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7971 Content-Type: text/plain; charset="utf-8" From: Zhipeng Wang probe() creates the IRQ domain with irq_domain_create_linear() and only tears it down on the remove() path. On the probe() error path after the domain has been created (the fsl,num-irqs sanity check), the single error label just calls clk_disable_unprepare() and returns, leaking the freshly created domain. The domain-creation failure path happens to share the same label correctly only because the domain is NULL there. Create the domain with devm_irq_domain_instantiate() so it is removed automatically on unbind and on any probe() failure after it has been created. This fixes the leak on the sanity-check error path and lets remove() drop its explicit irq_domain_remove(). Fixes: 28528fca4908 ("irqchip/imx-irqsteer: Add multi output interrupts sup= port") Signed-off-by: Zhipeng Wang --- drivers/irqchip/irq-imx-irqsteer.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/irqchip/irq-imx-irqsteer.c b/drivers/irqchip/irq-imx-i= rqsteer.c index 1b8d0c8eedb9..c1df84551efa 100644 --- a/drivers/irqchip/irq-imx-irqsteer.c +++ b/drivers/irqchip/irq-imx-irqsteer.c @@ -237,11 +237,18 @@ static int imx_irqsteer_probe(struct platform_device = *pdev) if (irqsteer_has_chanctrl(data->devtype_data)) writel_relaxed(BIT(data->channel), data->regs + CHANCTRL); =20 - data->domain =3D irq_domain_create_linear(dev_fwnode(&pdev->dev), data->r= eg_num * 32, - &imx_irqsteer_domain_ops, data); - if (!data->domain) { + struct irq_domain_info info =3D { + .fwnode =3D dev_fwnode(&pdev->dev), + .size =3D data->reg_num * 32, + .hwirq_max =3D data->reg_num * 32, + .ops =3D &imx_irqsteer_domain_ops, + .host_data =3D data, + }; + + data->domain =3D devm_irq_domain_instantiate(&pdev->dev, &info); + if (IS_ERR(data->domain)) { dev_err(&pdev->dev, "failed to create IRQ domain\n"); - ret =3D -ENOMEM; + ret =3D PTR_ERR(data->domain); goto out; } irq_domain_set_pm_device(data->domain, &pdev->dev); @@ -285,8 +292,6 @@ static void imx_irqsteer_remove(struct platform_device = *pdev) NULL, NULL); } =20 - irq_domain_remove(irqsteer_data->domain); - clk_disable_unprepare(irqsteer_data->ipg_clk); } =20 --=20 2.34.1 From nobody Mon Sep 28 13:18:32 2026 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011068.outbound.protection.outlook.com [52.101.70.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3E2F6453A41 for ; Fri, 21 Aug 2026 10:11:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307095; cv=fail; b=NpwWmYk0zhTCrgHiib9QDqn7/+jR7ISCa9R1E6i8HV5EcKvsHG+HJYMxdIdUDLPOwhS1V4iNhRFwyLL8MD4MNgH/vcoT9nqj9IwrbGHMHP+zvrQiwcxtesf6hTGzLlW1xd3qRRl5PkFqNmlq656JIs73tyHIFnXBR9AASBcbiCI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307095; c=relaxed/simple; bh=6eaeZgypDrKCbY/ztK3t89eeuvZ4Fhc1V2mO9VE7/NY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=P9If2NmR9uE1oEwJDG5LxLbzMTk+mp8wL4SKPgr2hesiGh7pvLpfIHr3UpyVCr5TJHWjZ442arOSY+XZoOpdl5Hiv3Iu9DZ8JaPqxlbgmt8CxqKupVkKafh85Lkq7PjVfiUPlxlb5bjpq+68qgp6SB4Nd+JYxDYpDv7LGaJjl4I= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=pRLi0LUX; arc=fail smtp.client-ip=52.101.70.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="pRLi0LUX" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YFAC5Kd+Jtz1r+gTgB2HKxhSe+wDzVHhHre/UgA31g8pLjlmTFaXiqjIqhM4foEYMxjldMiCR85bUwl5atQv56P0yrQK+WtzCuaEl7I383qdtj5lHw9FqEn6hdzbOdWX7IB3tBYcGxv4KjxbhIUfX+oHgDn3F+BPsjk6+SR6Uxnczf4H24R4hvsx9TBIdjR5wzdK+HDvta0j91UQCnOzxVNotpD61dA0V4hq0q5dlKQVuukIv09AMLYR8ioqn+O/F2aBgFVeC9IDcNnXbJHiZvLLOYUX1Y0TmXZjMhfWaYs8k92FngwdRVucikLxoQkprqKRp1SjBrV9ZxLbSfLJSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XJUN6o3vfqrejvO+8jpeRFmyv6jTK1auxRwHkzqCiiU=; b=m5O1buH7HAk9ORBvB1HhwMR7uV7biLFph/ZcuL88MGwasJ1fDpws8fIyMIwaj5VmpB7EeQz/6GcubZduDhmMX7otGp0L49odd0jE5Ssuvr5lg8950txoB6QfERLDpJjpV/o7lvunHaQnmM1SA2EYfnNiXNqoJ5Q9jKmnBMv9kDrZl3KMsebX+kRaw7Hs2qzeZIQc8sLJ/W52tKOoDlxWqUAGgvUw1pz+OIYCN81qHx0cM8R6wAC15rMHJSFE8M+pxbpYCC32w/8kuf8TawxtbKPfT2Y9p6mRoECR/yts+5Zh2n0ShNSZakqhla4HW1XPhZM4pdjZcenLjOZCM3Xp5g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XJUN6o3vfqrejvO+8jpeRFmyv6jTK1auxRwHkzqCiiU=; b=pRLi0LUXVZZHSgV3NdpXDkucaAvQmXjFu+pN8hYE9OUeWBME4lX1FhFMeFm9MTC4q6QnOsbi5jOSUDGF5fjS/1LfLqRBg5/AYp4g1oWvRNOMoquzSMvadR7ea08rouEjbpV8gEQposLF2pxJFIIJnOHqUao7IwMznOXXjTVBa+0P0D3BSiV09DTbvuQllBdc9E5PCqnlQriL8oAMQVx/1SumtX8iDXM3RF958yRe3WutYg+plNuxO+mhpVxOpaSveYgplOh+WQQ9UmimPaIo7L/mMFHx+ne0MWcXt59YFfB9QjdJ7SuxB55bEpKqxG+CU5+Mk4h/WT65JnxozuVokQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) by AM8PR04MB7971.eurprd04.prod.outlook.com (2603:10a6:20b:234::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 10:11:24 +0000 Received: from DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5]) by DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5%6]) with mapi id 15.21.0339.008; Fri, 21 Aug 2026 10:11:24 +0000 From: Zhipeng.wang_1@oss.nxp.com To: Thomas Gleixner , Marc Zyngier , Frank Li Cc: Radu Rendec , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jindong Yue , xuegang.liu@nxp.com, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 3/9] irqchip/imx-irqsteer: Validate IRQ count before creating domain Date: Fri, 21 Aug 2026 19:10:33 +0900 Message-Id: <20260821101039.4037925-4-Zhipeng.wang_1@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> References: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR01CA0006.apcprd01.prod.exchangelabs.com (2603:1096:4:191::14) To DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB8PR04MB6858:EE_|AM8PR04MB7971:EE_ X-MS-Office365-Filtering-Correlation-Id: 5c1dd893-e98e-4f8d-932b-08deff6c8e52 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|19092799006|23010399003|18002099003|22082099003|56012099006|3023799007|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: xu5hWHwRXmRl8juPYlbCC+vzBawZe9Wj7en4rHSxcX2tYXPeTzIm2RWAET2rZVfR4UaaK4n6w+YctzYrkMyBQ3ZiOyYIZSCL2BJH+Q4JrbzoRhPVxaeb6xJpAIIJ6ArUiXm2rwWonbNyE02QfA4dcI0/BUORqHDEl4rkNsXey9oWgOSRb5X9u9RJY++0xxu2THVNKJYN7LgVP7ocz3XojG9y6A9yqTILTF7AA2G0kz4NzSqab44bWcT7sxfkumpr2t/2YxdjkONxDB9mdCFk1zOXmBoxx/ZV72deyh1HUc1k3ZLIOI5Hy2Q6YkUTzZ3ZAFCT8ZEC/maSPLgxsQ6Y9ExyS41I7zr1uUgXLxWBpsI/1LVGbGZfQkgMbdCreZLOKWm4/fKMB0Tqxyx5iIiLb5prv8/8Wuq/Qx0CU4AL5nfU7sD9teeYQSN18xYGlDUzLamlxLMHTcd8N60j0/nfmAGzB0RG7jt+FgILoVkS3wUoE1jJKJJHD3XkESSape97bh2NUhPyVD7WSJBSDe6E0yp1JTUlmI3v4v5asDhF3mdUfBGfQfbrWjSbfXM6Hs9hHXj+LYxcuWTX4TG0NL7HDcUs0Y8kp7UhL9AfYZxsaRdO+U12YaD6XgW2abI4pgcbyD6DRQyjuxmnKBM73OEwS9qrGpBrH++b7upR8e5Cx4I= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(19092799006)(23010399003)(18002099003)(22082099003)(56012099006)(3023799007)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tq9xd/sXY4XW2ildUx7vaR86eyvszz6d+yX8urPYJVgGaGqjH8Xk5uPqheVY?= =?us-ascii?Q?Ea19HfKpGGIZWYT0gmbEJ8o3y0EuTOjd2npWDAnVCw7Tr1X7HZ+Q6t6pmRrT?= =?us-ascii?Q?AXB8EcvZjUXVUBOmqWwS8omvDLbLyIjb1Awbomf+VgJJ3ajmIemy+8zYfaKN?= =?us-ascii?Q?A3T03CF5C+IO+wzK5Il8nyI1+0A+5Utr0sl6fxO2jqbtnGfj8YJ/ky/L/gFe?= =?us-ascii?Q?ZUsAawkiIpm4Z7hkAKnej1PNyD8zDW7KBYpEpTCGNGPpv5WSUevYEh2uLemD?= =?us-ascii?Q?v59D40K/Dh4eF4K5NiAi4C11cLsvkqu/zisX/zWUMMUi7LQQMvlEtMefH0hs?= =?us-ascii?Q?vRp7iZeKyGmiRL1TUO/3/vlR6dOb3dfdGMSs08a99hn97OCx6eK4XzOxwcQB?= =?us-ascii?Q?49kOZvSpGSFqZo1DnA+7zFElsM6jmA232cM/+1mrzjQaPNFKIiqWtdGQoFvp?= =?us-ascii?Q?mj9nPkW14qZd0z6ODuQVZOVeRTWzyj0bj0kZmWYYV8KUOKhb8pP9hPTl95lh?= =?us-ascii?Q?QSES1hwEuGuKYWDs4ZECVLPsBLYsmD8g9NjKc1bLLQOrbJQ6+gfIaLcRuxoA?= =?us-ascii?Q?glQl7PW6xdQaMPYljnSuH53RoIeSwdqq78nUwgMLLHU81Z53sTgi9mSx1+cc?= =?us-ascii?Q?E2+/uquXF5QmJV7qmIKtsF4+jejArSNhWxN12PvX+uyJw4e9OYbs1sb0ielx?= =?us-ascii?Q?RrpmKHISzQWQQZZkkGtSH8qQ4ftO6qbYiAMtJle/4w0RddgTkQok3ATMbpPF?= =?us-ascii?Q?rUVZM8vIZwQdbNaPbSP95X6IS6I0W3hgmTO9ZEuLyiWRY8U9ESwBRqEtV1+z?= =?us-ascii?Q?ofa03pKwFaCIHSGy21UuMem0a4wC2l68jjjCnuhOZL2g702nUmewrcz2vm2R?= =?us-ascii?Q?rMdLQQeVPLEJo5NKDZBNvLYnjLhpp9VbV+dbmhVxP+G7BJ6Nm9W186HUgZK9?= =?us-ascii?Q?iZ7zmFTxQUtdg/ASQMSIBh1CcO+735jl/FZzjVkib1aHtMNkK07wxAPpgbd/?= =?us-ascii?Q?43w99mTQBO9rCic561TQdqNQq5IXYvUf3oWhHHbMMn4ROhmFNGzBT8TiLEnc?= =?us-ascii?Q?gJQVlVRhkvMR1jbLWOk89GC4augmmK7m0oIriCM9roSIs3UK3ciDm3pJL/ui?= =?us-ascii?Q?SdhmbPxS9HYjjvYSWn0sF7TsF54mvwZ3Fc0HoQVNg0HkvHFZzWLxoWhoLJNp?= =?us-ascii?Q?Bsjk5hxJSNfR0HXOqXjSI57mVyxdd54+A6/D4Ehz3XLu1QrDCxGNMX1CEY2h?= =?us-ascii?Q?4U90i9fJAw/sJa2ZEU9jebxenXn0JlfAr/9VHipjwCPJtA0YpD47VGlOip/l?= =?us-ascii?Q?oI74sYKycogyUl53JNw4LP5Z4gahODkREBXf3gDgxRrEzhb6X/4eaPv/Sqn8?= =?us-ascii?Q?FQpya7l1dmr3g3KsHkjEW+26IkVwtBq8PP/eYL+XoWz8asb5rKwGsXrPGVZK?= =?us-ascii?Q?rgeLY6VAUZ9jaECjp6M32R1Qkjkai1OuypY8EIuadN+f/9vcH4dPjhOrnuNq?= =?us-ascii?Q?m8PkWvgUHRl8Bn/Ce4xf0LGIwsucdMLjPqzmKD/g06axZMAJsNqHtJAR55Iq?= =?us-ascii?Q?4y/7uiVZDicoP1IFvP+7IUGU8QLftfEey7fl/mvoxJQGX1M0FRpLutpK5fxG?= =?us-ascii?Q?l3jZFKPo057NU/vDCkXvE4P3AS+yyaEWOlsIVy/TG+myZ3woruOnIJqAKwgM?= =?us-ascii?Q?kKih98uiz6+m5YcI9ADDGzlgwdbQYk1Qda4SF1/Bq6zhGDLjaHZLab1RO/8z?= =?us-ascii?Q?hww3WGPcY4n/O/Es4H1Rs2OgEGIBhovatRJ9zbovSvUKpJ4HBAv/?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5c1dd893-e98e-4f8d-932b-08deff6c8e52 X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 10:11:24.3980 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: eHMsnbdtOinQcINuSbUUwZ2CE+uF9wQn+f9Arr4iPiwg3Agnx168cXhe/rYQEGuZo+V4TWYpXdikedyxVjE1DFWdZV6YXa1CQT/CITv0OxX9zpyfkHQyDBTwM6/uFuud X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7971 Content-Type: text/plain; charset="utf-8" From: Fabio Estevam The IRQ count is validated after creating the IRQ domain. If it is invalid, probe returns without removing the domain, leaving its host data pointing at devm-managed memory that is freed on probe failure. Validate the count before allocating resources to avoid the leak and dangling pointer. Fixes: 28528fca4908 ("irqchip/imx-irqsteer: Add multi output interrupts sup= port") Signed-off-by: Fabio Estevam Signed-off-by: Zhipeng Wang --- drivers/irqchip/irq-imx-irqsteer.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/drivers/irqchip/irq-imx-irqsteer.c b/drivers/irqchip/irq-imx-i= rqsteer.c index c1df84551efa..571324de8bd1 100644 --- a/drivers/irqchip/irq-imx-irqsteer.c +++ b/drivers/irqchip/irq-imx-irqsteer.c @@ -218,6 +218,8 @@ static int imx_irqsteer_probe(struct platform_device *p= dev) */ data->irq_count =3D DIV_ROUND_UP(irqs_num, 64); data->reg_num =3D irqs_num / 32; + if (!data->irq_count || data->irq_count > CHAN_MAX_OUTPUT_INT) + return -EINVAL; =20 if (IS_ENABLED(CONFIG_PM)) { data->saved_reg =3D devm_kzalloc(&pdev->dev, @@ -253,11 +255,6 @@ static int imx_irqsteer_probe(struct platform_device *= pdev) } irq_domain_set_pm_device(data->domain, &pdev->dev); =20 - if (!data->irq_count || data->irq_count > CHAN_MAX_OUTPUT_INT) { - ret =3D -EINVAL; - goto out; - } - for (i =3D 0; i < data->irq_count; i++) { data->irq[i] =3D irq_of_parse_and_map(np, i); if (!data->irq[i]) --=20 2.34.1 From nobody Mon Sep 28 13:18:32 2026 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011068.outbound.protection.outlook.com [52.101.70.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 475F547141A for ; Fri, 21 Aug 2026 10:11:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307111; cv=fail; b=FqRmtXa7waxRLqnHXKYQ5OArlJoOSoLCgFpSiot2UnVVXeHEOV0Za8KQxZq4C0ZNboq0WvX6U8U+vkXKR3BnjZMTVlineMAcxAMhdIBHD+pogRvTyjN4DxQOcGCT2rrp1AcPxfk2dFyRr+WDV+wBgQIiXWwGLsh8j8SVDcOJNjk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307111; c=relaxed/simple; bh=oKugzg/f69xVUONlxkILbdOqoQAexcJ/VtqVu9GOj9g=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=FZDgzJaGb1pMzvn2pGfxxyl40+WJMOHLW5+l2KuYsBYGrhBlgEyGFSif70xkdkBOS2ugru/tHMzM7438nHzIW9fKXqT/lefJ2IEq5WBabI+Bs5rOesz+qEe74EsF5WFFs9D+1XMQ9Bn8hVz/TLWyq1nFfp5m1BNvE7RhF7oq8Iw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=ZkX8j9jD; arc=fail smtp.client-ip=52.101.70.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="ZkX8j9jD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=i1WCaA8ibliJKxwi+4KRKE1ktSMLwIIcbJ9NFM/wKWi887nN3W34xbJcrByHJNkAUQcw90L6T4nko3ZqN/mcRGrRdb2xKTC5Q0jvHBRLfE6VCnYc5uyzcpYtK9kgIEtkcXrIPrXVNcWo9H1Py0UGhETpg2D82HcHb1G7pUfaYRz7nN8QM0jgKriV89ZImwGVTMJZjS4pmy1QX3R3/q/q+LcckidlhO9lJ6ZDCTTgG4H9uv1b/sh6pia8e3u87tXUbzQAOxXA5NXsF9Lr2VY6Lzo2RXBdobfJ4g0PIGVGD/dlNkMIujKjeIbHauIZNsqaa4s41EcRJiUc9NMhsUH7QA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wlbrILGFKmzkJ7S65WZT9RI0zGwHEpUkLOJeZhBKCmM=; b=seL306B9qUzK77t89KWW1kEH1UuzwwaiZCO3sHy5cAK9uoN09bOOX8AhNgekP2v07MQKzQh6aGR5FRCkkIrS2GLSFNpo3k5KJ3w4urFzTEJcmnB930eRtiddVY7OgQ7AYft/a9u2Iwcwpj11ofC4HFAAyXtRSJc/L1ij/6BwcgUGOeKAMLCjf2c0v4DqER/rwBkpwkzuMae9F0Nf1drzlIn7VFPU3QkDDMKNA+PYO8aZWEVXCnQRx38tV/bvTlc9d3PnO+6lomiSts/OHpRQEH3CWykgkjk8dtPZbGQcS9z9lyWLbCHCx9teZ8RvaCMr7JDXd4J2FZvCKnxOSYYxAw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wlbrILGFKmzkJ7S65WZT9RI0zGwHEpUkLOJeZhBKCmM=; b=ZkX8j9jDt/wz5noHs4wtqhjXlJd99hIWUi2fMNqBkdxVu5z1Xh4VyV3PDPS+MqL2eQ5CK6DTkQKjEXWu6L6a/tiqg0oqqQ20Z6mdD87K9Z7aroHoFeQIdQ6LijFptEZ8W8zWFQ0U35EBFu/5kCWDycmwNUjpdSjWAxecHQnLPqCJ9wrmZpb/iUNqEQOGeao3Fcnv3vavUDW0Ymf9x/ZyREfFJg7udgafA0ZwSEdR102DdWi0bB/tNvWSw3Mk4HnPTEBwGtl6r18R8Vk691JCPG5eafLsMuwNhx8yE0euOz7C8YoZay4S+pqaT8DqfzQHtAiSSbRgfq+vEom9OEYNvw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) by AM8PR04MB7971.eurprd04.prod.outlook.com (2603:10a6:20b:234::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 10:11:31 +0000 Received: from DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5]) by DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5%6]) with mapi id 15.21.0339.008; Fri, 21 Aug 2026 10:11:31 +0000 From: Zhipeng.wang_1@oss.nxp.com To: Thomas Gleixner , Marc Zyngier , Frank Li Cc: Radu Rendec , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jindong Yue , xuegang.liu@nxp.com, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 4/9] irqchip/imx-irqsteer: Dispose of parent IRQ mappings in remove() Date: Fri, 21 Aug 2026 19:10:34 +0900 Message-Id: <20260821101039.4037925-5-Zhipeng.wang_1@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> References: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR01CA0001.apcprd01.prod.exchangelabs.com (2603:1096:4:191::13) To DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB8PR04MB6858:EE_|AM8PR04MB7971:EE_ X-MS-Office365-Filtering-Correlation-Id: 33f0615b-7f65-499f-2536-08deff6c929f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|19092799006|23010399003|18002099003|22082099003|56012099006|3023799007|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: 857VaIJEkkFCGKkRovuJhaTNdma2VXNzGB/Q9v9l1J00wRdvpL0924ANY/ZmFxN3hZ0LhBbwZ0r4h9ZyHdmZi+mBvPr4Z57zC24sNFniXdIFKNI17bre86seJsBnSgMXRfiDEJ1GB+IlEZhZXp/M4wamu8KXSWp3fwqBQpx3GajrrFth+PbNYBENgeO2Ek4/zrGioQCntYZEDystIVtLJbXQGPkJM+6L72FB2Ank/MbixSU9CX+4s5YVjcblZy75ZsGd9AoD8q8BbR83PIRfMlkSXidc/zuu6wDkrq4hu2vlyKB4eekhmUWt67H7xgA8c1f9x7JgTejLDpGWGEsAk1FCxf8GcsAdnF5U2zmcELAXnSVWo9+JjR8WGe99pICGe2CUj3zczgMHr9Cwxx93Ecu7ayQ+0M6OQd6JGNP+t+dm4vxSYEav8XDAnU4JWq9g/fKjwgvQ/WbZF86cpxkkoswF2qvDPW+eOYv8cyo9556Lk+PRi+zIAsAmJE0kJJIU2Z/U9w5nTZXkoSkeSRj5q02/fNem4GmsR8DoN9NtjsJXYTh63An4S+6wWbqCPLT+Zj+J0rfT5vPH4itmA/3K7v/P2vpOKIvzDcSiigVhKoPpGoJJuzKuLeUZV800LklRMc2ZSYEaKP6pGAe79i2FgOWgwMffUKIKQGMzBfFft3M= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(19092799006)(23010399003)(18002099003)(22082099003)(56012099006)(3023799007)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lQhyn9nls91pOFFPEbz+XNn3p/beq65mY5fBRjubtvcKeW+y2p1ACQoBBysd?= =?us-ascii?Q?icp8DLoKTnEWhjWfNB/sFO7VY9TBlH8XRZsTzcG29be7i08RXBlmKLUvc84W?= =?us-ascii?Q?wI+ONbRyzOrlrd2N+rZwcQCkHOLuFh8f0cMzLsT4MKI3Mcdzr4LP8HspUqrP?= =?us-ascii?Q?7Fu7Bdw9VPfoeJlVYmy3nivoYxc+1R5LoixS9MVljj1XVKVwYBDy3Tc8qCjs?= =?us-ascii?Q?XR5sziwtqQDmf5NV/+uYhjAUtjuf7V34IIcO06ooHmfl1wIYVQDnReKGVEul?= =?us-ascii?Q?Y3v5kSdFauPjzuBM0gSRtk7pbgUbezeXeMfxJGm5gWEVoZ5PTWmvwd/FaIig?= =?us-ascii?Q?LmcF0ZUHkxKnUOYmhx2dMBXq15HtrcCLKtDR0sW5Rn1tG6f2PGHDnaBN52fi?= =?us-ascii?Q?Lu0pbcilGfpN52lxabu16gIZ/MznRSUjtkS/qWGKQ9lT06CctdOFbfvGV9xc?= =?us-ascii?Q?fnmhCjMtqVQFEj0Aictxbl91b7wUpsCOfi6PFKX1UFIuhurPIqI65o685avS?= =?us-ascii?Q?YXUCW/CO/+lyyruGXcvUS7eUhCQFyzXKcsX7/x09eCLz1Yl8Az99jSgDnMFP?= =?us-ascii?Q?6jYGnIvo8pAYT0+VuCkhsAPMLtK21fy0ey6uv+xGQxWz/Vq25Nz8AKaqMceZ?= =?us-ascii?Q?/FBE2aICcZBti8EQ3jUMnDWKHia29z0Wl6Ar2EaOZ0axus9AGOKWM0dcNZf2?= =?us-ascii?Q?XkTZgfFBoKZPi4WGnCIB9H33Hz7rK/uVH24pKuRW5v3raHWW5qDAv2ms1QkX?= =?us-ascii?Q?SeYmC5qX7GXKbdmnRUlQeLkBW8mj8V8JUd6tr2QkyvaMMvBP2SpviJiZibaX?= =?us-ascii?Q?5WQFQLZvC13Ssij8glE3GS7jk975viGEU0b/SX9t+mtfbQ9PCFYkQ+oSE2vg?= =?us-ascii?Q?/H+ISFy6E9Dihw39ep3hMiwBHD+/orpSKjElHCHm26FJ9xUjpypCzfo91V3/?= =?us-ascii?Q?NoTR1586u/PJQO/WmyXVMDRj4lBbW+8Mc3N1oFaxVsEwFoLhqH9USol/A+te?= =?us-ascii?Q?8ume4lxrWXlodRMH5lViC57DV9DDv15Idzm43nxXXAytltouyWxx3zqOpR1d?= =?us-ascii?Q?s3h7H8GuZmianrUVohKbQsjqVlbHAnP0cyMy8qRmMIR0SZihSGc5O4ApedOx?= =?us-ascii?Q?p78PkNPbii9KFiXuI1laAcoVrDQ8aXfoaRdU7hdHxq0FPInitz5AKQH++nLe?= =?us-ascii?Q?zO+RLmJe3vg7t5DC3g17cBmE8oXY8/OlgwlJw8937I6thhvfvmRw6+iskVPS?= =?us-ascii?Q?4QuuChuKdePwyv2EgczGjOsuVkcHzHsPqz8aCVLXD1p2pSMAMrndkVaAIsQo?= =?us-ascii?Q?+cbIATJq7DSHdW5WkzAcEBYWXcA2btKib96/J3E8Ph/xJ4BrhV9pkxDiELIM?= =?us-ascii?Q?QmIvEw1nhdTyT4uJtbaicanDmKj290iXJSmwAMQI7YCiZ7nFhLNE8Md6CzI6?= =?us-ascii?Q?MupWysg7BAWoYs6Tgiq2yK7EPmW/oFT4upwdOUA6HgY9bMD6t+kUDk9Me3B9?= =?us-ascii?Q?5R6m8jdPrpSj3IiGYFv0LPozEj5Thn62c+tRFOhrDd3WBE73MMw/xiVFcNTv?= =?us-ascii?Q?nH+BturlDFTOCMfTWB0kqzspmj7zS0eGveBzjYXDTEgscCeuUj0heqfQMxSf?= =?us-ascii?Q?5YXuj+ZQp3+qiw/n2TxEh+cn2vL8QiK5X38t+jNhHjYshQ8EtIaF2bDMM8KV?= =?us-ascii?Q?KYQkPqtxPmeS5gzRJflV7Kgyn9thFKglKJZew9xYU5MG3Yf2wm0GcRav1izC?= =?us-ascii?Q?tNEC9YD+dCZ3eQGixzOEMlyzfRVXdXcSRjA6xhZBlLKqw7ku1nrN?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 33f0615b-7f65-499f-2536-08deff6c929f X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 10:11:31.5666 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: csZbTVePsfJAE1B0FTxXVBWYVu8PeB0y5gZGWzQyUxjXL/QwnbPKV19oe8A+vtPMlW0jyn6DIC7A9rsSdhqImz8BcQsRBnjTYRexR0Fmmw5L3vO9IdyS3CGUOtbCv67Z X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7971 Content-Type: text/plain; charset="utf-8" From: Zhipeng Wang probe() maps the parent output interrupts with irq_of_parse_and_map(), but remove() only unchains the handlers and never disposes of those mappings, leaking them on unbind. The child mappings handed out by the domain are freed by their consumers and, together with the domain, are now torn down by devres, so remove() only has to dispose of the parent mappings it created itself. Dispose of the parent mappings alongside the chained-handler teardown. Fixes: 0136afa08967 ("irqchip: Add driver for imx-irqsteer controller") Signed-off-by: Zhipeng Wang Reviewed-by: Frank Li Reviewed-by: Radu Rendec --- drivers/irqchip/irq-imx-irqsteer.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/irqchip/irq-imx-irqsteer.c b/drivers/irqchip/irq-imx-i= rqsteer.c index 571324de8bd1..071ab1ac1fe9 100644 --- a/drivers/irqchip/irq-imx-irqsteer.c +++ b/drivers/irqchip/irq-imx-irqsteer.c @@ -287,6 +287,7 @@ static void imx_irqsteer_remove(struct platform_device = *pdev) =20 irq_set_chained_handler_and_data(irqsteer_data->irq[i], NULL, NULL); + irq_dispose_mapping(irqsteer_data->irq[i]); } =20 clk_disable_unprepare(irqsteer_data->ipg_clk); --=20 2.34.1 From nobody Mon Sep 28 13:18:32 2026 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011068.outbound.protection.outlook.com [52.101.70.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3522F44C64E for ; Fri, 21 Aug 2026 10:11:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307124; cv=fail; b=gCbEdwjKM7wabW/X3YY6ThVyul1+gQltzslUPwrzK6d0jhRdcZcLe63ePNqw3HIgRf1eRLy+Obx7Y2eoIBVdho9bHCBXNbdYfXQMcRyfpfGwFZBRkVl4DU5lKfJhl1rN88izug6KZVJkyKAXS8e0FQNXmstK2Q7baFGwUQRZZWU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307124; c=relaxed/simple; bh=I1xu28/7Qmx/b6Vc91X5K3AFvG1nOn4sT1CdyaPPUMA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=u8G3sdpsD/fDCGpur7Wv4VBQJQqp878AQH0HwEoV8QH5Si7sGLhPNBS3XdwC2IwDriZxpjXNBaw+Cy99IZtl32NHS3XB2RKEkz4Dw7QNAR+qu88dTP+FnbcNVzo53CjglxWRA287ya9BHZPJiGv0iqOpehLAop3JfA8e42N0gQQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=AwgUBxtx; arc=fail smtp.client-ip=52.101.70.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="AwgUBxtx" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PkqncZxrLrdfcvDRf6XHx+f2NHtWpa+ONXaCQNzW7myrPmV3xHQnEPWCqfty/qk7HQaVbTKKhj9gJ3ukv5e+Fw8rZIJ+y7DKK9crKCT8E9jrnw81GnFY1j/mr8PA37dWr8p6h/sE4A7/IDszzNRgaRaAV2EpuRFuhimGSctut+dx4jW85mOllczjhsdhKWU0ixhhf2E1soEwqr1l0nnMYBNgM+ttyZV0xdId8CMC8xVWENa1Zqck4XNtPO94UCFkOrYYZHrwJgG4Y7z6QaCYuPyhP/NZKpc5xZVg9yjDJprK4LrphlwA8aQzwgBTwKiSWM7+5kJyK6jS59xh6A8k9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Z26DbfoJ825FAn/v1pUIOuWV6BMKykPiYpgtqhwnkJo=; b=UMSY9W1cvntUAZV2IIwItrDD9PPPbtIbYxE+SgzqNh/ETaCKAxy8mxUaZ76dGwBjlnSbfYOsGnygj8auD64VMTXBw8EgnqRl+RzZ8bmyMqog/EOMDURBut0AXsVORVtcKQjczArqYTPXDLRtXRrDsngpal97M2dM00ck6mGJp2298cNDcfLRTW4H5HvDzxDjX2gq8ks0DGB7D62H3WBEnN7BF/ypU7Nn2v+g1cBh6XGC1MG0WXaO16E9XYqurE7+sLL3/2oxUSs/7W8rNuq1cP0wTK3t4QI6PCWS/Qo2Dc9wiU91FJEjyJ8aKVxil9FrF16KGqlJkHrEMTAMFFvtQQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z26DbfoJ825FAn/v1pUIOuWV6BMKykPiYpgtqhwnkJo=; b=AwgUBxtxWHo8N/zGnJKHLx3J+B4qdeEbI55f094xbDgcOpT0eB8KRGBdO3yd4pUUVZ3nccjMAA+DPhHf3iHRhaQycZ+ZKhURU0OvIjUadYixRK8gz+xoGDil6nDUCNzbgAvCT4taAqBLn1Xj4qAhcIZ9wyZNtp7bN12jYce1a4tXp74vzJbKAokMXazAFGDFxzRdaJR+Z7uC3FFTkOh9Me1Nvd1Cj3MvLxBJGsSW0chPBEcBosEnFqcmZlgx76FcudBAyfEPluizO5czzfjWZlzd4zg2syMME64079zhn0hfR1KnoDqip4VWMwuhFPu8Dg9AlEJyUijCjpAv4nA3Lg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) by AM8PR04MB7971.eurprd04.prod.outlook.com (2603:10a6:20b:234::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 10:11:38 +0000 Received: from DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5]) by DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5%6]) with mapi id 15.21.0339.008; Fri, 21 Aug 2026 10:11:38 +0000 From: Zhipeng.wang_1@oss.nxp.com To: Thomas Gleixner , Marc Zyngier , Frank Li Cc: Radu Rendec , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jindong Yue , xuegang.liu@nxp.com, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 5/9] irqchip/imx-irqsteer: Mask all interrupts in probe() Date: Fri, 21 Aug 2026 19:10:35 +0900 Message-Id: <20260821101039.4037925-6-Zhipeng.wang_1@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> References: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR01CA0016.apcprd01.prod.exchangelabs.com (2603:1096:4:191::20) To DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB8PR04MB6858:EE_|AM8PR04MB7971:EE_ X-MS-Office365-Filtering-Correlation-Id: 9cd1bbef-0323-4595-8a8b-08deff6c96eb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|19092799006|23010399003|18002099003|22082099003|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: c0qyTQ/M/Za31bpnbmelDzFilgjlD5qN1TRn3avgpxewBj65PKVlshL0ZtIyX8JQNDy8TCnCRmBxp5se4Rvx8+XHGMoiRpCJKEP2NhmysFw0xCp5fIZDNIiXsXbuJ7tfNUfKyRFnP3VRUTvrIJ+gVSKAaboU7psuQoWNf8ITfY24W73uEzocxV6muGEPbQz1qcqdPX4AbzxXM4gxv1XPbK1pC3POD4v5r3au+LNMlJTEnb6yoPlJkTRw3DzjfShA0+vU43GsS5NG6T747byv1nezizB6+huB4GbJK65rFYWxI//X+AH2tqQVmfzDIEIdpR4ER48IeINdAjzuJmgqv3M6Lr3tWtMrfXAGmmSp/y+yVBldpGGTa70tgQXXvu/5mRIPoWvn4UIOnFlFBLhiRQNCm+nTGw6QIjCQ9Xj9P1KM37XHghZAisN285YJPt9lIW9a+Av1oId5ckv4AAs5/OwF0Upm9y1gMzudRIwwCQZT5yb0/UyKOOfMnYu0+aYRKud981/QMDphwTGVLY0d6uHTwJlhCUJnSufzbyEOpGMMS5haQnUP7CoJAdzOr7EhvVR2NWVweBB6vXijU/8ZKf3lmO09XcysddqNvSEtZt+zxTCMAcanDufuQp2RaHbs9IoH0xGJp5ewNmaHDlU7byWhGxCnBJk12MSRquaTmaY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(19092799006)(23010399003)(18002099003)(22082099003)(56012099006)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?bmlsrsLCyP1AOqKsUAe+my5qznE4GRBoF0k7UN7NEIbqks0ue3iEH6oclAPU?= =?us-ascii?Q?yxRUw8t+tvKbhraZDrWOe7GvEV4+kPjdCJ8z0C1zKHs4+PCFbeUKv0kiA9YK?= =?us-ascii?Q?CNHcsKY0dI92y3LDvFTkbSthaTOVdFodtLGA/LtU4NQs158PLI+qetf4Odb6?= =?us-ascii?Q?fdnmP62/T/Z94+ksyUqab3wI46+T6FrYoQU9kmp+j7DQMfywwv5f41g6V3Oz?= =?us-ascii?Q?B8H+HMRqH8Dhby7p4Gj4OfN0W3WN4MbDVdPe4upLi7zgARRZ+y9Tkukmxivn?= =?us-ascii?Q?JY751ipMilDInFS3wH6HPx0m7OwkPYzxYFio2AHxkMuOseSR1WX2SJk6ECVO?= =?us-ascii?Q?Lg1IL2LNPJAzhbaRUDhqg3kYPJYYtexT3v+hVc9vkCl5UwIdTuZ5F/5u4CF3?= =?us-ascii?Q?kRDf51JVCsPW7Kqj50JrvigCIQICGA/uTNZPdzyCIB/fYmLeksxzyOGi19Mt?= =?us-ascii?Q?s67ndlfIqLpaZHEYW6/MZxC4oJA383E2YPnzRKUcOLnFAPlNTo0UchoEOdlL?= =?us-ascii?Q?Z9JcyGO/wfr7bd+wgCsKcM1+RWgRpL0j95dsRyPU4Ar/YZ3iO98rY6eUExPR?= =?us-ascii?Q?2UbYvhMmVQVWUXs0bHqakYTqaf++kOO1WLTzyzJOtxJjoM2tHYyV3YCpmJdJ?= =?us-ascii?Q?444fnDZzTEvvYrw8E5zRrxVhVGyCmqlFFmZn5+CtBGjhjeaS1ApTTIXHQnyl?= =?us-ascii?Q?hMe/DLzPxAy+jf4rDahPedt3n7m2+icK8JWvqSngyj09uNhloCVnTmfy+Gnq?= =?us-ascii?Q?wvau0sKWg7eOCY5sKTKfx4qxnDcyUeMoc2BxD8IYqvJVDqYxum6/cZcj5k5M?= =?us-ascii?Q?b99kKy91ApO4wPagakQvmAwSnYu6jJR3O1eSMkRLPaq/uNpO6UQP7GdtKRRo?= =?us-ascii?Q?UGk3CC0/5yK+AZKoZdD7wPHZ1SKR+AQirXervJBWeF1MYtMW5gbnA2wNB7mW?= =?us-ascii?Q?D/vKlFaYl26ElvdWEtdeKB7BVIQTKnvyhcvA7KSxc3ojKXG/r5jE1ncRdrTk?= =?us-ascii?Q?gdE1a/QYwENzJeOB9ySUCZ3/GmickwXo/InnSxmFnQfqid182dirvR8+tyWV?= =?us-ascii?Q?WINwDyZJTLdj7ke85VGrb8/BcGfnDuKLXvDuXyIswH0UigdvqpxsCXByTkDP?= =?us-ascii?Q?3hHv5Y3sY0r1UPGgRyLNcoZ1Ep2IAwtEts2nMKKRQ1+UCaWW/NIZooKAarIj?= =?us-ascii?Q?/8F9yLSr7xhL+0+5/NwT7+9B/tQMkZDHgk4OFABiqv8E1Y/+5V48BEWRPvb4?= =?us-ascii?Q?50bhwocN92zrUm64rU7slH1TVtUuj+wtASTDT5TmLPShbomG4A9r1FGdVSI4?= =?us-ascii?Q?U1Dna0/zTsdqCwqR/Ahh36HWXrvtMfcbhjb1wIJV000F5yWvUFbp02SibjKO?= =?us-ascii?Q?Lpiew/vqbw0dHuR02HJa5wxrba2z3MetisCAIeqYZTdjuvz4cfjiU0eWXDSI?= =?us-ascii?Q?oVkg1Vy2LaOdD+7rNZvPQSAhZLVMxZgucNLhD5b4YpCs/k2yA68KWxJMOxrr?= =?us-ascii?Q?NQcEDGKOyaQXBDbK6eaMYKi031jQEKpykC437eiZItgnu6ObT9Blq8WtkxGC?= =?us-ascii?Q?5tlsj4kDKHdOOD4fx2duepfrHMcxiR1PDNqaM/xBPKmqZvJxHsnAEagPlaF6?= =?us-ascii?Q?CisBsy3LrvuJBINUmGUzWs80qqxTffYx9Lna8gt96/FlpaSqsnGP0twhQG3n?= =?us-ascii?Q?llSsuuv1lcYSYdHWEvy/PFrKB6Kr28S9iSrmffGpDb8SEIXGRy8G2ak0C4vr?= =?us-ascii?Q?Se+KtA0ZvbReXyL//hkFX35GmjNjSsIAmk0H+kU3lzJ0Q/jBtotJ?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9cd1bbef-0323-4595-8a8b-08deff6c96eb X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 10:11:38.7770 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: l5A8WNOFNDfRVj30Wn8wrNmDuSuUPq1an9k9hZ9TeuoQxPkXYGflmAQA4gOERmdNpc8y4qI+vZv3heZV7XQGt8u5CdPAi1rE3YFKPzbfL2zrmMSuUBA/wgFSMmYPWqa3 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7971 Content-Type: text/plain; charset="utf-8" From: Zhipeng Wang probe() sets up the chained handlers without first masking the input interrupts. For a built-in driver this happened to be harmless because CHANMASK resets to all-masked, but once the driver can be unloaded and reloaded a child interrupt left unmasked at unload time survives in hardware. On the next probe() the parent interrupts are re-mapped and unmasked before the new domain is ready, so a still-asserted line immediately storms the parent with no handler to service it. Mask all interrupts in probe() before wiring up the chained handlers. CHANMASK uses inverted polarity (a set bit enables the interrupt), so masking means writing zero. This mirrors the sibling NXP chained mux irq-imx-intmux.c, which masks all sources at probe() time. Masking is only done in probe(), not in remove(): the next probe() quiesces the hardware before it re-maps and unmasks the parent interrupts, which is the only window in which a stale line could storm. Masking in remove() would also mean touching CHANMASK while the device may already be runtime-suspended with the clock gated. Signed-off-by: Zhipeng Wang Reviewed-by: Radu Rendec --- drivers/irqchip/irq-imx-irqsteer.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/irqchip/irq-imx-irqsteer.c b/drivers/irqchip/irq-imx-i= rqsteer.c index 071ab1ac1fe9..b63bf957ab88 100644 --- a/drivers/irqchip/irq-imx-irqsteer.c +++ b/drivers/irqchip/irq-imx-irqsteer.c @@ -239,6 +239,14 @@ static int imx_irqsteer_probe(struct platform_device *= pdev) if (irqsteer_has_chanctrl(data->devtype_data)) writel_relaxed(BIT(data->channel), data->regs + CHANCTRL); =20 + /* + * Mask all interrupts before wiring up the chained handlers. CHANMASK + * has inverted polarity (a set bit enables the interrupt), so writing + * zero masks the source. + */ + for (i =3D 0; i < data->reg_num; i++) + writel_relaxed(0, data->regs + CHANMASK(i, data->reg_num)); + struct irq_domain_info info =3D { .fwnode =3D dev_fwnode(&pdev->dev), .size =3D data->reg_num * 32, --=20 2.34.1 From nobody Mon Sep 28 13:18:32 2026 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011068.outbound.protection.outlook.com [52.101.70.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 250034749D6 for ; Fri, 21 Aug 2026 10:12:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307133; cv=fail; b=UvMrfvMRDWIAclJsRpjN8iQ7UcoyqaeYWmfDY+ylcvJPgBc+cROgbFH5qGxNI0Yrx7PB0O+tFN+OqF4kux2ROzcKKmqUhbauQjDqlhNNHkHxBnRcBz/8T0xGO6Ckd4RL7tq173KQZv+IsmeHYwHRjKExluNoXwifHlhUc2nfh+A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307133; c=relaxed/simple; bh=dcyfRRQ8/DUMzF5UmSQiadgjluPIEE4P2BWycw3IaeQ=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=hzQkyKczW2XVOnUk6+boyTI8eH7Pq9G2v6By0vXSoX9e9xQCun7f/8YVQ9onqDQvIPxlhK12bPYYncjZO85wtBFLepK+8yTavnD/aru2JjgaQosrfFRUtWfoC1Ip6g9Uhm25bdw7k1+tVqtSk4rJW5gniQVG1Z+D2TQcNvZIo74= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=MDMmbiYM; arc=fail smtp.client-ip=52.101.70.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="MDMmbiYM" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PcPsyqObW0WjnBmdAXt3GLZqw17gTsXyRdRyPAk2F/0YrU42tiIStkX0zDfl60FaK7ypQZAhPY0jhCD0XABf//WXbjv7XCVBTWnjQJxfSDLPkutpW3PHtgDHSVN0RHY8x+L4HNasAlsNOO0GthN3mOzC9YUc3KdPnD9TpEt7sr+llwJy5w/65Uh++INV09bVog81q3nrZb0YUEJMZKFRAgkNEN4c6tyVtXdvOUqVyYOSG9If5W+slXAUr0Xf9+AoPxVgdnaqh40BGwWvMwZ3CTMzqKeEb5e0giRg9ZJylQ2wePJumi9HY5RwlZe+VTgADFcQJ/yTQr5KEhDDRQtUng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wP+S2/VmOIG7of3K6Kt5HH37/xZne32cAWBUYWwbW6E=; b=zBzZ651NE/6M1mcZ15vPwOsLGDQ28ZUU9piya+jtSM8V71IJrKUIP0/uOCfvWFuEzsVe/C+GgVCEtskSTQDmoBeqo/tGVbCS/EHmH0KUKhJ+YWP91NdKlBzv2OpdvhQK5mRe/3v+ShxLmQnysuxBniPpNLyEzEcbNj7QR+otcK3dZWOcBL+6KP486JBjdLRoQrJW6ai2+nv4VT68EZ0X8zB3N6gmaI9y80seFGFQMp8zQEohgXuem8PVLPZJl6zcNu7z1mW5OQ9JyM/n725IkBBiEE19a/r5xbEN8hSr0T81XTxXb+2ZCrojKoQMc0bc0P9PY8/k8O7pubnNbfdKZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wP+S2/VmOIG7of3K6Kt5HH37/xZne32cAWBUYWwbW6E=; b=MDMmbiYMsQhCFaSQSfRoupzJP19SKx4koLNnQK7b4dIMLm+hvzI3Wh6B3ivfhh+vGQixHhkysq81NTEBj6ZYkiRmC1A7w7J6up2wy0QTLYNepDfGUYBh5BsRIfTP1vMkT94xaVXzPD+pYsurB+E2HnA2nuTDnqa0f6AH74hgg7oSe5dycc/HgPcatslRL8QmWEi6V+wtZkMe+uPlqXI7ASq2mdSMoBYErtEvzP1GQrhxZDEaDyKsznI7Bkd4bRlWdCat1yRFM66fMtcAUnNeeFKfskNde7TEFYX58V7bnvxS/kXRoisOpzruvH70o85VtyUMm0Pi0ozMQv0y2a8EXw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) by AM8PR04MB7971.eurprd04.prod.outlook.com (2603:10a6:20b:234::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 10:11:45 +0000 Received: from DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5]) by DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5%6]) with mapi id 15.21.0339.008; Fri, 21 Aug 2026 10:11:45 +0000 From: Zhipeng.wang_1@oss.nxp.com To: Thomas Gleixner , Marc Zyngier , Frank Li Cc: Radu Rendec , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jindong Yue , xuegang.liu@nxp.com, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 6/9] irqchip/imx-irqsteer: Let devres own the clock and runtime PM Date: Fri, 21 Aug 2026 19:10:36 +0900 Message-Id: <20260821101039.4037925-7-Zhipeng.wang_1@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> References: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0015.apcprd02.prod.outlook.com (2603:1096:4:1f7::18) To DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB8PR04MB6858:EE_|AM8PR04MB7971:EE_ X-MS-Office365-Filtering-Correlation-Id: d4edfdd6-d540-445b-4ec5-08deff6c9a8e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|19092799006|23010399003|18002099003|22082099003|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: jirTgnEYjXYP5eiy9t9OsFQ5e/l/FzB1yHLJmy1pn7c43tw165qHMGtdjACL6xJD4nEqxiPSfna5wnhlIA+aemcLTEJeBgOug9xYXbyx4ew96hCXxdFbm6NbQqxsQueNit5yuo5NOlham24pc+xq86UOs2NFwup37yU7lj1bkidfETVocgoTibjAEbYKiZLiPjPFLoS+zfABIhEL4oGgFAHNzqRbXsYcmtms7E6+HdWvSLFIikr7M0WYcWvMqxd4LMsfawCQmwa+RZupSlESMU2WFzv0aXpdaGH+fj7UZWyBPBFRKex/bpCaKRa9GihjzJfJ39b020rm6Njxe3ASggVBU15rOZCY6KzLg+4jAfPz5lWA6W7ErZ35VppXeMtkS3bfDBBSLqkGsUbxFI7Fk4mTjKOxe+4rpmjM55RGJRVuZJuBmvqS/QwH7zkS0agWwidsUuQ3jedhf+TiEPD068DHYTC57P2etmCpcrH76uqNjN4XFFlgKHH1YdBh4eSITBzGiC2OG3eCqcyiVulXD+CKoIIGQk1UkZcCgDJY8qv95S7Igw0ii894xL8jdGXogG6tEiFEkVVkldsJ7ggmi/vA32TI9X07WqNE1QpGPpRxPyhejVvKNeiPPpW6w74No5zvjG2HElDSNQbBxUwL6U6sY22fv3cIbBzvgYerCqI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(19092799006)(23010399003)(18002099003)(22082099003)(56012099006)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?17CFUC3XypC5wd+nNZLAtQJYnXreXB0ObJEF9+Ejrcj+ZhO8aweDKsBjRZk2?= =?us-ascii?Q?IRMr+YEPWGKuYw0PDmKECTGi2BmcdQNCnuPXu53gS23hL3W4eJ8/1QfEaDIx?= =?us-ascii?Q?UzaJFk57WPsFq6ykXQlGkhMSpwY2mQbrhdNat35/e7lALLuFRBsnHi+0eDq0?= =?us-ascii?Q?VnQonACb+df8mje+jBsyHP4IOo1ZO2tB51TG3Blg21WTSPuRHRh3gNV2ZBpw?= =?us-ascii?Q?OQEYOyy7Ubo7HAmfOBb1R9hxwiODgIGJKzjhUOK7sEoJHGCFrhEUVrd//P05?= =?us-ascii?Q?doxjMW7Y4/J93rCfcf8qbinnpnUkmX8+PJDBijzAIAbzTfw6R7nNLz5PPuhL?= =?us-ascii?Q?zrae3MHYLBJ0wDIK3X2ovF88orqTlfpcyqlyabuVH09bmJueF39n1oOx1pLC?= =?us-ascii?Q?+A0o03v5j32/d5N8te80hfDLacT7EF05g1njuLXm3yJ9bIlwdYgUVwryINkf?= =?us-ascii?Q?/OTE/arR1RiCZNGM2ZmYKKAMRPxrAJCBH+hhUbwZyUTX8cJMFynfqb1Pes2j?= =?us-ascii?Q?kvtAwXa/KyYQ+TdNLFu86kw9MQ8jlFevhSVmU7budUGiCUZvA1TLM32zjY2y?= =?us-ascii?Q?od/LU+HzcsoHUjljewQxqC+C9WBJ53ZCMdZSk81lhi4/fiW4ZEah5ua/hOEu?= =?us-ascii?Q?Vnr/VPR7b3zTF6Nkoc6e8E/vsyovYjsNjkUFVZvSnmloyYqmq7cZkbN4xDf+?= =?us-ascii?Q?btXy/s+r05xrpSHq7zm+iHZT1HjsJzbGDGxRqbwSxBzncPI4AwRu5RsRzT66?= =?us-ascii?Q?eTUdgZ/wv5d6U6MSrKoxsAfYFG7i//Loi/YFaxJY+8cZQ+W+e1kYjNv4ij+B?= =?us-ascii?Q?M9ueUQ7B+e9IWp0nmJYQblFb3wDnwz23gFpXjhlAh40j2/fWAiel+qjivqJ0?= =?us-ascii?Q?MidPrUKW+ckQXc7YWdv8tq572kTDVS12dANnIr1wh9uZhVLiSMoD02hWKgqf?= =?us-ascii?Q?Tmdf0rOt4jOgFwYgbLGGqKGV2qRSJgaKDHuFu+ghNvhb1zXhj8Bo4PGBH26P?= =?us-ascii?Q?UY7mNvpNims22aMDAqn9aYAZP2RiDuUDtiOen5cuPG4+kzcaLP5qfdafIGha?= =?us-ascii?Q?pOsRMuXx/sZw2PtZPQiVsNOcwSUZGSD3cLfVOPS51EArAJVJOzVbJk2prue8?= =?us-ascii?Q?zqgL0J1xFcTJAKUEHpr6aextYzOdzvgDDIbyiuZR2AyMfhECpLFukZZT35cs?= =?us-ascii?Q?XH/28NdIP1tutjioNFkvAOrTGJkExWm66aYlFlrWlfUfDPBjBke1Nw3y1XQU?= =?us-ascii?Q?S5xkEvl8uNvumji3kuzO8eb8yownVvzvmlXQhscK31afxXBSMdYeQW/Xh/5h?= =?us-ascii?Q?3aNeOvV/OrjyA5/lLteXcF8V3Ji6aQ6RvDL8+UVhb8IyyvE8423i22BK3Gpz?= =?us-ascii?Q?Vf/5CIU546Cb1gG7CqV+BHXK6swLzdeTM+klGUx91v4bkjg8e9mhzt9NyWAD?= =?us-ascii?Q?5fCWXhh9cYq8IaiyPfp8ELmsYrCmqL68odLOirZjyeHAZ1Q9KV3Vf3/2gYW0?= =?us-ascii?Q?Xekkhl1JFMoZAmkuPH/96PPkSw0SroVuFmoFZBZ51RdHKvMB4iPyMWftZZQ8?= =?us-ascii?Q?08tu4bB8VPshd4sPGaJU2Ywjbzebd4XufLg69CwfnWGuL65AjtKI3cfgObSd?= =?us-ascii?Q?KwfOxA1td/6AHyj2OI/7DgFtGY67LDf2Bb66RyDU2waYuTV8dDWRJTb0njpC?= =?us-ascii?Q?gIYPNHk0/BQQKTTSEzQfvJATdvk6/AGyDBuAWtxJDE4MkSlL/vQlUQnLH3Cu?= =?us-ascii?Q?Aa7VsAOqYgJlcQIeYOszm2CaCinPrYA1l+MVmoqiZekaxity/p2o?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d4edfdd6-d540-445b-4ec5-08deff6c9a8e X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 10:11:45.0633 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7C04S2DpAqkM3kdrgnBN1ixD9GB4JejT7I/4w/JVzh9R9pJ+jn3wwv+EzkzHfZ1EmLUlAt5UJ1W9IVVODE8gbbJmHXnxDcePuIjbvXZVWa+vRSi5/FmP1dbdHOH0jvL8 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7971 Content-Type: text/plain; charset="utf-8" From: Zhipeng Wang In preparation for making the driver unbindable/reloadable, let the driver core own the clock and runtime PM lifetime so that the probe() error path and remove() do not have to hand-balance them: - acquire the clock with devm_clk_get_enabled() instead of a bare devm_clk_get() followed by a manual clk_prepare_enable(), so it is prepared/enabled for the device lifetime and released on unbind; - keep only clk_enable()/clk_disable() in the runtime PM callbacks, since prepare/unprepare is now handled once by devres; - enable runtime PM with devm_pm_runtime_set_active_enabled(), which marks the device active (matching the enabled clock) and disables runtime PM on unbind. The device may be runtime-suspended at unbind time (autosuspend), in which case the runtime suspend callback has already dropped the clock enable count. The devres clk_disable_unprepare() that runs after remove() would then underflow the enable count. Resume the device in remove() so the clock is enabled when devres tears it down, keeping the count balanced. With the clock and runtime PM owned by devres, remove() and the probe() error path only have to dispose of the parent IRQ mappings. Suggested-by: Fabio Estevam Signed-off-by: Zhipeng Wang --- drivers/irqchip/irq-imx-irqsteer.c | 37 +++++++++++++++++++----------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/drivers/irqchip/irq-imx-irqsteer.c b/drivers/irqchip/irq-imx-i= rqsteer.c index b63bf957ab88..c2f58787f9a8 100644 --- a/drivers/irqchip/irq-imx-irqsteer.c +++ b/drivers/irqchip/irq-imx-irqsteer.c @@ -194,7 +194,7 @@ static int imx_irqsteer_probe(struct platform_device *p= dev) return PTR_ERR(data->regs); } =20 - data->ipg_clk =3D devm_clk_get(&pdev->dev, "ipg"); + data->ipg_clk =3D devm_clk_get_enabled(&pdev->dev, "ipg"); if (IS_ERR(data->ipg_clk)) return dev_err_probe(&pdev->dev, PTR_ERR(data->ipg_clk), "failed to get ipg clk\n"); @@ -229,12 +229,6 @@ static int imx_irqsteer_probe(struct platform_device *= pdev) return -ENOMEM; } =20 - ret =3D clk_prepare_enable(data->ipg_clk); - if (ret) { - dev_err(&pdev->dev, "failed to enable ipg clk: %d\n", ret); - return ret; - } - /* steer all IRQs into configured channel */ if (irqsteer_has_chanctrl(data->devtype_data)) writel_relaxed(BIT(data->channel), data->regs + CHANCTRL); @@ -275,12 +269,21 @@ static int imx_irqsteer_probe(struct platform_device = *pdev) =20 platform_set_drvdata(pdev, data); =20 - pm_runtime_set_active(&pdev->dev); - pm_runtime_enable(&pdev->dev); + ret =3D devm_pm_runtime_set_active_enabled(&pdev->dev); + if (ret) + goto err_irq; =20 return 0; + +err_irq: + for (i =3D 0; i < data->irq_count; i++) { + if (!data->irq[i]) + break; + + irq_set_chained_handler_and_data(data->irq[i], NULL, NULL); + irq_dispose_mapping(data->irq[i]); + } out: - clk_disable_unprepare(data->ipg_clk); return ret; } =20 @@ -289,6 +292,14 @@ static void imx_irqsteer_remove(struct platform_device= *pdev) struct irqsteer_data *irqsteer_data =3D platform_get_drvdata(pdev); int i; =20 + /* + * The device may be runtime-suspended here, in which case the + * runtime suspend callback has already dropped the clock enable + * count. Resume it so the devres clk_disable_unprepare(), which + * runs after remove(), finds the clock enabled and stays balanced. + */ + pm_runtime_resume_and_get(&pdev->dev); + for (i =3D 0; i < irqsteer_data->irq_count; i++) { if (!irqsteer_data->irq[i]) break; @@ -297,8 +308,6 @@ static void imx_irqsteer_remove(struct platform_device = *pdev) NULL, NULL); irq_dispose_mapping(irqsteer_data->irq[i]); } - - clk_disable_unprepare(irqsteer_data->ipg_clk); } =20 #ifdef CONFIG_PM @@ -328,7 +337,7 @@ static int imx_irqsteer_suspend(struct device *dev) struct irqsteer_data *irqsteer_data =3D dev_get_drvdata(dev); =20 imx_irqsteer_save_regs(irqsteer_data); - clk_disable_unprepare(irqsteer_data->ipg_clk); + clk_disable(irqsteer_data->ipg_clk); =20 return 0; } @@ -338,7 +347,7 @@ static int imx_irqsteer_resume(struct device *dev) struct irqsteer_data *irqsteer_data =3D dev_get_drvdata(dev); int ret; =20 - ret =3D clk_prepare_enable(irqsteer_data->ipg_clk); + ret =3D clk_enable(irqsteer_data->ipg_clk); if (ret) { dev_err(dev, "failed to enable ipg clk: %d\n", ret); return ret; --=20 2.34.1 From nobody Mon Sep 28 13:18:32 2026 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011068.outbound.protection.outlook.com [52.101.70.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ACB37474255 for ; Fri, 21 Aug 2026 10:12:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307144; cv=fail; b=biem6LJhdzv4mKY6oxMHAhlF+S6i5rS32mOC/wyK9OoI3g2HpGKzFVAaa7tqxTfGYHYb3ggwMy7Oeo9yPm4Z6IiL/G/73BiUCFfjmVdpFoRi86wMUYUELzsDijeR5+B24eZS3T2158/UzS2MVNKAZaKd/mUBhCWH91r6EQA84nE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307144; c=relaxed/simple; bh=uO4IDnBet/zprK4cnNQMFuDR0aS+vp81QDY6XkRPlbE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=u1jSnV5N11wrxA+izdsKNvoDKyUY0qz+p45MEVARw4jv5STSg4htCZUXUcinC4Heym9aD3TE5qzzfkdOO5vAqCqF2iQpHgOnnIMQCGJ0EjR/XyN59MGZOV4teb5JHQ1rvEwutmVMpw/YbfzLjORN55t2d1kKxfVTQgyL8ohkZxc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=jQyCHjU1; arc=fail smtp.client-ip=52.101.70.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="jQyCHjU1" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=j72tKn+6mGgtv4AWE16lOlz69dX31m/wQt4simFh/ONU7LK59opFncJo/rugryFDgiG+J5Y5jeVaDHPO6KpCgZ7/uUGvB1STeN01FzRQE/gwCOHUf2fpyju+SjAdyPM28MBlEaar5/sQYAhmj8TwqkwwJbOr8TJoDj0a+7sDPSiMiOFIxOmivwvloOsqhLqDeRLfBzv3z48Q99fLFw4QJFEs2ADbs0lJmHyduPAOn3Ay7q4GfqMzjDCuewDoiGaomGend1bzcXLenAqOa0fissogf4U1gLfi2tWGJLnKWc1h9lYbGxYCGQcY0rUf6tHacs8m2uX24P7Ndg64eXa+3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=p/O7+fpY2TJCqu6tyXgKbZuI2Wj/vyfkMQHjHKcLOGs=; b=H5wQDQD+sZtH71rshakoFg9QyfWSPdFDs7sigOkB7lBa2KXy2BWbdNWCaUQMvcIQ3Z8Hfhk1lpELbBb6f99KINOViqSoO4k0KwW521K3EILdXvwiTz2Zvy256n5RsefmTtQaC5jHH1B1zNY2kztbSkhUM35HPOj94Qt1smKXdSO8xuzAr7JE00Kc5ChHwsr/dFZZAViaRTO/ndDbockGpfURgkmN6Gq4itXELhOBu0zEsBT3XVc65e+lpZUZI6itU3XWCOlJNQ59z44GNbXrg0JViZVxJ6GO4ehBqbaQSq5CzUelngRT4J5OgsOvZAfVUln/quYPE54sz+QLxrD1UQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=p/O7+fpY2TJCqu6tyXgKbZuI2Wj/vyfkMQHjHKcLOGs=; b=jQyCHjU1XYxcJ9T9k2ov0g3PJ1yK1NLVNpfne14rwdR6kN+vbUIs7qRexMlOWQG7X7Ll8yILa9oVkDcLSbpXVAiCDGBuCNj78LAS8+JPWQFVtPnbOD0Eqxj8PvcdAhxzdTG5uPYXDh+PMnVIa3iqjjof6rJSumoEdYD9vWNrW+qNvUjtsOjLevjy8hAw0sr+uWWX/Dna15kEfzFcbXx155fEiWhgSq5cXVh9dAiQcrmx/2GcvOb3gQ4PmTDKLH9HilTQSav/kZ2AIAmksBz44UIq1mga8sFzVtYEXqPBbDdr0yhuA7tuA1PytQl5QOR13D1ZyG4SeurEO34iMUv4AA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) by AM8PR04MB7971.eurprd04.prod.outlook.com (2603:10a6:20b:234::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 10:11:52 +0000 Received: from DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5]) by DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5%6]) with mapi id 15.21.0339.008; Fri, 21 Aug 2026 10:11:52 +0000 From: Zhipeng.wang_1@oss.nxp.com To: Thomas Gleixner , Marc Zyngier , Frank Li Cc: Radu Rendec , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jindong Yue , xuegang.liu@nxp.com, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 7/9] irqchip/imx-irqsteer: Allow building as module Date: Fri, 21 Aug 2026 19:10:37 +0900 Message-Id: <20260821101039.4037925-8-Zhipeng.wang_1@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> References: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0010.apcprd02.prod.outlook.com (2603:1096:4:1f7::17) To DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB8PR04MB6858:EE_|AM8PR04MB7971:EE_ X-MS-Office365-Filtering-Correlation-Id: 90b4b9b6-f950-482e-2c74-08deff6c9eb3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|19092799006|23010399003|18002099003|22082099003|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: +I8dGOsswNbrNiUqY3WtMFXFPCkm7/BZ0thk+UAjlr+0CjOFhtQzM4wd5xrJ/Wb2JQjkPxeIGwPsDQLhjvpksVWKKET2Wo7b/rMBiy1ifdblPd7fCXEs0jCe23RuhZ5lBvsqbZMEfwoWum1TEWbAgX7PWGoPUX6T3qe9AZlzlbGb5P/p1y8kevMQLi78NrBC2ZJAUhH2VX24+4a4iuJ+GUDXtLA1LvdoRMLCyyorItRg/Fw+km0i0ymqVdx862OcH+80rALxrPNEA+eM3pKRSi5EqnlexMhGFx7Eqagx/Ov54ZIPku3s4nM588GKPYqDr5HzBXDcnyHyqCE9ysldsovWHd3UTXMWXJlvi3rfvhGfkMeAzZnlrfRonFkWFfTkDYrVoNfVc9fpZRiCVz2Vmy99qA2ArKjIgVZhCBl+1naVagxrY5Mg+QtrbH8ccIa/xuWN5hlHDGGCH7w1t2HtAdAuQ9DbOCOfViDCgqLrNQgKvvZ/eUcpQeA8YzHtZ6IUp9zAolSduIjDrQ/nJaIFWfQYJqoP9BUESqt+FeReszTjqhxUKptLL0cAZXlEB9efrMsCkaqEeWJupc30cfikOz3vANX8GjMK10DzWr/jEcPRBmpt2hTAf6Qpyi9ZE0Ufqg8ejaF6obpxCEbrsVvRzUs3gxy8hLX+XHnWicEaXPs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(19092799006)(23010399003)(18002099003)(22082099003)(56012099006)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?RKHLl8UDv87On6vnsZ7UJPD47Rphq8Y8yTkB22py/VjshEcV4k5H/LTrskJU?= =?us-ascii?Q?5YUoKLs2On+1uaNJi2vz+ity241xmdbwxji5lRIW2pj0MTHejE67Cc5gFEac?= =?us-ascii?Q?wi98FORJ/HPXK/5q7jovd0CLCjmjfAD/6vGRA6Po0nFmv2a4e2dTe4paesnI?= =?us-ascii?Q?S5IOoqzVEjDKuGO5Hl/gMbW1Vrei4VXDwETNCPxIiJq4aFxwmrVfri0FGPjx?= =?us-ascii?Q?oTFPjEILueJpwfPV9AdC7S317b9UTe6YvNf6u9pQDrZf2Gi3yNBAS/5BnAT/?= =?us-ascii?Q?loA5GSm+V+oNY9AEwf0jyjEGQsDbL+LrhBzhwVY5NBXUkNXNN9Z0dnKsnu0g?= =?us-ascii?Q?5nqRRUHYaBGaEFC4TICReQETQc5SBVjKBt3Zrts3LgfFkqTs0AnQXwJzNFgN?= =?us-ascii?Q?oZQI1K5t6xWRZJFPtO0yA3BYjkH+wDVEIdDppCYNlnwS9fMgmlF+AAY9P5lz?= =?us-ascii?Q?pSmwNbt/q9CmPQOrgPLV0EtFVTnYpW961G6zrJkreJYyQtgkU+5PGSxzoFZ1?= =?us-ascii?Q?vacR2ffTQSMHN5m4mSreotvlDkdui0r8JCuH5ty0GBGTjqlbV25cVmW+yFqO?= =?us-ascii?Q?Nei2ZrWu/w8fkVm0Cupe6Ve23qmPBm5I2xw6SbAprGHBOiM8Egaft11lyWDz?= =?us-ascii?Q?YEeL7nR5yMTDCz9Didr0WvZQH8LNvjt5qCMgERNvTjIpOTnhRB8v0H3ARPMF?= =?us-ascii?Q?XmW7aPqqgNw1xo2IDUptLTUKu35X8G4eUQ+goKQd2YpJbP8q+Z8sV7Hx9E8e?= =?us-ascii?Q?cajD70p4hriuauYUFMttPaATkv+RWUMJdBu9RstqsQybDeBMGfsZJkxhreMU?= =?us-ascii?Q?ApKWQ0Zo8pvq9uHe4P8RtPj9ykbFr/rlKZM39skTIVhqZaOomKi+WTESx8mN?= =?us-ascii?Q?dMmELoSKRcU6tJl5TUrgmHu6pp1y2POHM8b3F+3c0/JRxVP+8JxEy9LJgcPM?= =?us-ascii?Q?LlVoB3i1qq46GQzh1Jxbrw39l3TWo1FxAT2XN316LN1vjI9O8X+5S/h5EPi9?= =?us-ascii?Q?FpNkJ8Qpr8RdrN5BJt0DQnJEm9Di/c++2uGniR7CG5den8WPxdSg/y5fOY/2?= =?us-ascii?Q?1r9WBpNz30nkFa6TsH8GN9IPy91UBHhEiLq63Tq51oXrO3wRKOFcf5YD5e72?= =?us-ascii?Q?7h++ex8MGXTlf6rp7CcvdX/7/Lo6z3EKe3AnfDlIv4l4kR98Tj+DMCfcugfw?= =?us-ascii?Q?4LUTKxTZgeGWniq1hBA6ytnOxilnUTUB36dyHBpb+Hm8qynSOQ5FMkJFB6QZ?= =?us-ascii?Q?1Sjw4VJwkFiB3F30EQ/xjfhsE0zCFyRsG2kmKWuynxl3ymkHgogSYJkR5Wfe?= =?us-ascii?Q?wG76C1eMr/EZ6tbRPBSQNbKC22TlJBLqwXdoROz8nWBHWQfNfCsAmO1Lig9S?= =?us-ascii?Q?dWjlIBoOIE4GUuiJRDrP3B/hZZmHFKTrfbyruRSAfk7ty1veypGUASChgLLw?= =?us-ascii?Q?yI8vsIbd7WPNsPQAMl8Y51a39BiKXYxrSTaTVSlCjM9WhPu7tWK35N4Wcv3h?= =?us-ascii?Q?DyAnc4hkQF+ldDe8Cl8sjtkJhQHmKygZ6fIp0tFwLe2kwvyX2flZ6nci+uF9?= =?us-ascii?Q?+DOHZn9TtTD8uKhm24SmXAl7cubyEDgkUOwlkf70Ilh9Mpmzaqu4iKpn45he?= =?us-ascii?Q?cCGoglPd5bMtKeAUDjmHQ0rIsoETi+LFbkvKYAXirvSd92WckTHZrMDOhJMD?= =?us-ascii?Q?e/hYl0lgj4rnUlVnsIZaUiPw9tyOluTDDdQiNxAgzl4rftywiteIFF2saJk4?= =?us-ascii?Q?twAgnVcrvmYt0OGEs7RB6IX3HZcrMpCKhrEwFXQ4x9MLVuMB+58T?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 90b4b9b6-f950-482e-2c74-08deff6c9eb3 X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 10:11:51.9839 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: S53RV1YmkBJiWYCMXpUbwoMjKRa/YSdUZLMuYCJqMqaPm9gRrLp8DFTYZhAkj/ybLUZDcFHJlPqqFSfGD/Ec265Fg7BScqhzk1XvBY3IaNvy1G4oI8NBkribsu3kxqip X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7971 Content-Type: text/plain; charset="utf-8" From: Jindong Yue Make the driver buildable as a module by turning the Kconfig symbol into a tristate and using module_platform_driver() instead of builtin_platform_driver(), and add the MODULE_DEVICE_TABLE() and module metadata needed for autoloading. The clock, runtime PM and IRQ domain are already owned by devres, so no further teardown is needed to support unbind and reload. Signed-off-by: Jindong Yue Signed-off-by: Zhipeng Wang Reviewed-by: Radu Rendec --- drivers/irqchip/Kconfig | 2 +- drivers/irqchip/irq-imx-irqsteer.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig index 20b77fbc51ee..105108d2e6ff 100644 --- a/drivers/irqchip/Kconfig +++ b/drivers/irqchip/Kconfig @@ -555,7 +555,7 @@ config CSKY_APB_INTC the controller's register. =20 config IMX_IRQSTEER - bool "i.MX IRQSTEER support" + tristate "i.MX IRQSTEER support" depends on ARCH_MXC || ARCH_S32 || COMPILE_TEST default y if ARCH_MXC || ARCH_S32 select IRQ_DOMAIN diff --git a/drivers/irqchip/irq-imx-irqsteer.c b/drivers/irqchip/irq-imx-i= rqsteer.c index c2f58787f9a8..dad09e095ed1 100644 --- a/drivers/irqchip/irq-imx-irqsteer.c +++ b/drivers/irqchip/irq-imx-irqsteer.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -370,6 +371,7 @@ static const struct of_device_id imx_irqsteer_dt_ids[] = =3D { { .compatible =3D "nxp,s32n79-irqsteer", .data =3D &s32n79_data }, {}, }; +MODULE_DEVICE_TABLE(of, imx_irqsteer_dt_ids); =20 static struct platform_driver imx_irqsteer_driver =3D { .driver =3D { @@ -380,4 +382,7 @@ static struct platform_driver imx_irqsteer_driver =3D { .probe =3D imx_irqsteer_probe, .remove =3D imx_irqsteer_remove, }; -builtin_platform_driver(imx_irqsteer_driver); +module_platform_driver(imx_irqsteer_driver); + +MODULE_DESCRIPTION("i.MX IRQSTEER interrupt multiplexer/remapper driver"); +MODULE_LICENSE("GPL"); --=20 2.34.1 From nobody Mon Sep 28 13:18:32 2026 Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11011068.outbound.protection.outlook.com [52.101.70.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E423F2E2286 for ; Fri, 21 Aug 2026 10:12:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.70.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307150; cv=fail; b=uzHPwABD4AHZ7Pvt9G1Y2q9cqCRigMWx1PYD8N/Vj77jwVWURAxMGIkRoP9YLGpUvwFo61EE7H7quX5ME6zSX8zl5N6KfYKWhH7ph2YuYj/ni5CB3Oehbx0Y9WZRHOhlm2Fv2erFfKTbzv+UYzmUFFi6Ni9C5ekBwvZFvvGsILQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307150; c=relaxed/simple; bh=UTqvS6QIWsqAcHGC8osbHFsLhRCrfaX+7gnkivybp0A=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=tSffIJvEK81qbd+Kq7YY0CRmiDaeobwP+RGd8xUP82ApYTXa9p9yu5kEn8bqubSqvK57P7Qw+a7A8xLRnahrrj5zoaupC++L4fnrCCLkwnqdSfDjHSyCtSSn3mmvfq6h6EwmkqI7URx6QFpRCpZGBQpRO6ZNZUFIUNXzgKF6Peo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=vTcNhe9f; arc=fail smtp.client-ip=52.101.70.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="vTcNhe9f" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EXhO1f5CM5lECK5iAQvKAjze0oYnTJ54nYQw1gq3aWP2A/ynMyxWm+xPzaOWX6MvkcEZVtWAIBVbC8QxmAFCDPAIQRR4bHmEYXCLRFaHOF3LDX2B+ZSXNyWItw9YokJ3UpofZF/jHQiy9xKESGAQqOwVPCFV6WKQfwUHhXO9kxmx2c6k3mH6e3+UU+QngbQ6CUOSEoCWa2W/FM504G9DQUtPHHDQK/1XFT6Ortyqh+1dbsdVZi2n+zX6VaVFt6zegM2/Y7lYcQKZo/0N/vjhLTTpJkz75sPn3HeAJclXbm5stLLRVTBTi9/LTGeWJYlhSl8kQuwQX43qP90H2XlCNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HY4zLrJDYEWAnzylnIDGmuMGGMa03zInz6lhsAvzXZM=; b=ninPKyu130H80PP0KLgUITbylQ+rCcyDpBHwTuinxQlxuCkkYn1XWdBgdd00EYQlQXtSnkB3591AXVkTfuFNpZ4LVEMGJYpgh6vVXqBljBrRHRO1JFgTuWlmqgHf2DCHHoJo8otIlRIhn3HajU7knNi6ht5YTx7gOj0CBs7iZdGeiLiEF0mrwmBQ7Q6fbhXg+9P7a/Hd8EAXl6g87VxNcK2fNZ8NuuTszTGwUggn3DpbI0ARfbsHaxJjHFsizLL6pSSzOs/h0WLCX6ZgvGpa/zSQgyy+S16HzInXanTrdSEGLAJbg44Vp4fUg4RyTXU/lywZKgulJ8CaVKtMZykfQw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HY4zLrJDYEWAnzylnIDGmuMGGMa03zInz6lhsAvzXZM=; b=vTcNhe9f1V5MIzK4K2OqgtmB2VlfTf2lhtItr40SFEU5mHwk4jGTTBR5gEdemEd9J2hWlFGikNwwUS6PAA5pRD+mcEv6AB/jAH7lx2qxC2zc1jMDTpwTiDNyKV0hHacgeTSa/g4/cFxm8xq9ceZmkOV16my6W1V6EdYTyR0LwafJv4EUlojbnC0uYeNfwPJLZTAha5UD1ioOtpt1d9JpTnOBqBafNkcKmGP6fwBZs17Z9Crdqq6qzLBIfJX1NcVb2ge44bgPAkj3SSc4UMBPUeov63J996mea5QARSLoWA9jSNCoagcmt96YStr8YsuY9qicDJCcobuomb3N2Y5vmA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) by AM8PR04MB7971.eurprd04.prod.outlook.com (2603:10a6:20b:234::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 10:12:13 +0000 Received: from DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5]) by DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5%6]) with mapi id 15.21.0339.008; Fri, 21 Aug 2026 10:12:13 +0000 From: Zhipeng.wang_1@oss.nxp.com To: Thomas Gleixner , Marc Zyngier , Frank Li Cc: Radu Rendec , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jindong Yue , xuegang.liu@nxp.com, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 8/9] genirq/irqdomain: Add devm_irq_domain_create_linear() Date: Fri, 21 Aug 2026 19:10:38 +0900 Message-Id: <20260821101039.4037925-9-Zhipeng.wang_1@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> References: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR01CA0022.apcprd01.prod.exchangelabs.com (2603:1096:4:192::14) To DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB8PR04MB6858:EE_|AM8PR04MB7971:EE_ X-MS-Office365-Filtering-Correlation-Id: 207ad87f-3e08-49ca-1378-08deff6caba3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|19092799006|23010399003|18002099003|22082099003|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: o/gus9fnIasSuuHiCj2qYsV4IOjMFL92G0KXJ4EGV4QCzUcCiriK65lyZ33MxJ1D79D6OdpvL0br7bsLjSSZVPrk5VKpLjGD9Plg7xOUxU32nuVTKgnGbCSDShL5nt5AXzFF4cKPtYzc1XkMjLqTvMwDZP5vrkgCqu9FTOw7UXYT3lZahOUWAyB/YtQJkmkrfWFEe+BS9IW+hKxCpV2ezUSXv0sBilPNgH5E/al3kzu97J1kDp1gFdUpol8cplhHGIbE/w2QoXJMjfjcK7iLzOJHMG0Hz2lGVw4XtEqVKLDm6a71tsfIg/aq6eQqLKeciC/8BzW4nDvfpytbebEz5R2dVlJr3Cf+0kvL5GSBYxL6E4X0QrprMTvUHruxKDHcOKbrwuvp5pYd6WrtsKJD0IWfZfxzbqF3sxFts0Rl2TzfzcGe+aVDWU3NpaPK6kx5x+pH/brAxhZty60dQDtRZcGmk//OaxVco6W/TL+JXjkMNNGZ9WCLcsuBy0pPKmU5pVlz/2oD43ciJRDyZCsIy/5O2tZBPtSkMGg6wMLd0Wtgji28lhn3sHjuNs8WSgFXz4mqVFuVzlmJtoisuvt4q9BpYnRyIE6q5oIheBZh6v0EFGeawnlnvT31ZVaLnjI/H5Xki5ViPtjvFfHbZQdJIDawjKBIW5d/7nGHKspW2qs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(19092799006)(23010399003)(18002099003)(22082099003)(56012099006)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?BT6lhW5HKswUkYB4yCogqxrN+eUvzR/SB6HqB+EtFPFbX3sAAGnqvrr/TwZq?= =?us-ascii?Q?0ruQd2zAc4w2mCgIOTsjkLE5DBu6KxZOoDo6GQxzOK2IIc0U21gVrm75h35Q?= =?us-ascii?Q?5Tv+600zFjA/0OOYMKXiWvYDIxb6wZweU5puOTvjm1MIdVyrLRPQ/EEWpwZQ?= =?us-ascii?Q?qxcHGCxTRYebIs27kNNsd8+WoB7qkVs5eySAg/llaBCxiafNhtwfcXYf8t/E?= =?us-ascii?Q?gudrhEHoP0FpBkLMkoq8w+Ntvi429iWvOoKn0dTTOC+HPe9VwAe9WW58r7KP?= =?us-ascii?Q?zFIzyQmAUzO2BZ9oS6g3ag5g0Zx3IILMULWVpzyLjqTjTsg3rRYCjLOqeAQw?= =?us-ascii?Q?kxJ6S4ZC+8X78Kq0REjIVsvPQKqNxgO2GUT4AGO2GJBGOSJvCVOhV/IQQkRR?= =?us-ascii?Q?rh3DwaENeHmLMfc1USZq2s9RaXmD1pYJILeMUq/WL4o7YqZIk1jMeVOfhpKf?= =?us-ascii?Q?53xvNq83htXqShPHccnlL+0C7eY6qpuWscGrfyqgn77xojspOduQXzs3/QoQ?= =?us-ascii?Q?CqtZXSCLQ9E+Aa3CqU9/GdP26hPrDpoX4uXd1WMXgX9L+VQMWvdTn/KfxtaM?= =?us-ascii?Q?IOyZ7Y4jF6fWPHFYmj/ChJlonJJ2ixBGXtIkoQwe8ktzfmAg0p9P15j3vhUE?= =?us-ascii?Q?sd14Ld5Nfn8KLCwAdRqYWQTCgdr1xqRRqFU5ayd+oj5WOq3aLW5uCX1qGZtF?= =?us-ascii?Q?0aqxcGXg13ItrsVgK5qjRWjfGlnF59WJ1MEAdZAybPBg5mTT1orEtx/cbbfh?= =?us-ascii?Q?vi8wpauvHhJ/r2HdYTM42GlKut1olzhHaR3MUqd5UpCzoCpJBJ3BKO+iTiZw?= =?us-ascii?Q?eKsEe5An/GN97T1gu0gn3GmzGMBTRZmTZ1XI2uvYZDsyD1dq+uXjU0adzAdz?= =?us-ascii?Q?QcD/iBOAKOn4eLd7LIEjbBwBPyRfxc/KzEa6tbtZW7kKll36rxzQnPfN3uoU?= =?us-ascii?Q?wnqgd2bhOl0mfJXKOjzprgEneey0oC/vlpKO1u5YaZjAQt+5/S5EKdA19sVN?= =?us-ascii?Q?sVnP0qzGNoNQFg3Kj3ZI29jp79PCAFbV/NYDcsUqDQOeIf/Ids99emx276Tx?= =?us-ascii?Q?5abo6WwJA8UEfq6b2J/Ps764JwOnbPmH42Kv9CPGlEXyO76V8Jllj//3kufm?= =?us-ascii?Q?vuQOb8Luu77lNgw9RilTxp+eH8eLjZyU39ZlQcrjeaTITjrABRsQG6iNbjGx?= =?us-ascii?Q?gEOvBwGE0SbVwxzWOWsH9XeLUKoAyfTl8CS5UOxdk0xBuEKWIc29KoCXy579?= =?us-ascii?Q?Z/a36c0vpUPvE9lzyTLTk44HF9kq9vsm2u6c2/vH+BXa37OSerzTo9GUI9oL?= =?us-ascii?Q?AUqQCzc33ugOw1RdGz3hDq1tQ4PQik47foIhVfQ66o0RI4xumPoDPaJ7vr8a?= =?us-ascii?Q?Qum7MTZmyNUS3SdBpV7zETi9xf37Zji6a1IYJalKpI5VX7T+4q0OnzvwoYVi?= =?us-ascii?Q?2AoFsbetPRi6rRMqVe/VCEez08rdyU3yypuayBc7mZEVWI2CmOXcCB5HIbGC?= =?us-ascii?Q?MBlJA8UTopbfJAEIKXmPVsEsh48S6tIQZAZZroRLV0bsHvMPhb0BXd1zB2yd?= =?us-ascii?Q?xU4J2Whuccz/tmYtkLTrXIyKeS0hoQ2vmtdifXiYylq3qopakoFyp5bbq6WD?= =?us-ascii?Q?GgC7uCtBrOGQOV+eYA0tRPD3HC1cqneCrIs7xEjuCpMwP7KDqnn2VhQIQM8K?= =?us-ascii?Q?CEJShBNPG+MQSZYWJrQcoFlxx00gcMzFhvuDOwXkm8x7nqrKrL42TJGeEmc+?= =?us-ascii?Q?g+Hr4kYtSz3WWdy1Bw2kTvoZEFC94w1jiTZvKriALrNVxHKqxvhR?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 207ad87f-3e08-49ca-1378-08deff6caba3 X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 10:12:13.6950 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: sabQzewE3U7CIurGos2+v9dp778aGDF0MvsLH1Jdu6fBrZRlDTkPYVZ05kBHsV5+eNt/yQqulUBJvMsNI0vXc8bZFO17yrkII6QopMsbDOr/Q/ULSrbJ/BRjJbMzMvGD X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7971 Content-Type: text/plain; charset="utf-8" From: Zhipeng Wang irq_domain_create_linear() has no devres-managed counterpart, so a driver that wants a linear revmap domain tied to the device lifetime has to open-code an irq_domain_info and call devm_irq_domain_instantiate() directly. Add devm_irq_domain_create_linear() as the devres-managed sibling of irq_domain_create_linear(): it builds the same linear-revmap irq_domain_info and hands it to devm_irq_domain_instantiate(), so the domain is removed when the owning device is unbound. The return convention matches irq_domain_create_linear() (NULL on failure). Signed-off-by: Zhipeng Wang Reviewed-by: Frank Li --- include/linux/irqdomain.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h index 73c25d40846c..b6b360cb6525 100644 --- a/include/linux/irqdomain.h +++ b/include/linux/irqdomain.h @@ -457,6 +457,36 @@ static inline struct irq_domain *irq_domain_create_lin= ear(struct fwnode_handle * return IS_ERR(d) ? NULL : d; } =20 +/** + * devm_irq_domain_create_linear - Allocate and register a linear revmap + * irq_domain tied to the device lifetime. + * @dev: Device that owns the domain. The domain is removed via devres + * when the device is unbound. + * @fwnode: pointer to interrupt controller's FW node. + * @size: Number of interrupts in the domain. + * @ops: map/unmap domain callbacks + * @host_data: Controller private data pointer + * + * Returns: Newly created irq_domain, or NULL on failure. + */ +static inline struct irq_domain *devm_irq_domain_create_linear(struct devi= ce *dev, + struct fwnode_handle *fwnode, + unsigned int size, + const struct irq_domain_ops *ops, + void *host_data) +{ + const struct irq_domain_info info =3D { + .fwnode =3D fwnode, + .size =3D size, + .hwirq_max =3D size, + .ops =3D ops, + .host_data =3D host_data, + }; + struct irq_domain *d =3D devm_irq_domain_instantiate(dev, &info); + + return IS_ERR(d) ? NULL : d; +} + static inline struct irq_domain *irq_domain_create_tree(struct fwnode_hand= le *fwnode, const struct irq_domain_ops *ops, void *host_data) --=20 2.34.1 From nobody Mon Sep 28 13:18:32 2026 Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11012038.outbound.protection.outlook.com [52.101.66.38]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BDD00471D07 for ; Fri, 21 Aug 2026 10:12:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.66.38 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307165; cv=fail; b=g/EWOKi39G1t7Lu7MOh3IqTZovX879k9Eu8+ozZBBmumywEhAuc73PAJogUgFxWyKqSsH9/vC+vyfHDEeYKug7badof7TCz3XvOKu613YJmlzdyUNuhLSxNRMdwC3/GQFAmROsMf5IuSkqHfrqu/JKL0w0y8ezFf+m8Prd39ipU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787307165; c=relaxed/simple; bh=ADjKYgy5J27uwfkuuaMpGTzg9ApCFpUhwxamprQOEmw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=jcs8n+/qEZPrsacMgORclbsDSp8EBLmg7zgc+1M+rVGIYJyq/BiZITSZJzoriLz9cF0fkegACsmRokkpcFGyfLzxFvDF6nj3bzRX8KtiMeqasePhXyh9T3y+qZpZou2aink0PJHWAchxVd29KWKbiFVVsUzuX7Ulm5OrIvV3alE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=WkWMPW/G; arc=fail smtp.client-ip=52.101.66.38 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="WkWMPW/G" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lCrLLc25TVo+caYIV+LS1aKW84Azs8uMEx1E6vppl5E87QmF3kbTB8qlulBhP9CE6fvBbwxFvItm6RGaZQ1pGV01T3xCX2ayaKJ2C8oUEmCbpWwPZN3Pdu2pD6u+vgu2DET2vprobhB6gguv4xDGU/4W+GYhTns15E6eYfmt/pLlEgLIvx/NhZKPEhvR/4csfCDmHo4f8RbPL+TZaE/KwSzNTDWY6wik3/PwWsLlXMUZoWvNCThoE/BWO/T/X1xK7jQivz7aS5M8KHLu6vAkkOW959b0/f3JAx4AMCQUwoWxm1PSItcGwwgZUYqb44o+Xc49/ZuF6fJv4uwyfhrwrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=l164w68GAUq91EMOfejutZateg3uL2Rzvgm7EN/N82U=; b=HdJPjHSmOc8SzOd60QVRL/F4kL3uWh9BkGNJTjcMp1y4bKbXaU3Ndvotqnd5U7LBVoVEqPrdCccqf8ctdqHylOg8ZpdtY01GcnbI+QvW/zDAONGZWeQdFT6s6AVPtdeXvh2Tpu2Epst7kW+AT+lsxxit+GacdPQCZ8Gxg0IeG2j7C4T2hfwnswZFbz5bw6hjKvFqN0xxWfDk1I6zGHySmbGfX5IbAvAqZfIbm2dqQT3/YCp63GwYbupDnx7aVVgob1P1m7r27ns3pprUy0Et0Qdsb4DdnZxyY3WWFo7aNw71XmY66xGT2L1gNDbHT2I8eJxInlA1qmSZ3lDVu4s4eA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=l164w68GAUq91EMOfejutZateg3uL2Rzvgm7EN/N82U=; b=WkWMPW/G+pHKbLz5QXcFeVsJSXX/KHrkFMMKvxrHJsvzQyIv26XbWXkrCpwrZEjGGmMCHQKSx0N4HiFjER69JZLgMLAFHqVEJTtEzgKzc5SBDToJa25QjBGosJ2rerWMN1f/PiVUVpViQbg5woUvlw150FB/nxB2gh5Yi/pC/cFwpSWA/mZ/shGhE9zVF8doJvV26x7TFsg8WSx1abnmF47ZupS28e8ra+Oz8pOzLYUNKg4e53z9RZN5jjhzNgVvRNPS01ILzdqMHTzinTHhZEvNNbZCBpW5nsWf5pAI3O1xaW6ayqdWvqe+CP5QP+pQBd1lYUSZo1EKOVpowa0BVw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) by AM8PR04MB7971.eurprd04.prod.outlook.com (2603:10a6:20b:234::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.10; Fri, 21 Aug 2026 10:12:34 +0000 Received: from DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5]) by DB8PR04MB6858.eurprd04.prod.outlook.com ([fe80::bc6f:5fd7:462:d0b5%6]) with mapi id 15.21.0339.008; Fri, 21 Aug 2026 10:12:34 +0000 From: Zhipeng.wang_1@oss.nxp.com To: Thomas Gleixner , Marc Zyngier , Frank Li Cc: Radu Rendec , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Jindong Yue , xuegang.liu@nxp.com, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 9/9] irqchip/imx-irqsteer: Use devm_irq_domain_create_linear() Date: Fri, 21 Aug 2026 19:10:39 +0900 Message-Id: <20260821101039.4037925-10-Zhipeng.wang_1@oss.nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> References: <20260821101039.4037925-1-Zhipeng.wang_1@oss.nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI3PR03CA0013.apcprd03.prod.outlook.com (2603:1096:4:297::19) To DB8PR04MB6858.eurprd04.prod.outlook.com (2603:10a6:10:113::9) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB8PR04MB6858:EE_|AM8PR04MB7971:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a739397-4add-464d-937d-08deff6cb833 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|19092799006|23010399003|18002099003|22082099003|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: iX64EuI+hfcatcCwIhlANB67jlMPFY6M3mA+WmMWGs76xbymgxhSX3xXbQEZ+tjm47pFFVYwirhw2jwOz2WyzKavijZMkPhf5mgCgVZ037IuVV2FQfAxoDGMfThJjt+Szb7a5NEfhMbdx2Cz3HJi81OaPX+6b2GZdkhU14L6wX9uGddyPnCMdlyZ3UKTz89396DQDma7lRS5kuucVU5Ck/F3U+kpG7MDKFjJ6D9eJ5HwTW/hAsRrUFbWYyhnVv8VHM1URh7vOBwqIVMvgJkroi2bzr4SB32KJ4PSYFYUMvtcwLy7SBvojBIQL5x4BeJbzaK615f5AHqCNgwyimgp/OGtWp39S1EvyErm6SJJ+nj+YDEsCF0jMJKwQ796cuQT5shkxa6xByKR0cCVhZT+CCoJ5tW9yCuQZ1H13UxlW7Ov4QYOJmM20WsvR97x+RECaas5JMKUJuvR8S9pRuhnP8C2EQwn694mvQCJCjJrzfDJ1RvwseKz3hWo8I10u2wqZMMwddoQFBy4qN4+cCm61dD7E8xZzJVeegL6oHxcA0EysHFwaCRVkB6MJUYesMkQKUYeFhY01gr7X7h2lv2jGYliLxCJpb22JQrkBRfY5F/UQ//CsMtbFgtAw/cJUOH0GbR7sh9HKoqVuh/rMVraJTeDRCG8Afcr396He/Xtxlc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6858.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(19092799006)(23010399003)(18002099003)(22082099003)(56012099006)(11063799006)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?vAxY8D0UV+KEWL+XOqvGgdZS+0m9JO2VnciG21IgXrJdeTHJQ21qIuqJ+6k9?= =?us-ascii?Q?zM14SrNU5ICaaDU8xrrz/5g6YgZLvWio12jhxNSw6L1MAg7aFCoVCj2xPHvK?= =?us-ascii?Q?RogycCyFes/MObPs62Gzpr5C5TgIrwD2Y/fC0uIcaRUOzYm06Xx/vhqYrYwt?= =?us-ascii?Q?a2tz722C8Alu3oIaloBl2ozMiGTe5StnGlLBpyLdBvX1Cm9oweKFhJgnYJJ9?= =?us-ascii?Q?zXbnL4i75RiPoxg8wI9wXa1+TVRRpD+yBs8DgSCYP20aGKMre5ly6t2oTEAL?= =?us-ascii?Q?4WeqjO5Qr4WmaTY7YY81Z7in3AI16hBV/w2FNLkK5P2x8srBKoACHmN7+Gp0?= =?us-ascii?Q?4jyMF05wRdoHpNnxMhudKiJKCQuOOptx9X9T9FOZMsd356kmhvT1hfwTgMOl?= =?us-ascii?Q?WGpayXulhY9RPcBg0g2HPiIdZ19c4g5QLiuqNjEKv90WNsPYc2cNrLlAhtru?= =?us-ascii?Q?2r5jB1uV9wVMlrZOIcQhP2yzrP5Daenv8Ry+0DvCdzeh/N3nlZBnletpbkR5?= =?us-ascii?Q?0ZQGnQoyNRKST6qbxWDiHPDxPT6hv4D7/8HpmQqy290IrwnIXlteitEQSMa8?= =?us-ascii?Q?0F+v8myPsI282NoTxZJLYnBFR8rK6XP/pV4qAkUcZBwUFuSHqHR+u9iT6ekE?= =?us-ascii?Q?PVYHX7SrIf6GTwVhoN7e/EjpbEx3S5I7A++nGTZpkuVgdydM3PkRXgM5hifp?= =?us-ascii?Q?I6+TnU/iUWdSQmoSch+EWmWLaKmg2VCsyIOumd78GA46fVTKGS3ot9OIjLpR?= =?us-ascii?Q?Jn+BwP0ROr2shI5KRY0cG5TBeP0ll7qjDhrnRVIe/rZggKgzDWT5WZq/RQw6?= =?us-ascii?Q?BfvJCYjMVcIBKr1T+V4pCLVqQkdndyZ1hAldH/+O2XW4u0CwSTgr5+vIUBRB?= =?us-ascii?Q?xQUVpxg3j2YgEPIVd+Ele75TfFVDR7ObLr8yGeGdzBtM0fjcosGrV8mlQ1P/?= =?us-ascii?Q?I57b5NkUG7Xb1w8QlUik9UulG/eT/dCAroMxFOzMMhPWWuY7NFWCaVXDEndq?= =?us-ascii?Q?G5WeMp2UIOQlsr9KPm/9SbqztbUDikPjqly0N9DhZOC2XaNt9J6Yu/O9xsnl?= =?us-ascii?Q?x2tNXpfapfwos39XWofqouTxs3E0RbLeNsCpCJV0KH1f0W5nfRxI0kWryDgC?= =?us-ascii?Q?zaGW3AHwhWe/kA3msLsdAGgQv5p1KOapRwP8lwsoOSL5jtQmjHteHwieEOCS?= =?us-ascii?Q?1a4XnDaPQAls/9WyxVMzIbqHG7O7gc8rFP+Q6fgDqrRwD5iLdP9+7tIP+MEA?= =?us-ascii?Q?dSC0lH1FrjzFEgmzQ32Pml9V6ofZv5P9oJBPRyWS66hcz+D440cqCqRruHXh?= =?us-ascii?Q?opQ4Kl7ciD7HIGi7+duQOUV9b1S1Iyk9bNEO+4vwIunDasVOtiODUSaf/D17?= =?us-ascii?Q?4AqlGZeSeiI7PCi1sPEEDew4lkVPDumOKkNc4I0Z5HZC8F44xEm5iN9ECdc1?= =?us-ascii?Q?o2edcjWTkFTABNZLrDgWMU3PC2gsCjjZgLYRY2Go5OaT9VO/VRH6VmgxrRbN?= =?us-ascii?Q?lN8L3O8hC/o4OtALNEl7Fc325krPZkfRee9JaU3679hgCa8E8Wnw/vyydmPD?= =?us-ascii?Q?FMnst2QflziffPltirvSd/A4jRctZsKsUJrVj2358d65p1Qt1lB5UxGWzGb4?= =?us-ascii?Q?7sa4rzMoaKtVZgfOr6OQ/JHqvDqp7PLPWCGyC4Eg9/9jeMyPqx6rMweTROI/?= =?us-ascii?Q?gxK/GayeFNssaehw+CZIDMANBCGQjibdLRwB53B2ev7C290Yb/G5JE/naYER?= =?us-ascii?Q?1rkmdO15k6yyVIyD5Ufv3vNDBuImotAYSLgUlYqxNchK44zfuJLtnspzNS82?= X-MS-Exchange-AntiSpam-MessageData-1: k1qewNuBHQmcJA== X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2a739397-4add-464d-937d-08deff6cb833 X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6858.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Aug 2026 10:12:34.7674 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6gDB2C+a+1llWNgLsMxB/OV8bAQKP6T+G8M4Ir5E/3noQY64xY1/dK4A2A2ajYQZm3jGGAoIi+YTjPAN+6LIv7l0E3KXvx33Yiae/bZVHvFvw7Hw1Z20fwQwHRVZ/I/j X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7971 Content-Type: text/plain; charset="utf-8" From: Zhipeng Wang The driver open-codes an irq_domain_info and calls devm_irq_domain_instantiate() only to get a linear revmap domain tied to the device lifetime. Use the new devm_irq_domain_create_linear() helper instead. No functional change. Signed-off-by: Zhipeng Wang --- drivers/irqchip/irq-imx-irqsteer.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/drivers/irqchip/irq-imx-irqsteer.c b/drivers/irqchip/irq-imx-i= rqsteer.c index dad09e095ed1..ff20f6220784 100644 --- a/drivers/irqchip/irq-imx-irqsteer.c +++ b/drivers/irqchip/irq-imx-irqsteer.c @@ -242,18 +242,12 @@ static int imx_irqsteer_probe(struct platform_device = *pdev) for (i =3D 0; i < data->reg_num; i++) writel_relaxed(0, data->regs + CHANMASK(i, data->reg_num)); =20 - struct irq_domain_info info =3D { - .fwnode =3D dev_fwnode(&pdev->dev), - .size =3D data->reg_num * 32, - .hwirq_max =3D data->reg_num * 32, - .ops =3D &imx_irqsteer_domain_ops, - .host_data =3D data, - }; - - data->domain =3D devm_irq_domain_instantiate(&pdev->dev, &info); - if (IS_ERR(data->domain)) { + data->domain =3D devm_irq_domain_create_linear(&pdev->dev, dev_fwnode(&pd= ev->dev), + data->reg_num * 32, + &imx_irqsteer_domain_ops, data); + if (!data->domain) { dev_err(&pdev->dev, "failed to create IRQ domain\n"); - ret =3D PTR_ERR(data->domain); + ret =3D -ENOMEM; goto out; } irq_domain_set_pm_device(data->domain, &pdev->dev); --=20 2.34.1