From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============0757938474882989605==" MIME-Version: 1.0 From: kernel test robot Subject: drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c:393 phy_meson_axg_mipi_dphy_probe() warn: 'priv->clk' not released on lines: 386, 393. Date: Tue, 22 Jun 2021 20:51:31 +0800 Message-ID: <202106222029.VUDexGpd-lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============0757938474882989605== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CC: kbuild-all(a)lists.01.org CC: linux-kernel(a)vger.kernel.org TO: Neil Armstrong CC: Vinod Koul tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: a96bfed64c8986d6404e553f18203cae1f5ac7e6 commit: 76aefb221146dbe0de124f566329c76d5dcf118a phy: amlogic: Add AXG MIPI= D-PHY driver date: 7 months ago :::::: branch date: 20 hours ago :::::: commit date: 7 months ago config: powerpc64-randconfig-m031-20210622 (attached as .config) compiler: powerpc64le-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c:393 phy_meson_axg_mipi_dphy_p= robe() warn: 'priv->clk' not released on lines: 386,393. vim +393 drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c 76aefb221146db Neil Armstrong 2020-11-16 332 = 76aefb221146db Neil Armstrong 2020-11-16 333 static int phy_meson_axg_mip= i_dphy_probe(struct platform_device *pdev) 76aefb221146db Neil Armstrong 2020-11-16 334 { 76aefb221146db Neil Armstrong 2020-11-16 335 struct device *dev =3D &pde= v->dev; 76aefb221146db Neil Armstrong 2020-11-16 336 struct phy_provider *phy_pr= ovider; 76aefb221146db Neil Armstrong 2020-11-16 337 struct resource *res; 76aefb221146db Neil Armstrong 2020-11-16 338 struct phy_meson_axg_mipi_d= phy_priv *priv; 76aefb221146db Neil Armstrong 2020-11-16 339 struct phy *phy; 76aefb221146db Neil Armstrong 2020-11-16 340 void __iomem *base; 76aefb221146db Neil Armstrong 2020-11-16 341 int ret; 76aefb221146db Neil Armstrong 2020-11-16 342 = 76aefb221146db Neil Armstrong 2020-11-16 343 priv =3D devm_kzalloc(dev, = sizeof(*priv), GFP_KERNEL); 76aefb221146db Neil Armstrong 2020-11-16 344 if (!priv) 76aefb221146db Neil Armstrong 2020-11-16 345 return -ENOMEM; 76aefb221146db Neil Armstrong 2020-11-16 346 = 76aefb221146db Neil Armstrong 2020-11-16 347 priv->dev =3D dev; 76aefb221146db Neil Armstrong 2020-11-16 348 platform_set_drvdata(pdev, = priv); 76aefb221146db Neil Armstrong 2020-11-16 349 = 76aefb221146db Neil Armstrong 2020-11-16 350 res =3D platform_get_resour= ce(pdev, IORESOURCE_MEM, 0); 76aefb221146db Neil Armstrong 2020-11-16 351 base =3D devm_ioremap_resou= rce(dev, res); 76aefb221146db Neil Armstrong 2020-11-16 352 if (IS_ERR(base)) 76aefb221146db Neil Armstrong 2020-11-16 353 return PTR_ERR(base); 76aefb221146db Neil Armstrong 2020-11-16 354 = 76aefb221146db Neil Armstrong 2020-11-16 355 priv->regmap =3D devm_regma= p_init_mmio(dev, base, 76aefb221146db Neil Armstrong 2020-11-16 356 &phy_meson_axg_mipi_dph= y_regmap_conf); 76aefb221146db Neil Armstrong 2020-11-16 357 if (IS_ERR(priv->regmap)) 76aefb221146db Neil Armstrong 2020-11-16 358 return PTR_ERR(priv->regma= p); 76aefb221146db Neil Armstrong 2020-11-16 359 = 76aefb221146db Neil Armstrong 2020-11-16 360 priv->clk =3D devm_clk_get(= dev, "pclk"); 76aefb221146db Neil Armstrong 2020-11-16 361 if (IS_ERR(priv->clk)) 76aefb221146db Neil Armstrong 2020-11-16 362 return PTR_ERR(priv->clk); 76aefb221146db Neil Armstrong 2020-11-16 363 = 76aefb221146db Neil Armstrong 2020-11-16 364 priv->reset =3D devm_reset_= control_get(dev, "phy"); 76aefb221146db Neil Armstrong 2020-11-16 365 if (IS_ERR(priv->reset)) 76aefb221146db Neil Armstrong 2020-11-16 366 return PTR_ERR(priv->reset= ); 76aefb221146db Neil Armstrong 2020-11-16 367 = 76aefb221146db Neil Armstrong 2020-11-16 368 priv->analog =3D devm_phy_g= et(dev, "analog"); 76aefb221146db Neil Armstrong 2020-11-16 369 if (IS_ERR(priv->analog)) 76aefb221146db Neil Armstrong 2020-11-16 370 return PTR_ERR(priv->analo= g); 76aefb221146db Neil Armstrong 2020-11-16 371 = 76aefb221146db Neil Armstrong 2020-11-16 372 ret =3D clk_prepare_enable(= priv->clk); 76aefb221146db Neil Armstrong 2020-11-16 373 if (ret) 76aefb221146db Neil Armstrong 2020-11-16 374 return ret; 76aefb221146db Neil Armstrong 2020-11-16 375 = 76aefb221146db Neil Armstrong 2020-11-16 376 ret =3D reset_control_deass= ert(priv->reset); 76aefb221146db Neil Armstrong 2020-11-16 377 if (ret) 76aefb221146db Neil Armstrong 2020-11-16 378 return ret; 76aefb221146db Neil Armstrong 2020-11-16 379 = 76aefb221146db Neil Armstrong 2020-11-16 380 phy =3D devm_phy_create(dev= , NULL, &phy_meson_axg_mipi_dphy_ops); 76aefb221146db Neil Armstrong 2020-11-16 381 if (IS_ERR(phy)) { 76aefb221146db Neil Armstrong 2020-11-16 382 ret =3D PTR_ERR(phy); 76aefb221146db Neil Armstrong 2020-11-16 383 if (ret !=3D -EPROBE_DEFER) 76aefb221146db Neil Armstrong 2020-11-16 384 dev_err(dev, "failed to c= reate PHY\n"); 76aefb221146db Neil Armstrong 2020-11-16 385 = 76aefb221146db Neil Armstrong 2020-11-16 386 return ret; 76aefb221146db Neil Armstrong 2020-11-16 387 } 76aefb221146db Neil Armstrong 2020-11-16 388 = 76aefb221146db Neil Armstrong 2020-11-16 389 phy_set_drvdata(phy, priv); 76aefb221146db Neil Armstrong 2020-11-16 390 = 76aefb221146db Neil Armstrong 2020-11-16 391 phy_provider =3D devm_of_ph= y_provider_register(dev, of_phy_simple_xlate); 76aefb221146db Neil Armstrong 2020-11-16 392 = 76aefb221146db Neil Armstrong 2020-11-16 @393 return PTR_ERR_OR_ZERO(phy_= provider); 76aefb221146db Neil Armstrong 2020-11-16 394 } 76aefb221146db Neil Armstrong 2020-11-16 395 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============0757938474882989605== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 Y6GpF9jD/wPStjXjnBQCAA== --===============0757938474882989605==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============1840710709310642333==" MIME-Version: 1.0 From: Dan Carpenter To: kbuild-all@lists.01.org Subject: drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c:393 phy_meson_axg_mipi_dphy_probe() warn: 'priv->clk' not released on lines: 386, 393. Date: Tue, 22 Jun 2021 15:57:04 +0300 Message-ID: <202106222029.VUDexGpd-lkp@intel.com> List-Id: --===============1840710709310642333== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: a96bfed64c8986d6404e553f18203cae1f5ac7e6 commit: 76aefb221146dbe0de124f566329c76d5dcf118a phy: amlogic: Add AXG MIPI= D-PHY driver config: powerpc64-randconfig-m031-20210622 (attached as .config) compiler: powerpc64le-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c:393 phy_meson_axg_mipi_dphy_p= robe() warn: 'priv->clk' not released on lines: 386,393. vim +393 drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c 76aefb221146db Neil Armstrong 2020-11-16 333 static int phy_meson_axg_mip= i_dphy_probe(struct platform_device *pdev) 76aefb221146db Neil Armstrong 2020-11-16 334 { 76aefb221146db Neil Armstrong 2020-11-16 335 struct device *dev =3D &pde= v->dev; 76aefb221146db Neil Armstrong 2020-11-16 336 struct phy_provider *phy_pr= ovider; 76aefb221146db Neil Armstrong 2020-11-16 337 struct resource *res; 76aefb221146db Neil Armstrong 2020-11-16 338 struct phy_meson_axg_mipi_d= phy_priv *priv; 76aefb221146db Neil Armstrong 2020-11-16 339 struct phy *phy; 76aefb221146db Neil Armstrong 2020-11-16 340 void __iomem *base; 76aefb221146db Neil Armstrong 2020-11-16 341 int ret; 76aefb221146db Neil Armstrong 2020-11-16 342 = 76aefb221146db Neil Armstrong 2020-11-16 343 priv =3D devm_kzalloc(dev, = sizeof(*priv), GFP_KERNEL); 76aefb221146db Neil Armstrong 2020-11-16 344 if (!priv) 76aefb221146db Neil Armstrong 2020-11-16 345 return -ENOMEM; 76aefb221146db Neil Armstrong 2020-11-16 346 = 76aefb221146db Neil Armstrong 2020-11-16 347 priv->dev =3D dev; 76aefb221146db Neil Armstrong 2020-11-16 348 platform_set_drvdata(pdev, = priv); 76aefb221146db Neil Armstrong 2020-11-16 349 = 76aefb221146db Neil Armstrong 2020-11-16 350 res =3D platform_get_resour= ce(pdev, IORESOURCE_MEM, 0); 76aefb221146db Neil Armstrong 2020-11-16 351 base =3D devm_ioremap_resou= rce(dev, res); 76aefb221146db Neil Armstrong 2020-11-16 352 if (IS_ERR(base)) 76aefb221146db Neil Armstrong 2020-11-16 353 return PTR_ERR(base); 76aefb221146db Neil Armstrong 2020-11-16 354 = 76aefb221146db Neil Armstrong 2020-11-16 355 priv->regmap =3D devm_regma= p_init_mmio(dev, base, 76aefb221146db Neil Armstrong 2020-11-16 356 &phy_meson_axg_mipi_dph= y_regmap_conf); 76aefb221146db Neil Armstrong 2020-11-16 357 if (IS_ERR(priv->regmap)) 76aefb221146db Neil Armstrong 2020-11-16 358 return PTR_ERR(priv->regma= p); 76aefb221146db Neil Armstrong 2020-11-16 359 = 76aefb221146db Neil Armstrong 2020-11-16 360 priv->clk =3D devm_clk_get(= dev, "pclk"); 76aefb221146db Neil Armstrong 2020-11-16 361 if (IS_ERR(priv->clk)) 76aefb221146db Neil Armstrong 2020-11-16 362 return PTR_ERR(priv->clk); 76aefb221146db Neil Armstrong 2020-11-16 363 = 76aefb221146db Neil Armstrong 2020-11-16 364 priv->reset =3D devm_reset_= control_get(dev, "phy"); 76aefb221146db Neil Armstrong 2020-11-16 365 if (IS_ERR(priv->reset)) 76aefb221146db Neil Armstrong 2020-11-16 366 return PTR_ERR(priv->reset= ); 76aefb221146db Neil Armstrong 2020-11-16 367 = 76aefb221146db Neil Armstrong 2020-11-16 368 priv->analog =3D devm_phy_g= et(dev, "analog"); 76aefb221146db Neil Armstrong 2020-11-16 369 if (IS_ERR(priv->analog)) 76aefb221146db Neil Armstrong 2020-11-16 370 return PTR_ERR(priv->analo= g); 76aefb221146db Neil Armstrong 2020-11-16 371 = 76aefb221146db Neil Armstrong 2020-11-16 372 ret =3D clk_prepare_enable(= priv->clk); ^^^^^^^^^^^^^^^^^^^^^^^^^^^= ^^^^^^^^ Is this worth unwinding if we hit an error later on? I doubt it really matters. #StaticCheckerProblems 76aefb221146db Neil Armstrong 2020-11-16 373 if (ret) 76aefb221146db Neil Armstrong 2020-11-16 374 return ret; 76aefb221146db Neil Armstrong 2020-11-16 375 = 76aefb221146db Neil Armstrong 2020-11-16 376 ret =3D reset_control_deass= ert(priv->reset); 76aefb221146db Neil Armstrong 2020-11-16 377 if (ret) 76aefb221146db Neil Armstrong 2020-11-16 378 return ret; ^^^^^^^^^^ 76aefb221146db Neil Armstrong 2020-11-16 379 = 76aefb221146db Neil Armstrong 2020-11-16 380 phy =3D devm_phy_create(dev= , NULL, &phy_meson_axg_mipi_dphy_ops); 76aefb221146db Neil Armstrong 2020-11-16 381 if (IS_ERR(phy)) { 76aefb221146db Neil Armstrong 2020-11-16 382 ret =3D PTR_ERR(phy); 76aefb221146db Neil Armstrong 2020-11-16 383 if (ret !=3D -EPROBE_DEFER) 76aefb221146db Neil Armstrong 2020-11-16 384 dev_err(dev, "failed to c= reate PHY\n"); 76aefb221146db Neil Armstrong 2020-11-16 385 = 76aefb221146db Neil Armstrong 2020-11-16 386 return ret; 76aefb221146db Neil Armstrong 2020-11-16 387 } 76aefb221146db Neil Armstrong 2020-11-16 388 = 76aefb221146db Neil Armstrong 2020-11-16 389 phy_set_drvdata(phy, priv); 76aefb221146db Neil Armstrong 2020-11-16 390 = 76aefb221146db Neil Armstrong 2020-11-16 391 phy_provider =3D devm_of_ph= y_provider_register(dev, of_phy_simple_xlate); 76aefb221146db Neil Armstrong 2020-11-16 392 = 76aefb221146db Neil Armstrong 2020-11-16 @393 return PTR_ERR_OR_ZERO(phy_= provider); 76aefb221146db Neil Armstrong 2020-11-16 394 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============1840710709310642333==-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.3 required=3.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D7EFAC2B9F4 for ; Tue, 22 Jun 2021 12:57:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B9D0E60720 for ; Tue, 22 Jun 2021 12:57:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231895AbhFVM7i (ORCPT ); Tue, 22 Jun 2021 08:59:38 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]:8124 "EHLO mx0a-00069f02.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231236AbhFVM7h (ORCPT ); Tue, 22 Jun 2021 08:59:37 -0400 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 15MClR1P025456; Tue, 22 Jun 2021 12:57:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : mime-version : content-type; s=corp-2020-01-29; bh=S/uGZRhyFZsoHqz7LEjw9yEJBAGbkOOvywd3Z5k4yXk=; b=WJGoZGto1QZPVQ+aJ3iF7pGEJcrUqlgMrdr09bcoBtQe4U4VVpqzOW5kWrIVqwWCn7u8 U3mxv9ER6e+vFbUXxBsE93pd+AtCN4d8tXnNABPY2GKr0mO547JYDvNz5jeUjoKxElIY c39/qUf+rzUU2Z8Ncznr5bB3XuyhBrZkeih5KqJhZEtD033JNvAaeZmQ8v3KlKbv0PSk 8i0+lDHi0mUp/EJ7dkr7Un7L8HWyAX+VcsW5R+WQB9AdUp3K8lsB+LzSp85NgxCbZ8UL 0mdUByv1eOgMVTscCfGQXsywTZn4JAx7zplMO8y1nU+2/qMJYQdcINfPTciaACD79nk1 0w== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 39aqqvu34x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 22 Jun 2021 12:57:16 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 15MCpCor085082; Tue, 22 Jun 2021 12:57:15 GMT Received: from pps.reinject (localhost [127.0.0.1]) by userp3030.oracle.com with ESMTP id 3995pw82r2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 22 Jun 2021 12:57:15 +0000 Received: from userp3030.oracle.com (userp3030.oracle.com [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id 15MCvFTK108628; Tue, 22 Jun 2021 12:57:15 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3030.oracle.com with ESMTP id 3995pw82qf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 22 Jun 2021 12:57:14 +0000 Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 15MCvBBV001407; Tue, 22 Jun 2021 12:57:11 GMT Received: from kadam (/102.222.70.252) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 22 Jun 2021 05:57:10 -0700 Date: Tue, 22 Jun 2021 15:57:04 +0300 From: Dan Carpenter To: kbuild@lists.01.org, Neil Armstrong Cc: lkp@intel.com, kbuild-all@lists.01.org, linux-kernel@vger.kernel.org, Vinod Koul Subject: drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c:393 phy_meson_axg_mipi_dphy_probe() warn: 'priv->clk' not released on lines: 386,393. Message-ID: <202106222029.VUDexGpd-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.9.4 (2018-02-28) X-Proofpoint-ORIG-GUID: Qtqpvg3liO5u11lkG2A7wmtiwkZxMnWm X-Proofpoint-GUID: Qtqpvg3liO5u11lkG2A7wmtiwkZxMnWm Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: a96bfed64c8986d6404e553f18203cae1f5ac7e6 commit: 76aefb221146dbe0de124f566329c76d5dcf118a phy: amlogic: Add AXG MIPI D-PHY driver config: powerpc64-randconfig-m031-20210622 (attached as .config) compiler: powerpc64le-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c:393 phy_meson_axg_mipi_dphy_probe() warn: 'priv->clk' not released on lines: 386,393. vim +393 drivers/phy/amlogic/phy-meson-axg-mipi-dphy.c 76aefb221146db Neil Armstrong 2020-11-16 333 static int phy_meson_axg_mipi_dphy_probe(struct platform_device *pdev) 76aefb221146db Neil Armstrong 2020-11-16 334 { 76aefb221146db Neil Armstrong 2020-11-16 335 struct device *dev = &pdev->dev; 76aefb221146db Neil Armstrong 2020-11-16 336 struct phy_provider *phy_provider; 76aefb221146db Neil Armstrong 2020-11-16 337 struct resource *res; 76aefb221146db Neil Armstrong 2020-11-16 338 struct phy_meson_axg_mipi_dphy_priv *priv; 76aefb221146db Neil Armstrong 2020-11-16 339 struct phy *phy; 76aefb221146db Neil Armstrong 2020-11-16 340 void __iomem *base; 76aefb221146db Neil Armstrong 2020-11-16 341 int ret; 76aefb221146db Neil Armstrong 2020-11-16 342 76aefb221146db Neil Armstrong 2020-11-16 343 priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); 76aefb221146db Neil Armstrong 2020-11-16 344 if (!priv) 76aefb221146db Neil Armstrong 2020-11-16 345 return -ENOMEM; 76aefb221146db Neil Armstrong 2020-11-16 346 76aefb221146db Neil Armstrong 2020-11-16 347 priv->dev = dev; 76aefb221146db Neil Armstrong 2020-11-16 348 platform_set_drvdata(pdev, priv); 76aefb221146db Neil Armstrong 2020-11-16 349 76aefb221146db Neil Armstrong 2020-11-16 350 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 76aefb221146db Neil Armstrong 2020-11-16 351 base = devm_ioremap_resource(dev, res); 76aefb221146db Neil Armstrong 2020-11-16 352 if (IS_ERR(base)) 76aefb221146db Neil Armstrong 2020-11-16 353 return PTR_ERR(base); 76aefb221146db Neil Armstrong 2020-11-16 354 76aefb221146db Neil Armstrong 2020-11-16 355 priv->regmap = devm_regmap_init_mmio(dev, base, 76aefb221146db Neil Armstrong 2020-11-16 356 &phy_meson_axg_mipi_dphy_regmap_conf); 76aefb221146db Neil Armstrong 2020-11-16 357 if (IS_ERR(priv->regmap)) 76aefb221146db Neil Armstrong 2020-11-16 358 return PTR_ERR(priv->regmap); 76aefb221146db Neil Armstrong 2020-11-16 359 76aefb221146db Neil Armstrong 2020-11-16 360 priv->clk = devm_clk_get(dev, "pclk"); 76aefb221146db Neil Armstrong 2020-11-16 361 if (IS_ERR(priv->clk)) 76aefb221146db Neil Armstrong 2020-11-16 362 return PTR_ERR(priv->clk); 76aefb221146db Neil Armstrong 2020-11-16 363 76aefb221146db Neil Armstrong 2020-11-16 364 priv->reset = devm_reset_control_get(dev, "phy"); 76aefb221146db Neil Armstrong 2020-11-16 365 if (IS_ERR(priv->reset)) 76aefb221146db Neil Armstrong 2020-11-16 366 return PTR_ERR(priv->reset); 76aefb221146db Neil Armstrong 2020-11-16 367 76aefb221146db Neil Armstrong 2020-11-16 368 priv->analog = devm_phy_get(dev, "analog"); 76aefb221146db Neil Armstrong 2020-11-16 369 if (IS_ERR(priv->analog)) 76aefb221146db Neil Armstrong 2020-11-16 370 return PTR_ERR(priv->analog); 76aefb221146db Neil Armstrong 2020-11-16 371 76aefb221146db Neil Armstrong 2020-11-16 372 ret = clk_prepare_enable(priv->clk); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Is this worth unwinding if we hit an error later on? I doubt it really matters. #StaticCheckerProblems 76aefb221146db Neil Armstrong 2020-11-16 373 if (ret) 76aefb221146db Neil Armstrong 2020-11-16 374 return ret; 76aefb221146db Neil Armstrong 2020-11-16 375 76aefb221146db Neil Armstrong 2020-11-16 376 ret = reset_control_deassert(priv->reset); 76aefb221146db Neil Armstrong 2020-11-16 377 if (ret) 76aefb221146db Neil Armstrong 2020-11-16 378 return ret; ^^^^^^^^^^ 76aefb221146db Neil Armstrong 2020-11-16 379 76aefb221146db Neil Armstrong 2020-11-16 380 phy = devm_phy_create(dev, NULL, &phy_meson_axg_mipi_dphy_ops); 76aefb221146db Neil Armstrong 2020-11-16 381 if (IS_ERR(phy)) { 76aefb221146db Neil Armstrong 2020-11-16 382 ret = PTR_ERR(phy); 76aefb221146db Neil Armstrong 2020-11-16 383 if (ret != -EPROBE_DEFER) 76aefb221146db Neil Armstrong 2020-11-16 384 dev_err(dev, "failed to create PHY\n"); 76aefb221146db Neil Armstrong 2020-11-16 385 76aefb221146db Neil Armstrong 2020-11-16 386 return ret; 76aefb221146db Neil Armstrong 2020-11-16 387 } 76aefb221146db Neil Armstrong 2020-11-16 388 76aefb221146db Neil Armstrong 2020-11-16 389 phy_set_drvdata(phy, priv); 76aefb221146db Neil Armstrong 2020-11-16 390 76aefb221146db Neil Armstrong 2020-11-16 391 phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); 76aefb221146db Neil Armstrong 2020-11-16 392 76aefb221146db Neil Armstrong 2020-11-16 @393 return PTR_ERR_OR_ZERO(phy_provider); 76aefb221146db Neil Armstrong 2020-11-16 394 } --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org