From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 07B48308F3B for ; Wed, 24 Jun 2026 03:21:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.170 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782271287; cv=none; b=U/Ra/T/fH2L5GqCj/RkvHM3XSaeimBWOESXzEC9h9aEUfvY9dsKzvmY2Io7MrQKfkIhVL1Oc5DlrA1hn/duPK4sxGpRcH7SYwi3Iyq2r6X5qJORQhe9XRWGtNquTvgq3xvRWSr1F0OSbSOFJQ9yrbFXfsJqmY1w2bPTk3GEOt1o= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782271287; c=relaxed/simple; bh=LHPuQ3fYoRkUuqJpWAlUR2uR31JNU+MYzy+B2oliw98=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=GBr1p4b0KLj0MTR+vbsc0GfzIXgyx03b088zruOdzX8nU41XtVul0babYZB0nkXbU9XWWbS7XxefAVYgEghS1COcDZ3bg1ZsM33jgkGNZmeV8r/DHr4zCtNatsLE1398Mxbhu1ANhF0F11S7jf92f7EtzkZYpMGUU3GfLSsF4go= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PbLZAZ2G; arc=none smtp.client-ip=209.85.215.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PbLZAZ2G" Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-c88d1d4543fso889474a12.0 for ; Tue, 23 Jun 2026 20:21:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782271285; x=1782876085; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=s4+6IeyaZHLRzdbwK5J3iMdZMMkHItrfJDK1pzm0fPU=; b=PbLZAZ2GEhh/m/LmkMn/sEh6Nw/P7foHWOjq4vjdUp7XQinF5w6uP5PAPvuZTlEPAH ZhPV5ffE2/5pHMlkpFBw5SlZfdaxcbe4b7SMk1+n+0HPUMMPtCK2IKlATRhLXfE78Jzi +XOAixwddfcmTpcx5qCqjpoaUvP/kFD4Kh8ONH0dPGEgC6eoVOduN7PlwYRIeTuWD/wq ySXV/A5WKIfgPSVrkdA018H7HbqTFz7UY5E5UJW52S7FNFLkJ4A64+kWoTC1igm2+VdS O/M9vn5Bp9XuDrr2KQKSSIc+P+0zVreZhDcx8DiB0+qJcRCMZczuXF0GMVPX7IyTPZyJ YZjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782271285; x=1782876085; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=s4+6IeyaZHLRzdbwK5J3iMdZMMkHItrfJDK1pzm0fPU=; b=liO6s7thfrkZbClH+CunpuxKI6gKfZXih6IcatFgtaB7l7AOIjfyj+pCJz/L/18uyv 8rtpdukHrBWFMScTBvh29pSVF57HS9Ax39lx7kMG1PDK86T9ePLdY7CCiuqOjAacX0oN cp6nRBtRYTv9d6bBQmj3/jutVpeIvqf/Sxp7AgsjxEBcH1D7BntVAsN4872SbM6rQHTK yNkHEhq5oW61kypym68Bys2iyU7b0fTmUZmMu0XBdX4wWNbXVnGK+TixjwilFyjOylTx jFjAKbh3+83lm102WaH8/BMt/YN2EijbrQzchqyytJANMjfz8KPtMrZ9hCly+Cmlg6QR H5+A== X-Forwarded-Encrypted: i=1; AHgh+Rq0LhSdmBfIZ2/5MSmtqxCSzxol1MsqSrr8kArlmGBi1Oi06LbIbyFNZpOhQqpb9elZFhBoz7/T9s0lEaU=@vger.kernel.org X-Gm-Message-State: AOJu0YzndXml2awwedbXq++VgYYcWNoDCCX6AzYS7hwZ2D2D6ohKwwNg yMxrS3yI5ZZ8arEYgweLdof1RBZ2z3HiT+ifHQy2hDifjbz2eN/5ArFL X-Gm-Gg: AfdE7ckyuhV8spn3WwhcJcz6Ndfa3FTWzSMkYwoX3hoCRHFpj5aO9F7zBJkmDf2aqxt 3Vs0h2XGq+dHzCO0j4SRyHdswFflRRVtDAE3dNvl90gUA6lHPq6HGo0s0y2zpHbs8PIKvCWHr/v vjhseUv3qwsMRoxpwnFWFZ/3E6oaokqt8gvcD4XG1se5ytByY9/s3Ww+4xCDvVk7ytD6WgtsmqJ SIDpKhvhA9Uhuv30ppoMyWtjlakV8sPycgtJmu5CN6fuA8P3hfOP8flt+J45GYwVSam6a7xCGca VbCxEoXcs21RJJshvTNBAybzwVHcz9lEcFvRdaUEWTkDe4Ze6Sq4smw0jYsTj7CU1dneq1ygcty eZs7ZA6J1UxvLatoilJPszj98seCVeZbv6SmHezvQyUDSWeAvlFevPcNGTBcKNC8SiPEe6MXJm0 sAj/Ee1DPCD03tBI0qnq9IYoJkBUwIyL+un0Wp8IZuHY0i5xtz0ZOfMKycowHPg0HyUbDZozaHW uJgD5S1Kg== X-Received: by 2002:a17:903:90d:b0:2c1:41f8:7ef5 with SMTP id d9443c01a7336-2c7c3ff85b9mr53445235ad.22.1782271284992; Tue, 23 Jun 2026 20:21:24 -0700 (PDT) Received: from ryzen.lan ([2601:644:8000:5b5d::e34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c7444aad78sm140624075ad.81.2026.06.23.20.21.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Jun 2026 20:21:24 -0700 (PDT) From: Rosen Penev To: netdev@vger.kernel.org Cc: Claudiu Manoil , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andy Fleming , linux-kernel@vger.kernel.org (open list) Subject: [PATCH net] net: gianfar: use of_irq_get() Date: Tue, 23 Jun 2026 20:21:22 -0700 Message-ID: <20260624032122.986986-1-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit of_irq_get() differs from irq_of_parse_and_map() in that the latter requires calling irq_dispose_mapping() when done, which is missing in the driver. Meaning it leaks memory. No need to map it anyway. Just need the value stored in the irq field. Changed irq to an int as required by the of_irq_get API as it supports -EPROBE_DEFER. Fixes: b31a1d8b4151 ("gianfar: Convert gianfar to an of_platform_driver") Signed-off-by: Rosen Penev --- drivers/net/ethernet/freescale/gianfar.c | 12 ++++++------ drivers/net/ethernet/freescale/gianfar.h | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c index 3271de5844f8..17a0d0787ed2 100644 --- a/drivers/net/ethernet/freescale/gianfar.c +++ b/drivers/net/ethernet/freescale/gianfar.c @@ -514,15 +514,15 @@ static int gfar_parse_group(struct device_node *np, if (!grp->regs) return -ENOMEM; - gfar_irq(grp, TX)->irq = irq_of_parse_and_map(np, 0); + gfar_irq(grp, TX)->irq = of_irq_get(np, 0); /* If we aren't the FEC we have multiple interrupts */ if (model && strcasecmp(model, "FEC")) { - gfar_irq(grp, RX)->irq = irq_of_parse_and_map(np, 1); - gfar_irq(grp, ER)->irq = irq_of_parse_and_map(np, 2); - if (!gfar_irq(grp, TX)->irq || - !gfar_irq(grp, RX)->irq || - !gfar_irq(grp, ER)->irq) + gfar_irq(grp, RX)->irq = of_irq_get(np, 1); + gfar_irq(grp, ER)->irq = of_irq_get(np, 2); + if (gfar_irq(grp, TX)->irq < 0 || + gfar_irq(grp, RX)->irq < 0 || + gfar_irq(grp, ER)->irq < 0) return -EINVAL; } diff --git a/drivers/net/ethernet/freescale/gianfar.h b/drivers/net/ethernet/freescale/gianfar.h index 68b59d3202e3..c6f1c0b6229e 100644 --- a/drivers/net/ethernet/freescale/gianfar.h +++ b/drivers/net/ethernet/freescale/gianfar.h @@ -1074,7 +1074,7 @@ enum gfar_irqinfo_id { }; struct gfar_irqinfo { - unsigned int irq; + int irq; char name[GFAR_INT_NAME_MAX]; }; -- 2.54.0