Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1146288imm; Wed, 1 Aug 2018 10:57:58 -0700 (PDT) X-Google-Smtp-Source: AAOMgpeX/fSFt7qw2M2hjwzv1ZYZ5nHAeHRgDFd+oC2/BdHqtgAkKoI1GiJRIIL7NqwJU/DB1hdJ X-Received: by 2002:a63:f414:: with SMTP id g20-v6mr25448171pgi.407.1533146278513; Wed, 01 Aug 2018 10:57:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533146278; cv=none; d=google.com; s=arc-20160816; b=pe5npd/xyVN12D0NYjNo4wylhToQRytdrIRB+ok4VRaGTzxNFWNGnQwzVFkfmkNsIr oHkfnxcYajeeMyXu4HQBwjZjGzqu34A67kebPUri8Sw4kjkAO/zNyRhi7wtwQjGh9kIp IWS4xdvfo/ka+R+n0sLGIWhZGA6tBt69CUyhwe5UL/O18yTiDwWej6cdyhfO9UTmzdRm IhykWehAQG5RxMCfPuAm3Hv9tY8AgiOBVKGvRWGzydRKszr9c2/DpF46F6nN5LR++Jr4 KR5N1fIwsJM6Ug8RhqwbWtN0t6Y9byhQGKeUvAUEDDsMIwBv/kGvH2aBMFV7Txxyex+I 7Cag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=KwrDBNo657A6SiUK12ekfX5MSVNPn+Tny6h4zOx1v7o=; b=sZ4HgH/R/yeztYYOmK4aagD9dzzUyEelNeaZf6c3EElGVphLPIbpeYYrjnCc29wpGA AWStrXIF+vIuNkWJvrmJ2w6kwSv6dxXaxYlU0/iW9LY9ohUl7jFw/lkjFcs425P7sZGd Mbm1yWWeVA5G9BKbYgLsgHWDJ1WMnszvpjl0yZhRcQcZNRowZByCHfbVnZznJtXZI3oK r+02x2Q1Mx12DXE/xkR+h2Q9LBx2Yuz3cpG9VNtfeoxKRlhE+9TM2eaRTgm9CPLZEw4N 4TjBSN5RnxXF403bkv/TDKQXrtWiIXEmqxHlciRVdXF4JEG+M6rmZjGsijwf/ZxlHu9s 59+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b="ADN2M//O"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j85-v6si18307336pfa.232.2018.08.01.10.57.44; Wed, 01 Aug 2018 10:57:58 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b="ADN2M//O"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732399AbeHATnW (ORCPT + 99 others); Wed, 1 Aug 2018 15:43:22 -0400 Received: from mail-qt0-f194.google.com ([209.85.216.194]:33206 "EHLO mail-qt0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732375AbeHATnU (ORCPT ); Wed, 1 Aug 2018 15:43:20 -0400 Received: by mail-qt0-f194.google.com with SMTP id c15-v6so20881663qtp.0 for ; Wed, 01 Aug 2018 10:56:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=KwrDBNo657A6SiUK12ekfX5MSVNPn+Tny6h4zOx1v7o=; b=ADN2M//OHKi4uiNBD4q4CyciI935grsJgXSOUkJwYhzhPZVKgyT+VgZjqFuOD6ucxr 8ejwydIZVEaeYsEt25pf+kdEsuiC9wJu78XjctwqGmEjh6EdnnXgjAESQi4OoKQJ5bqq Cmn46dzQI4iJvPd2hl6kqaQEZpah4q9JiWQiE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=KwrDBNo657A6SiUK12ekfX5MSVNPn+Tny6h4zOx1v7o=; b=CuQMQT1hPNRGG7kt/2jzXrt9FNkY566HmzI/D6gy65MeWINitnH1m2TtC84p7N9Kr8 xt7rjDUraF9V+vLMTIjXv2higRrfbueEBxLI1ir0HnBOg+5qjP/1s5uv3oNVOyGzLq25 cSJ1TSaDPWUDMqPTXsUIAhgcQxo0QcXKh8ykBYpaGSGBjMxB4onLJTBmr8IBcDH8NS0H wEx/U4AeylVCk/bN6Wef/+3dCRA7CkQEjhQVp/SL/xykSIt85wBdU9SIBLiHc5B9D/dC XcIHq1pTGKlJd2d/BnUEAlbStaeo5Rc9eQ14SzEvGBs9ODzY6Z9ipkybNHaOnQrkBAtr T5Uw== X-Gm-Message-State: AOUpUlHmOA403N+FX/spw24M/T/5slPmiy2e1lkLbIFFJBffv8hRqfs8 Ix3k7f94Mlf7DsgnW5zU+LD8Uw== X-Received: by 2002:a0c:d24d:: with SMTP id o13-v6mr23305952qvh.210.1533146188321; Wed, 01 Aug 2018 10:56:28 -0700 (PDT) Received: from lbrmn-lnxub86.ric.broadcom.com ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id m12-v6sm14401729qkl.54.2018.08.01.10.56.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 01 Aug 2018 10:56:27 -0700 (PDT) From: Arun Parameswaran To: "David S. Miller" , Florian Fainelli , Andrew Lunn , Rob Herring , Mark Rutland , Ray Jui , Scott Branden , Catalin Marinas , Will Deacon Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, Arun Parameswaran Subject: [PATCH v3 5/8] net: phy: Use devm api for mdio bus allocation in bcm iproc mdio mux Date: Wed, 1 Aug 2018 10:56:23 -0700 Message-Id: <1533146186-8374-6-git-send-email-arun.parameswaran@broadcom.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1533146186-8374-1-git-send-email-arun.parameswaran@broadcom.com> References: <1533146186-8374-1-git-send-email-arun.parameswaran@broadcom.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Use devm_mdiobus_alloc() instead of mdiobus_alloc() in the Broadcom iProc mdio mux driver. Also, clear the driver data on error from probe or when remove() is called. Signed-off-by: Arun Parameswaran --- drivers/net/phy/mdio-mux-bcm-iproc.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/net/phy/mdio-mux-bcm-iproc.c b/drivers/net/phy/mdio-mux-bcm-iproc.c index c36ce4b..5640d78 100644 --- a/drivers/net/phy/mdio-mux-bcm-iproc.c +++ b/drivers/net/phy/mdio-mux-bcm-iproc.c @@ -198,7 +198,7 @@ static int mdio_mux_iproc_probe(struct platform_device *pdev) return PTR_ERR(md->base); } - md->mii_bus = mdiobus_alloc(); + md->mii_bus = devm_mdiobus_alloc(&pdev->dev); if (!md->mii_bus) { dev_err(&pdev->dev, "mdiomux bus alloc failed\n"); return -ENOMEM; @@ -217,7 +217,7 @@ static int mdio_mux_iproc_probe(struct platform_device *pdev) rc = mdiobus_register(bus); if (rc) { dev_err(&pdev->dev, "mdiomux registration failed\n"); - goto out; + return rc; } platform_set_drvdata(pdev, md); @@ -226,6 +226,7 @@ static int mdio_mux_iproc_probe(struct platform_device *pdev) &md->mux_handle, md, md->mii_bus); if (rc) { dev_info(md->dev, "mdiomux initialization failed\n"); + platform_set_drvdata(pdev, NULL); goto out_register; } @@ -236,8 +237,6 @@ static int mdio_mux_iproc_probe(struct platform_device *pdev) out_register: mdiobus_unregister(bus); -out: - mdiobus_free(bus); return rc; } @@ -247,7 +246,7 @@ static int mdio_mux_iproc_remove(struct platform_device *pdev) mdio_mux_uninit(md->mux_handle); mdiobus_unregister(md->mii_bus); - mdiobus_free(md->mii_bus); + platform_set_drvdata(pdev, NULL); return 0; } -- 1.9.1