From nobody Mon Feb 9 03:00:05 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 22D9EEB64DB for ; Sat, 17 Jun 2023 10:01:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346068AbjFQKBc (ORCPT ); Sat, 17 Jun 2023 06:01:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50300 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231894AbjFQKB1 (ORCPT ); Sat, 17 Jun 2023 06:01:27 -0400 Received: from smtp.smtpout.orange.fr (smtp-14.smtpout.orange.fr [80.12.242.14]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 72044172D for ; Sat, 17 Jun 2023 03:01:26 -0700 (PDT) Received: from pop-os.home ([86.243.2.178]) by smtp.orange.fr with ESMTPA id ASkFqraCDtjdEASkFq3cXf; Sat, 17 Jun 2023 12:01:24 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wanadoo.fr; s=t20230301; t=1686996084; bh=My7bkAqqo/A13fUh68OM/EOPED/a4hAqbxm3emWVh6Q=; h=From:To:Cc:Subject:Date; b=txjyvPXyxY/c9L2a3sslO8/y2dVdUo/Maev0q63jXxrWeTnEotTvqnOB+hnzs9set fIjxlB9PRvwKXeqbXuxjFSX69EJFleDEuxwA/mHDXsWjXJHDrRtmSedffM7NNv8kzW tfKXqkHYGkLbbI0sRP2J/Z0k/0d2yDkcsGcm941fwJjKkoV/N8Id4F2zvXRoTOmO0l 7UO8sbA6JEb/hZGpOCUwtOOZfepR/F/GugdCQZDNCvc1yca8hQJ98i25GMA5UCJRdi 0Fq4IyRtWlWh37spsyOuybl7/0CoUX76XjhbXBOZ9z0DlfDD2XFQHkZRCL2gC7qSFl Nd+eokj8R0ObA== X-ME-Helo: pop-os.home X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Sat, 17 Jun 2023 12:01:24 +0200 X-ME-IP: 86.243.2.178 From: Christophe JAILLET To: Johan Hovold , Liam Girdwood , Mark Brown Cc: linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH] gnss: ubx: Use devm_regulator_get_enable_optional() Date: Sat, 17 Jun 2023 12:01:22 +0200 Message-Id: X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use devm_regulator_get_enable_optional() instead of hand writing it. It saves some line of code. Signed-off-by: Christophe JAILLET --- Note that regulator_disable() is now called after gnss_serial_free() in the error handling path of the probe and in the remove function, but it looks harmless to me. --- drivers/gnss/ubx.c | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/drivers/gnss/ubx.c b/drivers/gnss/ubx.c index c951be202ca2..0ad2a10fc9a2 100644 --- a/drivers/gnss/ubx.c +++ b/drivers/gnss/ubx.c @@ -17,7 +17,6 @@ #include "serial.h" =20 struct ubx_data { - struct regulator *v_bckp; struct regulator *vcc; }; =20 @@ -87,30 +86,16 @@ static int ubx_probe(struct serdev_device *serdev) goto err_free_gserial; } =20 - data->v_bckp =3D devm_regulator_get_optional(&serdev->dev, "v-bckp"); - if (IS_ERR(data->v_bckp)) { - ret =3D PTR_ERR(data->v_bckp); - if (ret =3D=3D -ENODEV) - data->v_bckp =3D NULL; - else - goto err_free_gserial; - } - - if (data->v_bckp) { - ret =3D regulator_enable(data->v_bckp); - if (ret) - goto err_free_gserial; - } + ret =3D devm_regulator_get_enable_optional(&serdev->dev, "v-bckp"); + if (ret) + goto err_free_gserial; =20 ret =3D gnss_serial_register(gserial); if (ret) - goto err_disable_v_bckp; + goto err_free_gserial; =20 return 0; =20 -err_disable_v_bckp: - if (data->v_bckp) - regulator_disable(data->v_bckp); err_free_gserial: gnss_serial_free(gserial); =20 @@ -120,11 +105,8 @@ static int ubx_probe(struct serdev_device *serdev) static void ubx_remove(struct serdev_device *serdev) { struct gnss_serial *gserial =3D serdev_device_get_drvdata(serdev); - struct ubx_data *data =3D gnss_serial_get_drvdata(gserial); =20 gnss_serial_deregister(gserial); - if (data->v_bckp) - regulator_disable(data->v_bckp); gnss_serial_free(gserial); } =20 --=20 2.34.1