From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (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 2632337CD31 for ; Tue, 16 Jun 2026 20:32:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781641972; cv=none; b=SueCbFzlz/UV7ZrBFQYsun1YdzPPCJHiitj+l/kLLHRxrCGqUljsicaSiLWG5r/XhyC6h0ReGcYeSgH+Vk3PFk9A+X8xJw8bD7jOKD0REPZYOAtE2nWkHdl0c3vLEAoQcDZOEGo8ILgZQwwXbOyWwfwR/UcS/dkLYn/RVWKP438= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781641972; c=relaxed/simple; bh=DpdD7sebqPQAdE5b/BDXiFIHLag1ohfFL7bYS/flFwk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=D4ehdwyc+FBNJTinApMekA8K5WlbP+JjTqcpWZbgwEOlWZNt0MU30rurAleeVa9+kCxjea3t3kHOzi66roeNVIRXqLv0fkdvYogg/YMm4Ps6B0pM3l18HAmDEmLwvQo7FVCFPedIrQDpLBj/YWTw2EP6C8fnS1qxUDcanzSRG00= 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=rJv68cgo; arc=none smtp.client-ip=209.85.214.182 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="rJv68cgo" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2c6a97e1d1bso6355925ad.0 for ; Tue, 16 Jun 2026 13:32:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781641969; x=1782246769; 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=DFJHkQb5Ov+Hz0CMeGTlHveS+yOdnR8WS+fqX65pR68=; b=rJv68cgonlQ+x5fglKd52iRdAjOb6qtnVfR6zWlI/Yd2vb2jgA8lcF4utje4eGIF7e YtClYRXpRsd5HOw63l7IHoTqNndLU+VOB/4xWs61V72na3kpTFLdvtMZPJbJ3E1Epn8i 1lNPMwIBsHl9WdQGxPObcPBR1Dw8/5soB+cR0jzX9q4Mu7C9IRB+BcY+p4byEYklsGxb gmBBrx0JmZTVf4qMzhS70BnhMrPL5HC1sb1T5dfhg83Q/+c2hW/ovQTOlkfSPstQnndy hQhsW+7KSs2Xilv9bJ1K7ceVgd9AD4/NYM3n+6rUQMbFR9eOhlp982+ays+ruqRThiS/ ueZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781641969; x=1782246769; 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=DFJHkQb5Ov+Hz0CMeGTlHveS+yOdnR8WS+fqX65pR68=; b=Q52ZdCYQFrwwupQ3ov3I4vAUIX74nCaMLDMM72JBMHwCBAZplF0T74StrqP/i4cJvp 7dK5NYo9zBWIAyGgznNHaQcclCYfCosT08vJ8qJ+RrZkdjGPqh1HiqaGB/2LqGYjcHTe 0vzDdMxXunWaeqz3MYtEh5IgF90oRTDvh9l1bOhU9EJDxA1R7U88NlBOfEZ5znq82tsT naW5I6fboEjSaVLJwOq7SjLkK4pKv8zmPkUVagKn51VF3qyVVE8Ez50rxDGi/JqG/C/y o/rPzjJt63DA4cszY9HpEHvsiKjUQu43cedOlvM+sXSdRjNL4EgitfbDIYaAHkU1w2g7 YENg== X-Forwarded-Encrypted: i=1; AFNElJ+S2awMsyW1hRPk1lxZdASjA401LQBA5MxZzzhhYpR58iGtlNT0gWkmgr8luFfuyb1tY+ZeqiwW2Clr+CE=@vger.kernel.org X-Gm-Message-State: AOJu0YxIVqYI+nKpi9mcZ82xvFdxwAAqQlDoiKLdeR6eMb9NuApRBTdz ZLiXohAikbJTzhnWxbQal6U684q+ynioQev8pYoLy06HqCb/SrjRhMhG X-Gm-Gg: AfdE7clLrlKkpF8bWCC0MalYezDP+vRn/Oy7jsRplVFH1GREsmVbZIEsDpFgaESqMtt LqiZpeiwcbKjppfAnN0ppKlc96D1bb33cVdAQlMObcDWDxQWDiygh9ArrW3lwq+ZpHj9xBrpClU qPgUAyFalGRtns3wRkp8dzBLSF8YAk+FvpTthrVim3efVKNQVjpeir4BCNoecrCOoNH9gh1nK0A SZPjzdv/4SC0pfBi/QymvA/1qeAVGa1EnWmFaaJ1MoYXHzK9iijLZABgDGv077OQrctJhdsPoNK iN5GLq9wJfvHMgWWYRcWpv6f66T2/8Nz7PZuf4nWlEPx9oHE89XdzSc71K9usXbjG1QAQopIvLx DchuhG7fxA86mGvxU492UMhGclkfR0N8LbSPajKcHiQR1r84a69aSgwUYHFRLkf/xdpNP/MGjj8 vf+SYPBumrhH67ZIYKatJkiDrVI+wWGW7UaQQ8seF5iQBAbCU1TfCfxCeWzBwSWCImK0lepllkN 1B4zD4AZDp72brb2lUyyiXJeRH5+ZTaMzKnmHzcovMuUe8BSfS6seNnLE3u3r1Gb1x+xMklKg== X-Received: by 2002:a17:903:2411:b0:2c0:e5ee:f55e with SMTP id d9443c01a7336-2c6bbf6ec32mr5855535ad.7.1781641969459; Tue, 16 Jun 2026 13:32:49 -0700 (PDT) Received: from bloom.localdomain (S010680dac2bce256.cg.shawcable.net. [174.0.186.197]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c432c8becesm146930445ad.56.2026.06.16.13.32.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Jun 2026 13:32:48 -0700 (PDT) From: Jack Lee To: davem@davemloft.net, kuba@kernel.org Cc: andrew+netdev@lunn.ch, edumazet@google.com, pabeni@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Jack Lee Subject: [PATCH] net: faraday: ftmac100: convert to devm resource management Date: Tue, 16 Jun 2026 13:32:33 -0700 Message-ID: <20260616203233.55234-1-skunkolee@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 Replace manual resource management with device-managed alternatives: - alloc_etherdev() -> devm_alloc_etherdev() - request_mem_region() + ioremap() -> devm_platform_ioremap_resource() This simplifies error handling by removing manual cleanup in error paths and the remove function, and eliminates the risk of resource leaks. Signed-off-by: Jack Lee --- drivers/net/ethernet/faraday/ftmac100.c | 47 +++++-------------------- 1 file changed, 9 insertions(+), 38 deletions(-) diff --git a/drivers/net/ethernet/faraday/ftmac100.c b/drivers/net/ethernet/faraday/ftmac100.c index 5803a382f0ba..adb318925f44 100644 --- a/drivers/net/ethernet/faraday/ftmac100.c +++ b/drivers/net/ethernet/faraday/ftmac100.c @@ -49,7 +49,6 @@ struct ftmac100_descs { }; struct ftmac100 { - struct resource *res; void __iomem *base; int irq; @@ -1137,11 +1136,9 @@ static int ftmac100_probe(struct platform_device *pdev) return irq; /* setup net_device */ - netdev = alloc_etherdev(sizeof(*priv)); - if (!netdev) { - err = -ENOMEM; - goto err_alloc_etherdev; - } + netdev = devm_alloc_etherdev(&pdev->dev, sizeof(*priv)); + if (!netdev) + return -ENOMEM; SET_NETDEV_DEV(netdev, &pdev->dev); netdev->ethtool_ops = &ftmac100_ethtool_ops; @@ -1150,7 +1147,7 @@ static int ftmac100_probe(struct platform_device *pdev) err = platform_get_ethdev_address(&pdev->dev, netdev); if (err == -EPROBE_DEFER) - goto defer_get_mac; + return err; platform_set_drvdata(pdev, netdev); @@ -1165,20 +1162,9 @@ static int ftmac100_probe(struct platform_device *pdev) netif_napi_add(netdev, &priv->napi, ftmac100_poll); /* map io memory */ - priv->res = request_mem_region(res->start, resource_size(res), - dev_name(&pdev->dev)); - if (!priv->res) { - dev_err(&pdev->dev, "Could not reserve memory region\n"); - err = -ENOMEM; - goto err_req_mem; - } - - priv->base = ioremap(res->start, resource_size(res)); - if (!priv->base) { - dev_err(&pdev->dev, "Failed to ioremap ethernet registers\n"); - err = -EIO; - goto err_ioremap; - } + priv->base = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(priv->base)) + return PTR_ERR(priv->base); priv->irq = irq; @@ -1208,32 +1194,17 @@ static int ftmac100_probe(struct platform_device *pdev) return 0; err_register_netdev: - iounmap(priv->base); -err_ioremap: - release_resource(priv->res); -err_req_mem: netif_napi_del(&priv->napi); -defer_get_mac: - free_netdev(netdev); -err_alloc_etherdev: return err; } static void ftmac100_remove(struct platform_device *pdev) { - struct net_device *netdev; - struct ftmac100 *priv; - - netdev = platform_get_drvdata(pdev); - priv = netdev_priv(netdev); + struct net_device *netdev = platform_get_drvdata(pdev); + struct ftmac100 *priv = netdev_priv(netdev); unregister_netdev(netdev); - - iounmap(priv->base); - release_resource(priv->res); - netif_napi_del(&priv->napi); - free_netdev(netdev); } static const struct of_device_id ftmac100_of_ids[] = { -- 2.54.0