From nobody Mon Dec 1 22:05:54 2025 Received: from mx-relay50-hz3.antispameurope.com (mx-relay50-hz3.antispameurope.com [94.100.134.239]) (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 69888301460 for ; Mon, 1 Dec 2025 10:53:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=94.100.134.239 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764586386; cv=pass; b=f6qvuvV8nanTtgYfl//4uOrvR0/jlUCPzVxyYVFUo1QAVqKLkA7DHyZwpR+ftWEYEwQrpjuwJzadbgJhnUpMtCyblhTu7pChZBSlm/lQZXoQ67RXCBpLtBn9uHkdEQg86GMz+NryFlv3ynlpCZxgHY0VGbO9PSTHH0tWLufZLd4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764586386; c=relaxed/simple; bh=MYMEvHemwrORDEfBe5yEvkeYTydgc31vjwDeZslgS2M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kwoaGOir5W777pjutCI4maf9+lXmQgRpkrn2Rt/uq7f0VjcFfoDNHiBdpSeNL9JHWMiVCGtOJJiQ4gBXtWtvsSp5dCSOd1/QuPP4dFeBFP4XL9dGWXMo4K6hY6yd9yakksCOtE7NABERkmu6mSzG2drEql2odygqofSnxHr56jE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ew.tq-group.com; spf=pass smtp.mailfrom=ew.tq-group.com; dkim=pass (2048-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b=YAJ9sbLC; arc=pass smtp.client-ip=94.100.134.239 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ew.tq-group.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ew.tq-group.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ew.tq-group.com header.i=@ew.tq-group.com header.b="YAJ9sbLC" ARC-Authentication-Results: i=1; mx-gate50-hz3.hornetsecurity.com 1; spf=pass reason=mailfrom (ip=94.100.132.6, headerfrom=ew.tq-group.com) smtp.mailfrom=ew.tq-group.com smtp.helo=hmail-p-smtp01-out03-hz1.hornetsecurity.com; dmarc=pass header.from=ew.tq-group.com orig.disposition=pass ARC-Message-Signature: a=rsa-sha256; bh=lUdFDXOpdEHblxEFS8Klgzf9uDbkW8RYNQMN1WIjTJI=; c=relaxed/relaxed; d=hornetsecurity.com; h=from:to:date:subject:mime-version:; i=1; s=hse1; t=1764586326; b=DhWsaRjD+uFalhzIakh+gua1APSHyZkcClF01Jnixv3LpVR+BikcbT6d2Xj1mjbGgK+KPq50 vmVWmd4hDEy8+WRpbc3JbBXDoeaDQj5OKxwdv5YSsrrMVnXgNJncBrZCPatwF2eo+W8GEvaRa3G q7ZOXS8d96M+Qg1DSYJ4yxp6KJdHg7wpbAa6ixhEqj5bcjgSkqao2Ui1riCPcndPY7vnOWwvKZw 4RK0e0gq7z05rznCKz0Ih3MuNoPN0AdziZWwcK6ymg+U1HFqStKfC9GXpGtfj8hK1Yu8zVDFyaq SrXM5RHNZ0YA2USMxuLXahiJ6l2IC2sEkoqj4rragyo5w== ARC-Seal: a=rsa-sha256; cv=none; d=hornetsecurity.com; i=1; s=hse1; t=1764586326; b=Rz3fV1DW14OHfrokmMRB05Zkoz0FG7d3ecAs7tsM594NnLS3pedMyAzbvzGnZVWx1Ky5U6eP 1wSMhqjOvRgCIEjoxAukdLNxPc68A2vPYRoELYpFyLbspUpVbabgnPIWgKr947PgMj/+W/vwKXN NO3sZPxfbSCnTpRkAs6FwAmEtJC/ydtytrXmfO+cLk/+FdeoVt+oQMYv2zaNGTg60uhCoZGbFXV KtyjDs2ACLpZu+rWdZsBjKs927XT3fQ18t0JPIVRgHGDTqzlVir/iIkRzzbk/Xm+FT9KHs5SPkC 6b30hW0HnW58JWhouR5rnqMqRwyGEJ7q42Mp2Ld3fItqA== Received: from he-nlb01-hz1.hornetsecurity.com ([94.100.132.6]) by mx-relay50-hz3.antispameurope.com; Mon, 01 Dec 2025 11:52:06 +0100 Received: from steina-w.tq-net.de (host-82-135-125-110.customer.m-online.net [82.135.125.110]) (Authenticated sender: alexander.stein@ew.tq-group.com) by hmail-p-smtp01-out03-hz1.hornetsecurity.com (Postfix) with ESMTPSA id 96251CC0E92; Mon, 1 Dec 2025 11:51:54 +0100 (CET) From: Alexander Stein To: Shawn Guo , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thomas Gleixner Cc: Alexander Stein , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH 2/3] irqchip/ls-extirq: Use managed resources Date: Mon, 1 Dec 2025 11:51:41 +0100 Message-ID: <20251201105144.539450-3-alexander.stein@ew.tq-group.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251201105144.539450-1-alexander.stein@ew.tq-group.com> References: <20251201105144.539450-1-alexander.stein@ew.tq-group.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-cloud-security-sender: alexander.stein@ew.tq-group.com X-cloud-security-recipient: linux-kernel@vger.kernel.org X-cloud-security-crypt: load encryption module X-cloud-security-Mailarchiv: E-Mail archived for: alexander.stein@ew.tq-group.com X-cloud-security-Mailarchivtype: outbound X-cloud-security-Virusscan: CLEAN X-cloud-security-disclaimer: This E-Mail was scanned by E-Mailservice on mx-relay50-hz3.antispameurope.com with 4dKghC0qlRz2nHk2 X-cloud-security-connect: he-nlb01-hz1.hornetsecurity.com[94.100.132.6], TLS=1, IP=94.100.132.6 X-cloud-security-Digest: 31ea3d37a4def439ed8686206906e05d X-cloud-security: scantime:1.961 DKIM-Signature: a=rsa-sha256; bh=lUdFDXOpdEHblxEFS8Klgzf9uDbkW8RYNQMN1WIjTJI=; c=relaxed/relaxed; d=ew.tq-group.com; h=content-type:mime-version:subject:from:to:message-id:date; s=hse1; t=1764586326; v=1; b=YAJ9sbLCvZJ6HHr+c/WF9i3F5l79e79GZMFxU0JYQxk1duRDUKjKxi3GM2e8VCShBvVkbzsT nH5cbcfWjvauipCgiZkwbOz9hrhy855zesEd4NQ6+2gL/5pgnd8luVBYsdOJOlgdWfFkRFSnwNR JYD0m6hCi6KTEEuj/qU1VLzZl2pxo5w8r0QE2pZv/xt/HKM45wune34XUYzjuQ+75tuFysv39G+ 9o1gXgZ6ZGXdpvXjEcG/QJWYBiq4FnCt9y5bLSI60SvTPe5kE4Kdyd8WRdZpYnQ4jxYQnklovc1 8mrqIn6c1CmBdEe9z3GJk3qk1IVwZX5k8uQPaVw8CVCMw== Content-Type: text/plain; charset="utf-8" This simplifies the error handling and probe is straight forward. Also use dev_err_probe for even more simplification. Signed-off-by: Alexander Stein --- drivers/irqchip/irq-ls-extirq.c | 37 ++++++++------------------------- 1 file changed, 9 insertions(+), 28 deletions(-) diff --git a/drivers/irqchip/irq-ls-extirq.c b/drivers/irqchip/irq-ls-extir= q.c index cb7db9ae79087..52b8b9fc17621 100644 --- a/drivers/irqchip/irq-ls-extirq.c +++ b/drivers/irqchip/irq-ls-extirq.c @@ -192,26 +192,17 @@ static int ls_extirq_probe(struct platform_device *pd= ev) if (!parent_domain) return dev_err_probe(dev, -EPROBE_DEFER, "Cannot find parent domain\n"); =20 - priv =3D kzalloc(sizeof(*priv), GFP_KERNEL); - if (!priv) { - ret =3D -ENOMEM; - goto err_alloc_priv; - } + priv =3D devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); + if (!priv) + return -ENOMEM; =20 - /* - * All extirq OF nodes are under a scfg/syscon node with - * the 'ranges' property - */ - priv->intpcr =3D of_iomap(node, 0); - if (!priv->intpcr) { - dev_err(dev, "Cannot ioremap OF node %pOF\n", node); - ret =3D -ENOMEM; - goto err_iomap; - } + priv->intpcr =3D devm_of_iomap(dev, node, 0, NULL); + if (!priv->intpcr) + return dev_err_probe(dev, -ENOMEM, "Cannot ioremap OF node %pOF\n", node= ); =20 ret =3D ls_extirq_parse_map(priv, node); if (ret) - goto err_parse_map; + return dev_err_probe(dev, ret, "Failed to parse IRQ map\n"); =20 priv->big_endian =3D of_device_is_big_endian(node->parent); priv->is_ls1021a_or_ls1043a =3D of_device_is_compatible(node, "fsl,ls1021= a-extirq") || @@ -220,20 +211,10 @@ static int ls_extirq_probe(struct platform_device *pd= ev) =20 domain =3D irq_domain_create_hierarchy(parent_domain, 0, priv->nirq, of_f= wnode_handle(node), &extirq_domain_ops, priv); - if (!domain) { - ret =3D -ENOMEM; - goto err_add_hierarchy; - } + if (!domain) + return dev_err_probe(dev, -ENOMEM, "Failed to add IRQ domain\n"); =20 return 0; - -err_add_hierarchy: -err_parse_map: - iounmap(priv->intpcr); -err_iomap: - kfree(priv); -err_alloc_priv: - return ret; } =20 static struct platform_driver ls_extirq_driver =3D { --=20 2.43.0