From nobody Tue Dec 16 19:42:59 2025 Received: from mail-oo1-f48.google.com (mail-oo1-f48.google.com [209.85.161.48]) (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 4868D16D310 for ; Fri, 21 Jun 2024 22:12:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007925; cv=none; b=jfBtR+WiUd5c8VHt+c5UjpooM9x7hEsAcsaUoX88ZUtnUeAVZ7XAu/ruKQjMDbRpSKIUrg1IElOpN1Vy+632mf5DgiCSeNFuziO2AtFNkUylpSb9MudAASNVUfW7EBTzcyW/5jUQOjXInyK13rLD1NurS45R1ini/I32QcdX9eo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007925; c=relaxed/simple; bh=dFyOMn9zYwY5ETeFlyN+7rPTFpa4/nhO8WZn4HyNnY0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=qiPIFVuR0TnarODk8wcvdbXh23I5PrBFobhveneNckQWMMhvlwPIZAKjh/QVMnVrtKemqEM5Uxo/k8psmW2XSrdJ6d4PpSva3aquWUgDtIkLNLK2yvooYiXE+nfpuPegRORU8cVAO9BqqnWg3ZUnpBbER89ngMObXNrc/rqqW9U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=n0oIgT4o; arc=none smtp.client-ip=209.85.161.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="n0oIgT4o" Received: by mail-oo1-f48.google.com with SMTP id 006d021491bc7-5ba33b08550so1134562eaf.2 for ; Fri, 21 Jun 2024 15:12:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1719007923; x=1719612723; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hVRdFKhvRMw+/o8IRTEZqQPsLylWpccjPYBus1uBROU=; b=n0oIgT4onepIHLum6zyxgtewIffvpmTuZLFg352UnUsM0dXDMT3+B+z5VoMxd0adD7 y+i42OOC/EKZHAarq+jEcFERgwLhhEWKxvut3872d8CTs55qPeYOMD+9O5g3eNtX4keE KeDimLy3ABGU+yatdpgmCExOiZUw3IUaP0joaO+uF5v9A+LoH2LKaZKBs0ByutKX5r3G o7/ddUiDK+4gOSfXxq1PeSaOoqubblFdGAtA+N5387jlPiTbFw0LcAtE5ujIuEGuvpig OOCTBq0iDdQS3UxSCJgQfj3Ponqw2T8A/DIAyooGFjiuCE4kLSOPrzsJpYJ6s1ZasrLh IVHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719007923; x=1719612723; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hVRdFKhvRMw+/o8IRTEZqQPsLylWpccjPYBus1uBROU=; b=e3BjaUkCSi5aPZePcxTUdG/4yPGLrfx81ermvDIfImmOqY/9IV2Hq4MNvbCj2OVDUT h8dX5hKbUM9niuLu+ZwNoNWZHSI6c17M4xv9tV46OWwgQr9DrZjT5UKvN9SdvyLC4zfq BKc1i7vA94sN8Ru4YLp/dJHIx/P+UHQcB+1N6Sj+0d4yIVssJP7MMC+HbL8i+fT+B6AQ wdh3gYQFYfS0pUnw6sIXVhAQ4YFfh+9ImFqTZKd9xVYKPmSMc8YPFGJFf1aC+h6G70I2 jiq4SbqejI8K4ptZWA7qAp1719Th4EMmguVWC7yu/oZfKPYevQy8bL0vpZmNeG4uFAzj kfHQ== X-Forwarded-Encrypted: i=1; AJvYcCVA4FwhfScdZby8us+3J5v/6Ze1wKtgJJnYURYhxEc9qXAShkbWtMIGPGxw5V5eN8e0U0lJAkGWo43b8NlgJZrGjvFIVR3SRonaYuQg X-Gm-Message-State: AOJu0Yw2rjFbbYdiJCvGmShrdE8YsJeDp1bH1Hqcfv4m0R+Uejb3q/Qz DNac2/x2ZhY+iQaYg0uuH0FBBJ7YGiTnCSsL0qvVxFSxnluLy842Gc1Q8rLNP9w= X-Google-Smtp-Source: AGHT+IEAf590qHVXQF6WIVmoewi4OMSB/t6gCupkb1CE8LPyqCFfpCApy+8JHvS/R19jM823AhGK8A== X-Received: by 2002:a4a:ea0a:0:b0:5c1:b998:a861 with SMTP id 006d021491bc7-5c1b998a905mr8204856eaf.5.1719007923356; Fri, 21 Jun 2024 15:12:03 -0700 (PDT) Received: from freyr.lechnology.com (ip98-183-112-25.ok.ok.cox.net. [98.183.112.25]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5c1d94fb2a4sm329837eaf.10.2024.06.21.15.12.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jun 2024 15:12:03 -0700 (PDT) From: David Lechner To: Jonathan Cameron Cc: David Lechner , Joel Stanley , Andrew Jeffery , Liam Girdwood , Mark Brown , Andreas Klinger , Michael Hennerich , =?utf-8?q?Nuno_S=C3=A1?= , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 01/10] iio: adc: aspeed_adc: use devm_regulator_get_enable_read_voltage() Date: Fri, 21 Jun 2024 17:11:48 -0500 Message-ID: <20240621-iio-regulator-refactor-round-2-v1-1-49e50cd0b99a@baylibre.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> References: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.12.4 Content-Transfer-Encoding: quoted-printable This makes use of the devm_regulator_get_enable_read_voltage() helper function to simplify the code. The error return is moved closer to the function call to make it easier to follow the logic. And a few blank lines are added for readability. Signed-off-by: David Lechner Reviewed-by: Andrew Jeffery --- drivers/iio/adc/aspeed_adc.c | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/drivers/iio/adc/aspeed_adc.c b/drivers/iio/adc/aspeed_adc.c index 998e8bcc06e1..090416c0d622 100644 --- a/drivers/iio/adc/aspeed_adc.c +++ b/drivers/iio/adc/aspeed_adc.c @@ -108,7 +108,6 @@ struct adc_gain { struct aspeed_adc_data { struct device *dev; const struct aspeed_adc_model_data *model_data; - struct regulator *regulator; void __iomem *base; spinlock_t clk_lock; struct clk_hw *fixed_div_clk; @@ -404,13 +403,6 @@ static void aspeed_adc_power_down(void *data) priv_data->base + ASPEED_REG_ENGINE_CONTROL); } =20 -static void aspeed_adc_reg_disable(void *data) -{ - struct regulator *reg =3D data; - - regulator_disable(reg); -} - static int aspeed_adc_vref_config(struct iio_dev *indio_dev) { struct aspeed_adc_data *data =3D iio_priv(indio_dev); @@ -423,18 +415,14 @@ static int aspeed_adc_vref_config(struct iio_dev *ind= io_dev) } adc_engine_control_reg_val =3D readl(data->base + ASPEED_REG_ENGINE_CONTROL); - data->regulator =3D devm_regulator_get_optional(data->dev, "vref"); - if (!IS_ERR(data->regulator)) { - ret =3D regulator_enable(data->regulator); - if (ret) - return ret; - ret =3D devm_add_action_or_reset( - data->dev, aspeed_adc_reg_disable, data->regulator); - if (ret) - return ret; - data->vref_mv =3D regulator_get_voltage(data->regulator); - /* Conversion from uV to mV */ - data->vref_mv /=3D 1000; + + ret =3D devm_regulator_get_enable_read_voltage(data->dev, "vref"); + if (ret < 0 && ret !=3D -ENODEV) + return ret; + + if (ret !=3D -ENODEV) { + data->vref_mv =3D ret / 1000; + if ((data->vref_mv >=3D 1550) && (data->vref_mv <=3D 2700)) writel(adc_engine_control_reg_val | FIELD_PREP( @@ -453,8 +441,6 @@ static int aspeed_adc_vref_config(struct iio_dev *indio= _dev) return -EOPNOTSUPP; } } else { - if (PTR_ERR(data->regulator) !=3D -ENODEV) - return PTR_ERR(data->regulator); data->vref_mv =3D 2500000; of_property_read_u32(data->dev->of_node, "aspeed,int-vref-microvolt", --=20 2.45.2 From nobody Tue Dec 16 19:42:59 2025 Received: from mail-oo1-f45.google.com (mail-oo1-f45.google.com [209.85.161.45]) (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 6B1D417C227 for ; Fri, 21 Jun 2024 22:12:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007927; cv=none; b=myfYqhPHLOLRq9l/VtV8/Gt0RXuW+sNggY40qYZijFjR0t4lLAnSx5ZHuCCcEmD3OPFUFRxI5i7Y3ZtEkievfxiIb9B5Ss+W5q1k1Ckt6G6jqmwygK7I5V8YEyTsEsQ66pOKejghfNtliLICFwcwAqxIaKlrmZoI6Serhe2gzzs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007927; c=relaxed/simple; bh=72ifk851A+wshsZunu+4+cPq6YsaruRIFtb/gWfz2Gk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=tB42eKoQ/18YfeLIpDWXO+M/nUISBr8vwkQLK/u+4/ecxVoncB4EjkLIwBoen9bbhobi97ZM0NtS3guk7Waz1Ld79wAmdVjH2SZ0A/7hHVY3cc36VRpPcGVrbYBEwkLenPIGpo1ushxpc6vKmFNUN3m81bL/LHz/22KgwYBt7hY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=1pXtyYya; arc=none smtp.client-ip=209.85.161.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="1pXtyYya" Received: by mail-oo1-f45.google.com with SMTP id 006d021491bc7-5b970a97e8eso1389237eaf.1 for ; Fri, 21 Jun 2024 15:12:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1719007924; x=1719612724; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cA2vZ5H4zhrRVMGC41BbSeo0sgv1/DHDpLqlssCbQtI=; b=1pXtyYyae8kHfLqsm0MJrlVoF10LnG9A0v4nE1rxPZLXR56BRO/+KyAeMMYvHT0jLr WOOMPbPvxJjyN21EweQWqOB3kos3p8tOdg3ZZJyZrTRZbgTlXQ++4pCZCbFPnnAQKqa4 iR//aHLHeiHlnoksKvsF6t40YU2oG4hoNTDs70+XO2Km79thJtsyp+oEBHdZt3b1q0lL nbw5H2VGhZJgCxqZObtxBUSHQ/i84gjmsWagv02/An0FKgQVSmDxER+R2djyt1EMS3rr vrdogpc2acDnxtxCba0G5w6YQ2KgGJBNZy0j9nZ7chfunNVnwoUiGJaF0IqQ08XIpqir VOMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719007924; x=1719612724; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cA2vZ5H4zhrRVMGC41BbSeo0sgv1/DHDpLqlssCbQtI=; b=DXVPqX4pVF49K1262O8nsrluCtT3ALEYYmUO97q5eVlBwDwYu3YR9h7VAJPxIAXRqB aF7YMN21/ZoX/zZ7Md/AqqeohwRc5s+WUxlw4JvhmHOjAO4LOIWfiEh1C3BG4fWOFfs+ aivpgpfl51zru/uTSDltPRDVRtzBTM4NnQapEj7kvh68XtnD4xGtTANqkbTfrjDDwNMG BTPmb/no/jlmrYl9MChGKCleTEoB8dKj2Yyhf+AIc4tlWDkYi8Qdeia9H6MIaDoL5AXD djHwoJLQWPEzXprVlgeLvWNgTO7ogOF707OiKgz9uXd9txAdB37gGpRQkjh1StvEgLB5 gyoQ== X-Forwarded-Encrypted: i=1; AJvYcCXvDIPSJ7TkKtZz9mqH/D779YheXK9vObPk6M+N62z0g4FwEnzdvwn84ejDFlEjSG2bLR/flY8UEYw3Y8lBtSbkDmbNlF5XA8KZOP2u X-Gm-Message-State: AOJu0Yy7irEvlAM/YqCQePGqF09LuC/QPY+75JHehbEhEijEWQZN0lYW lBX1g3HxPgO2DOGePNB5HIUcWPNYHzSQAYN96aRcOkEEK043PfIrAxCnRBTBn34= X-Google-Smtp-Source: AGHT+IGPEjYzZuYy0PUyybo/Jr5W5tkGRhnX5VFZ0jGpJucieHOIXpFu0GRrOvhhGuVkoDgVWKm7XQ== X-Received: by 2002:a4a:7619:0:b0:5bb:288:e955 with SMTP id 006d021491bc7-5c1adc6fb4emr9863944eaf.8.1719007924414; Fri, 21 Jun 2024 15:12:04 -0700 (PDT) Received: from freyr.lechnology.com (ip98-183-112-25.ok.ok.cox.net. [98.183.112.25]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5c1d94fb2a4sm329837eaf.10.2024.06.21.15.12.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jun 2024 15:12:04 -0700 (PDT) From: David Lechner To: Jonathan Cameron Cc: David Lechner , Joel Stanley , Andrew Jeffery , Liam Girdwood , Mark Brown , Andreas Klinger , Michael Hennerich , =?utf-8?q?Nuno_S=C3=A1?= , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 02/10] iio: adc: hx711: use devm_regulator_get_enable_read_voltage() Date: Fri, 21 Jun 2024 17:11:49 -0500 Message-ID: <20240621-iio-regulator-refactor-round-2-v1-2-49e50cd0b99a@baylibre.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> References: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.12.4 Content-Transfer-Encoding: quoted-printable Use the devm_regulator_get_enable_read_voltage() helper to simplify the code. Signed-off-by: David Lechner Reviewed-by: Andreas Klinger --- drivers/iio/adc/hx711.c | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/drivers/iio/adc/hx711.c b/drivers/iio/adc/hx711.c index fef97c1d226a..6efdc971689c 100644 --- a/drivers/iio/adc/hx711.c +++ b/drivers/iio/adc/hx711.c @@ -80,7 +80,6 @@ struct hx711_data { struct device *dev; struct gpio_desc *gpiod_pd_sck; struct gpio_desc *gpiod_dout; - struct regulator *reg_avdd; int gain_set; /* gain set on device */ int gain_chan_a; /* gain for channel A */ struct mutex lock; @@ -497,11 +496,7 @@ static int hx711_probe(struct platform_device *pdev) return PTR_ERR(hx711_data->gpiod_dout); } =20 - hx711_data->reg_avdd =3D devm_regulator_get(dev, "avdd"); - if (IS_ERR(hx711_data->reg_avdd)) - return PTR_ERR(hx711_data->reg_avdd); - - ret =3D regulator_enable(hx711_data->reg_avdd); + ret =3D devm_regulator_get_enable_read_voltage(dev, "avdd"); if (ret < 0) return ret; =20 @@ -517,9 +512,6 @@ static int hx711_probe(struct platform_device *pdev) * approximately to fit into a 32 bit number: * 1 LSB =3D (AVDD * 100) / GAIN / 1678 [10^-9 mV] */ - ret =3D regulator_get_voltage(hx711_data->reg_avdd); - if (ret < 0) - goto error_regulator; =20 /* we need 10^-9 mV */ ret *=3D 100; @@ -559,7 +551,7 @@ static int hx711_probe(struct platform_device *pdev) hx711_trigger, NULL); if (ret < 0) { dev_err(dev, "setup of iio triggered buffer failed\n"); - goto error_regulator; + return ret; } =20 ret =3D iio_device_register(indio_dev); @@ -573,25 +565,17 @@ static int hx711_probe(struct platform_device *pdev) error_buffer: iio_triggered_buffer_cleanup(indio_dev); =20 -error_regulator: - regulator_disable(hx711_data->reg_avdd); - return ret; } =20 static void hx711_remove(struct platform_device *pdev) { - struct hx711_data *hx711_data; struct iio_dev *indio_dev; =20 indio_dev =3D platform_get_drvdata(pdev); - hx711_data =3D iio_priv(indio_dev); =20 iio_device_unregister(indio_dev); - iio_triggered_buffer_cleanup(indio_dev); - - regulator_disable(hx711_data->reg_avdd); } =20 static const struct of_device_id of_hx711_match[] =3D { --=20 2.45.2 From nobody Tue Dec 16 19:42:59 2025 Received: from mail-oo1-f49.google.com (mail-oo1-f49.google.com [209.85.161.49]) (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 4EEF417C20E for ; Fri, 21 Jun 2024 22:12:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007927; cv=none; b=FqzCXfj5eC+l94Zbl0pZZgCOHmhJaFEhbw6A94PxkYOucb+/CczvFIYCQSw09m8okUD4e+hmWArJe5kaLwgnK8OQLP4jCpS7r1UTlezOQFr284x2bieK5kxSn9XWB/dYimYuTTV3CpYusj1GspXdjXoqxdpFSYMmlg2XKe+WeAM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007927; c=relaxed/simple; bh=eHaw5nWHJd8mueamkfUEqSM5JDcu9mmRoW0cSKrcZN0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=hOptCsHY/jwrMJ/NFy7HW/RbF0zVNg/UWzFsmj554VIzm+iT1Ccu/GUtYu7quxW9QBgSwHkmK00Es1aG6I71NlGjNS3QaAOtFEyA3GHsAqEE7e1UQS7cvyyQwb8e4pQHFG5ZyWqtt8LztIPukR5EOvMlOqqVV/He/qkw+I5IYlI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=HUlHdQfs; arc=none smtp.client-ip=209.85.161.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="HUlHdQfs" Received: by mail-oo1-f49.google.com with SMTP id 006d021491bc7-5b9776123a3so1124816eaf.0 for ; Fri, 21 Jun 2024 15:12:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1719007925; x=1719612725; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TqnA463lWGmo1DkYd27gIKH1c3eeWL6q+1Fm9JrS/t8=; b=HUlHdQfsKCS1ekYyBvCyuTL7A2SsloE6Lbr1jRjYJ++3qHZwl/zi/uq1i2sy7lpseR RwOg2lyZIiIhgZ+QTmSq5BDO0y2XAQbEWaitKSRvXMkkwyFuOziT0FafIeqMFRsvttFk 5ajwfmasK37qTFYlOiIFuHwn7N878r4oIIlN1soRMxxgKiVV3nXTxu/fFEaAqfjnsz5s YV1MJTB1qeGhhTvMLDxQhyC4aY7msMy+rJEzl1uVevM7frsfR//ne6IIk1AVZbUS/al3 TazxJwqQf6YPx7qKUWSLYktaYcYZ89U9ICxYKJgrcG77OLG4QCxfrDT8BsSY1MFzyipD c7zQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719007925; x=1719612725; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TqnA463lWGmo1DkYd27gIKH1c3eeWL6q+1Fm9JrS/t8=; b=LNZBACGz/PjDfMoGZqZ2DxFWgm+L2SiQJQ7yZ4LPVro7o9zxB+kDcyaDBTnEXfgwrR jmhM22uTnisAlOtVlBymb75ceSGLOzekGoF8PWyn7vYXtueed7ZjMkGOz11OPkWN8snF 5W5WX6zKIlsgs/5w9m5YlB3FG3nrNmfyO47AeP9V+91VTvvvC85Pz/YMgqIKLL+ZJWfj 3EdPCgjqudDj91+rCe1P1+U0EJDnXLJw3j7l4dl4YlCZK2zubzJTsnPiSHN6djjbSb++ WOXADshsDJR5svbceUfPFZ1gwm9MuA5xZbs6lA/sKC9dhhrY1OsPqStC7TM/AURPReF9 rqJA== X-Forwarded-Encrypted: i=1; AJvYcCV+Lt2cml9zI0MZN1ZTuIhF4etqAMJst2HRmvGFuNZqRZVD9KVz5TpvE/26m0p2chyEvcDLv3gwnQXWkjTcLW856w0BhddrfM1t+6p1 X-Gm-Message-State: AOJu0YyiD8mph20mZjO0EeBv51Y2XCJsciRzuq5jH4jwZVtSFlSjCqsU kaRkb9U0+4hs1gjDw7Uh9b9W3ZVXkQki1oFwt16nV3LrQcmQUH/1JVY4SLwfixU= X-Google-Smtp-Source: AGHT+IGyOuPixSMNWTrgJ93EOZnRr5Mc7Ev97HbXaH84J6/Bv30RS8z/PVagDiDtAkY5vq1kH6S7MA== X-Received: by 2002:a4a:6251:0:b0:5bf:aa53:2de7 with SMTP id 006d021491bc7-5c1adbca083mr9462944eaf.5.1719007925247; Fri, 21 Jun 2024 15:12:05 -0700 (PDT) Received: from freyr.lechnology.com (ip98-183-112-25.ok.ok.cox.net. [98.183.112.25]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5c1d94fb2a4sm329837eaf.10.2024.06.21.15.12.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jun 2024 15:12:04 -0700 (PDT) From: David Lechner To: Jonathan Cameron Cc: David Lechner , Joel Stanley , Andrew Jeffery , Liam Girdwood , Mark Brown , Andreas Klinger , Michael Hennerich , =?utf-8?q?Nuno_S=C3=A1?= , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 03/10] iio: adc: hx711: remove hx711_remove() Date: Fri, 21 Jun 2024 17:11:50 -0500 Message-ID: <20240621-iio-regulator-refactor-round-2-v1-3-49e50cd0b99a@baylibre.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> References: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.12.4 Content-Transfer-Encoding: quoted-printable By using a few more devm_ functions, we can remove the hx711_remove() function in the hx711 driver. platform_set_drvdata() is also removed since there are no more callers of platform_get_drvdata(). Signed-off-by: David Lechner Reviewed-by: Andreas Klinger --- drivers/iio/adc/hx711.c | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/drivers/iio/adc/hx711.c b/drivers/iio/adc/hx711.c index 6efdc971689c..8461b1fe6bad 100644 --- a/drivers/iio/adc/hx711.c +++ b/drivers/iio/adc/hx711.c @@ -539,43 +539,27 @@ static int hx711_probe(struct platform_device *pdev) hx711_data->data_ready_delay_ns =3D 1000000000 / hx711_data->clock_frequency; =20 - platform_set_drvdata(pdev, indio_dev); - indio_dev->name =3D "hx711"; indio_dev->info =3D &hx711_iio_info; indio_dev->modes =3D INDIO_DIRECT_MODE; indio_dev->channels =3D hx711_chan_spec; indio_dev->num_channels =3D ARRAY_SIZE(hx711_chan_spec); =20 - ret =3D iio_triggered_buffer_setup(indio_dev, iio_pollfunc_store_time, - hx711_trigger, NULL); + ret =3D devm_iio_triggered_buffer_setup(dev, indio_dev, + iio_pollfunc_store_time, + hx711_trigger, NULL); if (ret < 0) { dev_err(dev, "setup of iio triggered buffer failed\n"); return ret; } =20 - ret =3D iio_device_register(indio_dev); + ret =3D devm_iio_device_register(dev, indio_dev); if (ret < 0) { dev_err(dev, "Couldn't register the device\n"); - goto error_buffer; + return ret; } =20 return 0; - -error_buffer: - iio_triggered_buffer_cleanup(indio_dev); - - return ret; -} - -static void hx711_remove(struct platform_device *pdev) -{ - struct iio_dev *indio_dev; - - indio_dev =3D platform_get_drvdata(pdev); - - iio_device_unregister(indio_dev); - iio_triggered_buffer_cleanup(indio_dev); } =20 static const struct of_device_id of_hx711_match[] =3D { @@ -587,7 +571,6 @@ MODULE_DEVICE_TABLE(of, of_hx711_match); =20 static struct platform_driver hx711_driver =3D { .probe =3D hx711_probe, - .remove_new =3D hx711_remove, .driver =3D { .name =3D "hx711-gpio", .of_match_table =3D of_hx711_match, --=20 2.45.2 From nobody Tue Dec 16 19:43:00 2025 Received: from mail-oo1-f54.google.com (mail-oo1-f54.google.com [209.85.161.54]) (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 DED7D17C7B1 for ; Fri, 21 Jun 2024 22:12:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007928; cv=none; b=brD7p5xHmBiw1lFQXYKwO7QKnc401zTKk/io+iHbdBfXE3yzW17PdtCu8I/yUgDgEopVe6YgOWlV4mjAYE8IH1W6AHx4OFm/KfNFKWAF/6CFIkRpGIXW0pcD6L4oNmSgldmRdfMbvCgW8osDY2luEOjbxjQp2zHOF1DT7o4hFv0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007928; c=relaxed/simple; bh=CcbNgyVwV5vKSCeUsrgyuEfUik5bQgu+/dXklWHWjMA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=JKL86lYY+BiMRST985QZJZGyft6yy6EdcR0eszwF5HLH20Mhb0BzqtZXLC7IzlyxN70mCnzl0+yDDFybIoK7QuRgG7tugqLJS11qxU5Yo5sVkUd70e56eght/HUUGayGzpFZYk0osfiUhi17XlcHSiyGREM3SF1k6+9mr6C5eYs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=Q64kclxz; arc=none smtp.client-ip=209.85.161.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="Q64kclxz" Received: by mail-oo1-f54.google.com with SMTP id 006d021491bc7-5c1d42d4470so617976eaf.1 for ; Fri, 21 Jun 2024 15:12:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1719007926; x=1719612726; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PD+YDF/bIrSJ5as8z+S1ghdz1Anzvn+XbfX57fqHPgE=; b=Q64kclxzabbRvObs89ZdGByVGmalFethJ2NP7Bm00yUF7u7MnEtLTXVetgjyNN6Qpi uzK3vNjdlXBkLOK1SoXsdgf3oOSmLEzCfeMPPfJhI5tyJK3ySmdVeNaUKHUg8U3/zwsx tFvDNeVnlESkz/u7fRq5vIqK01+r4A4qELwE4jbU45qpg4ikabvTSHrKlIQSlCx2nS9S yQKVNDUqUvQEg5QvTudX4hUebSjJnrkHk+5haHm7bX6fwWEtxWsBDv5BRPOQypgpN3Bl m5PCmC5NvOLryyY5d5lMOTCskskBkB12lKPVvoRr6T+7qT+zjfEVU5XospGQjN750G45 UmKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719007926; x=1719612726; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PD+YDF/bIrSJ5as8z+S1ghdz1Anzvn+XbfX57fqHPgE=; b=AYp5HiKYVArU6DXnt0qYT6ivfRP01ZxvmAWusJUVGCd7XT9gs6HWtVPXi3X8A/ESrT xRMzEbT+aGI7RJSTJr2Oehak5lEr1PGDGFUjKTVYBANHW4iPsHzjZ5bVrcJNgk7gQuMo qkQXTzl+lfnCyMxUGntXcDwARlHi92EIB1R5ablYIudipR5Mgv7fFqObqj4l/76oJ/0s GLJM3b4fD/EIxas0X04xl0MjuL6n0Dw/7tBgT0GgtrRMJIl1WZdaWIFmv+dKMP3sCYq9 b5cAzkyz2jgtpNge/QMO4NERDfm9rUPyRwYIQb25nV67O3CMjV2qHBMiIsBz3EGLtS+5 /6TA== X-Forwarded-Encrypted: i=1; AJvYcCVQc7rx9SG+J5jM2xGVDVkTqWO/71w2HhHu6hb7SkFgML+wwQDDiAqD58USHh6z13VNJxkDgOz4yoMxRcBbK3nX1zT8GaaIOg4g5Cp+ X-Gm-Message-State: AOJu0YxDFPdT2f2mTJNwLr4Wd+uue3sSEzGoEKam6+JscLRckwhy5BNr E3cy+ENduJmalmk8xDvsAIABfLz1ovazxikUo4Bxm9w+d1rNo+RAda8KVAMU8sk= X-Google-Smtp-Source: AGHT+IG8VExe3m+Cltyn4mwfelEWS/KdStFcap+oMybDTEkuUDcJh0MBpt38tdnWmKzNqDCnxsogbA== X-Received: by 2002:a4a:dcd7:0:b0:5ba:ffcb:c756 with SMTP id 006d021491bc7-5c1b8b70a91mr8440535eaf.1.1719007926083; Fri, 21 Jun 2024 15:12:06 -0700 (PDT) Received: from freyr.lechnology.com (ip98-183-112-25.ok.ok.cox.net. [98.183.112.25]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5c1d94fb2a4sm329837eaf.10.2024.06.21.15.12.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jun 2024 15:12:05 -0700 (PDT) From: David Lechner To: Jonathan Cameron Cc: David Lechner , Joel Stanley , Andrew Jeffery , Liam Girdwood , Mark Brown , Andreas Klinger , Michael Hennerich , =?utf-8?q?Nuno_S=C3=A1?= , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 04/10] iio: adc: hx711: use dev_err_probe() Date: Fri, 21 Jun 2024 17:11:51 -0500 Message-ID: <20240621-iio-regulator-refactor-round-2-v1-4-49e50cd0b99a@baylibre.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> References: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.12.4 Content-Transfer-Encoding: quoted-printable Use dev_err_probe() to simplify error returns in the probe function. Signed-off-by: David Lechner Reviewed-by: Andreas Klinger --- drivers/iio/adc/hx711.c | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/drivers/iio/adc/hx711.c b/drivers/iio/adc/hx711.c index 8461b1fe6bad..b3372ccff7d5 100644 --- a/drivers/iio/adc/hx711.c +++ b/drivers/iio/adc/hx711.c @@ -464,10 +464,8 @@ static int hx711_probe(struct platform_device *pdev) int i; =20 indio_dev =3D devm_iio_device_alloc(dev, sizeof(struct hx711_data)); - if (!indio_dev) { - dev_err(dev, "failed to allocate IIO device\n"); - return -ENOMEM; - } + if (!indio_dev) + return dev_err_probe(dev, -ENOMEM, "failed to allocate IIO device\n"); =20 hx711_data =3D iio_priv(indio_dev); hx711_data->dev =3D dev; @@ -479,22 +477,18 @@ static int hx711_probe(struct platform_device *pdev) * in the driver it is an output */ hx711_data->gpiod_pd_sck =3D devm_gpiod_get(dev, "sck", GPIOD_OUT_LOW); - if (IS_ERR(hx711_data->gpiod_pd_sck)) { - dev_err(dev, "failed to get sck-gpiod: err=3D%ld\n", - PTR_ERR(hx711_data->gpiod_pd_sck)); - return PTR_ERR(hx711_data->gpiod_pd_sck); - } + if (IS_ERR(hx711_data->gpiod_pd_sck)) + return dev_err_probe(dev, PTR_ERR(hx711_data->gpiod_pd_sck), + "failed to get sck-gpiod\n"); =20 /* * DOUT stands for serial data output of HX711 * for the driver it is an input */ hx711_data->gpiod_dout =3D devm_gpiod_get(dev, "dout", GPIOD_IN); - if (IS_ERR(hx711_data->gpiod_dout)) { - dev_err(dev, "failed to get dout-gpiod: err=3D%ld\n", - PTR_ERR(hx711_data->gpiod_dout)); - return PTR_ERR(hx711_data->gpiod_dout); - } + if (IS_ERR(hx711_data->gpiod_dout)) + return dev_err_probe(dev, PTR_ERR(hx711_data->gpiod_dout), + "failed to get dout-gpiod\n"); =20 ret =3D devm_regulator_get_enable_read_voltage(dev, "avdd"); if (ret < 0) @@ -548,16 +542,13 @@ static int hx711_probe(struct platform_device *pdev) ret =3D devm_iio_triggered_buffer_setup(dev, indio_dev, iio_pollfunc_store_time, hx711_trigger, NULL); - if (ret < 0) { - dev_err(dev, "setup of iio triggered buffer failed\n"); - return ret; - } + if (ret < 0) + return dev_err_probe(dev, ret, + "setup of iio triggered buffer failed\n"); =20 ret =3D devm_iio_device_register(dev, indio_dev); - if (ret < 0) { - dev_err(dev, "Couldn't register the device\n"); - return ret; - } + if (ret < 0) + return dev_err_probe(dev, ret, "Couldn't register the device\n"); =20 return 0; } --=20 2.45.2 From nobody Tue Dec 16 19:43:00 2025 Received: from mail-ot1-f50.google.com (mail-ot1-f50.google.com [209.85.210.50]) (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 CF4BB17C7D3 for ; Fri, 21 Jun 2024 22:12:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007929; cv=none; b=WcA+JhEgXniOZRVQ89CRoGHqeAdsVZCpNl4BJx/FOg7J0ejyaPqjm8NOYHACVJwCkredPdEbp3DKZ51uhFaZCTpKoAoKIu3PRjBjKMdKKSGBREqNbGJMWGivEPNAnNnPdEySL8gqskO7jL0cJmoClxUJXuw+5sUsumOPlZrWIZY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007929; c=relaxed/simple; bh=NuI4TGky1zgci5Akrsl+6+XqKEbrSq45EGYRP7kU4fU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=cIzH2/A/qQ36ub/lM7/d5VYRaLRvYtK+RJ+p5PMQZgsPoUGMJqk/7/uGYHM5qsn6kpegtxwY/5BaBycKIDJYhjJ0bQXgkfTP9m3xCtXbLHsaCEHCAPojnx+2YatHadPBOczJDugk1DzQ4hCNX9x63g6uaA3ZOKMwDyDyYkJvS1o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=2VAm9Ea1; arc=none smtp.client-ip=209.85.210.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="2VAm9Ea1" Received: by mail-ot1-f50.google.com with SMTP id 46e09a7af769-6fa11ac8695so1447753a34.3 for ; Fri, 21 Jun 2024 15:12:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1719007927; x=1719612727; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=9VHcpSCSl+z9MULQ1sxanESbfc3kKx/Z7jY5Xhv+4kU=; b=2VAm9Ea1l7hSFY7ODtzNk8ShTzKdkLXwupxxudbVyjkSkN6TbhDpi0kRa0IT/rZO99 FD/pNqhMHnWIA+f+T5cIM/jtEqztJ2qBTrwJSMLSrt/bO21Cpuxco6FPDY93Pt3dQ2Tm DleK9ccnQlA3Z7OQ++M7NJux9wECOJOjMMkfQHj9cp65bfCRKMd3yLQmet86AIZcF+dx SpKqZAOkEtw6bwirS69SXFRhWLNjtGEaL8uRp9SsHBj8GJPkPtETekg+muE0Ox8+ocCA HWgcw5GOXz8cXmYWOcoJM/B9LzTNBrbt7N4IhMNsD1q9YNtGJtN86D9lrByC7UMjbf9M EVHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719007927; x=1719612727; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9VHcpSCSl+z9MULQ1sxanESbfc3kKx/Z7jY5Xhv+4kU=; b=WP30Dz1x30TxiqW6ldul1lor4hGtw/2P1ioi48ht5tAcHhFoACGsDU5wNFzia7PV37 mbcMGaDV8pOQha6lWj8mIzff0bbpM1BLTmFNsW4RBiM9yiKT7sEU8S0PmwDF6riSPbXM 9h70yf0eth4zA6KYNpHyhmmfat2VE9H+vqRtjeZJScdfne0CnfRhtUzcgHr8cFza+7MN 5XGSyoAp7bv8UQDh40nhgtF17PiMUdL+DygtGWlTzYPxxmBhFileHcu8EX7gFVkMbuOf N/jsCKsT22o9LN+UlkY8PUVQhxSGIxkrFM6Pb5R1OwoKctiV/F8HQ2bLon9uVQHDY82G ij3A== X-Forwarded-Encrypted: i=1; AJvYcCXPixKlEt4KwzkTa3sFaUw5AZC9pFdl/AIyO/MkN1fjw1s/6f6FK9VwXZk3J3BadGnhzAyqA2DKEPeSovZSLVqxlUOcOKkFdQ5Yhfk2 X-Gm-Message-State: AOJu0Yx8qY9xRPpK0sKzMw64+LCqbkWGKHrI65V/O7ZmqS67OD2JATz/ uuX3BqcVBG7syYej6Ha/kJ7cqIGnYpnNnZBsEJMKSOXRLmmu/0p44hl6CVsd5+g= X-Google-Smtp-Source: AGHT+IH97rOzv+89TB95LIhCbolye0EdHa9Rc661ctJrvuPP++dIiPj9NzWl+Xc/RagwgCrSd0GJLg== X-Received: by 2002:a9d:7404:0:b0:6f9:7919:a33a with SMTP id 46e09a7af769-7007401b178mr10452707a34.19.1719007926913; Fri, 21 Jun 2024 15:12:06 -0700 (PDT) Received: from freyr.lechnology.com (ip98-183-112-25.ok.ok.cox.net. [98.183.112.25]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5c1d94fb2a4sm329837eaf.10.2024.06.21.15.12.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jun 2024 15:12:06 -0700 (PDT) From: David Lechner To: Jonathan Cameron Cc: David Lechner , Joel Stanley , Andrew Jeffery , Liam Girdwood , Mark Brown , Andreas Klinger , Michael Hennerich , =?utf-8?q?Nuno_S=C3=A1?= , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 05/10] iio: adc: ltc2309: use devm_regulator_get_enable_read_voltage() Date: Fri, 21 Jun 2024 17:11:52 -0500 Message-ID: <20240621-iio-regulator-refactor-round-2-v1-5-49e50cd0b99a@baylibre.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> References: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.12.4 Content-Transfer-Encoding: quoted-printable Use devm_regulator_get_enable_read_voltage() to simplify the code. Error message is changed since there is only one error return now. LTC2309_INTERNAL_REF_MV macro is added to make the internal reference voltage value self-documenting. Signed-off-by: David Lechner Reviewed-by: Nuno Sa --- drivers/iio/adc/ltc2309.c | 43 ++++++------------------------------------- 1 file changed, 6 insertions(+), 37 deletions(-) diff --git a/drivers/iio/adc/ltc2309.c b/drivers/iio/adc/ltc2309.c index 8b3a89c1b840..888a71454070 100644 --- a/drivers/iio/adc/ltc2309.c +++ b/drivers/iio/adc/ltc2309.c @@ -16,6 +16,7 @@ #include =20 #define LTC2309_ADC_RESOLUTION 12 +#define LTC2309_INTERNAL_REF_MV 4096 =20 #define LTC2309_DIN_CH_MASK GENMASK(7, 4) #define LTC2309_DIN_SDN BIT(7) @@ -29,14 +30,12 @@ * struct ltc2309 - internal device data structure * @dev: Device reference * @client: I2C reference - * @vref: External reference source * @lock: Lock to serialize data access * @vref_mv: Internal voltage reference */ struct ltc2309 { struct device *dev; struct i2c_client *client; - struct regulator *vref; struct mutex lock; /* serialize data access */ int vref_mv; }; @@ -157,11 +156,6 @@ static const struct iio_info ltc2309_info =3D { .read_raw =3D ltc2309_read_raw, }; =20 -static void ltc2309_regulator_disable(void *regulator) -{ - regulator_disable(regulator); -} - static int ltc2309_probe(struct i2c_client *client) { struct iio_dev *indio_dev; @@ -175,7 +169,6 @@ static int ltc2309_probe(struct i2c_client *client) ltc2309 =3D iio_priv(indio_dev); ltc2309->dev =3D &indio_dev->dev; ltc2309->client =3D client; - ltc2309->vref_mv =3D 4096; /* Default to the internal ref */ =20 indio_dev->name =3D "ltc2309"; indio_dev->modes =3D INDIO_DIRECT_MODE; @@ -183,36 +176,12 @@ static int ltc2309_probe(struct i2c_client *client) indio_dev->num_channels =3D ARRAY_SIZE(ltc2309_channels); indio_dev->info =3D <c2309_info; =20 - ltc2309->vref =3D devm_regulator_get_optional(&client->dev, "vref"); - if (IS_ERR(ltc2309->vref)) { - ret =3D PTR_ERR(ltc2309->vref); - if (ret =3D=3D -ENODEV) - ltc2309->vref =3D NULL; - else - return ret; - } + ret =3D devm_regulator_get_enable_read_voltage(&client->dev, "vref"); + if (ret < 0 && ret !=3D -ENODEV) + return dev_err_probe(ltc2309->dev, ret, + "failed to get vref voltage\n"); =20 - if (ltc2309->vref) { - ret =3D regulator_enable(ltc2309->vref); - if (ret) - return dev_err_probe(ltc2309->dev, ret, - "failed to enable vref\n"); - - ret =3D devm_add_action_or_reset(ltc2309->dev, - ltc2309_regulator_disable, - ltc2309->vref); - if (ret) { - return dev_err_probe(ltc2309->dev, ret, - "failed to add regulator_disable action: %d\n", - ret); - } - - ret =3D regulator_get_voltage(ltc2309->vref); - if (ret < 0) - return ret; - - ltc2309->vref_mv =3D ret / 1000; - } + ltc2309->vref_mv =3D ret =3D=3D -ENODEV ? LTC2309_INTERNAL_REF_MV : ret /= 1000; =20 mutex_init(<c2309->lock); =20 --=20 2.45.2 From nobody Tue Dec 16 19:43:00 2025 Received: from mail-oo1-f48.google.com (mail-oo1-f48.google.com [209.85.161.48]) (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 B630617CA03 for ; Fri, 21 Jun 2024 22:12:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007930; cv=none; b=uEahABHS35sMzPmd37DxsH1m2RdMrqTsFBOtGZYpLY9XA1s5VQL1RfBGKlK+qKmDaqBCgD7ry4+IkxAbFxJHRXZ9rYNN1D/QgN4fnIhoX9KuxRPcZm/vhVEoL/OEEqdTB6RQhG8HiIE7/iCdrD1aJTHT/UXrPLjd8ZA4qz3tdm8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007930; c=relaxed/simple; bh=D4fRF5Zhpc9HezkdYsinrECFHeuHQj1dIH5KeSf9cf8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=fuOCM42CPZLbUAIZHJDJKncHyqOoGXmSfawva7n7+kEbBqO/GpDKp+LuoOIaNwDY4QWRYiva5WIPBp6Z1oY1gVP5wC7n5dlfNwvAQgtAjz+lqb6lHpcXzGdypahXVoPrwsgx8Q1qu3CvwUfCDlT/XQh2CRbVn5FIsX03IV20tbk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=QIRpXW8x; arc=none smtp.client-ip=209.85.161.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="QIRpXW8x" Received: by mail-oo1-f48.google.com with SMTP id 006d021491bc7-5b9a35a0901so828769eaf.0 for ; Fri, 21 Jun 2024 15:12:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1719007928; x=1719612728; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=x480k30HvbgguxGycHu5EFcSQYfeSDwQqt26z/bkWhw=; b=QIRpXW8xQvgnyRciqGyHHpnJukDcNIrJhYxcy/eNXRvn0gAbvz/dttFM5aY6ipig3l 7qHvr3/c9CznOX3n2FIjGqgJ7TDWzFaOMXdgFJzy+Ks1sbOy3zMMHNq1jzvo2z/k0hrW Szk6ZqgpxC+iWPXJmy6w17KZ9mYArMQJaXWnB/t10X3pVz6lckrBUCzhLuc30wXm3Pre gvhMfCSAXRZUO5ZUbjTrW/LPe0b54i7T27DRFAOlemeGI4tU4FMk+A5G6F0NOfl/TkSv OaSq9baMfGaFUCKpQFs6uBihRdo/a4Ikl5NIZtZM+bVZMIX2Fry0vqaMJ22ZgZFDNs0u 3CIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719007928; x=1719612728; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=x480k30HvbgguxGycHu5EFcSQYfeSDwQqt26z/bkWhw=; b=wpkGG9P4DGoQmTn9rKGDBIhBR4RLFjRdRADYZ37mXTNwWfFoavWp4Nz3r89olL3lLJ 5FTXLukJ1LaXrlkGoMpjkZu4KvCrFLJ+zZJ2Md2hhdZi4pUL76D1j3K8FRE0gEHqCJIp jJlHBxkSM1uYKKdDIP/4as8xeuI34aKj9jFdaVzl/Uh8YE8dhXVI0PjW2WdGSkmS5NmO gGiCbG52dXCVXQnR4FoDeG9gQJISlh1U3kom5/hnM979hTVqODRiVwhChI/agmsIpVZo Az659MPrxKbNOPLLe3Me9BJqvOIMF7z1VXkOpPiXKdonIKcOB2CaO52ue3uz/bWELI67 0x8Q== X-Forwarded-Encrypted: i=1; AJvYcCXcdvwIA+RvI1un4xQCeTZUZY5HRZKD28YwolVJiHq62Nskf+ywcvDT6pgIZhXXAO2VboJ/RAdacrGgsWQLmfA8PUiNkN1+asllLrAs X-Gm-Message-State: AOJu0YzGjnMiSt1Cn4UGckWIwrbZP2GrhyIYvmc2XQalQEgEkuLLRANG 9XA2hrIp9I5C8o04/s0ADQ+QPzoaoVHtc6R/pslY7P+ESPHiiygKWivZhoSfU+g= X-Google-Smtp-Source: AGHT+IG+VM3BqlCHEFeC4J9E/NMCgNrxfHHKT6M7Y8Cy0YuF/8Q782d8FLdKsjcTjtElrN8SZRNxMQ== X-Received: by 2002:a4a:3c1e:0:b0:5bd:b100:8ab1 with SMTP id 006d021491bc7-5c1adbeb0e3mr9929583eaf.7.1719007927729; Fri, 21 Jun 2024 15:12:07 -0700 (PDT) Received: from freyr.lechnology.com (ip98-183-112-25.ok.ok.cox.net. [98.183.112.25]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5c1d94fb2a4sm329837eaf.10.2024.06.21.15.12.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jun 2024 15:12:07 -0700 (PDT) From: David Lechner To: Jonathan Cameron Cc: David Lechner , Joel Stanley , Andrew Jeffery , Liam Girdwood , Mark Brown , Andreas Klinger , Michael Hennerich , =?utf-8?q?Nuno_S=C3=A1?= , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 06/10] iio: adc: max1363: use devm_regulator_get_enable_read_voltage() Date: Fri, 21 Jun 2024 17:11:53 -0500 Message-ID: <20240621-iio-regulator-refactor-round-2-v1-6-49e50cd0b99a@baylibre.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> References: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.12.4 Content-Transfer-Encoding: quoted-printable Use devm_regulator_get_enable_read_voltage() to simplify the code. Signed-off-by: David Lechner Reviewed-by: Nuno Sa --- drivers/iio/adc/max1363.c | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/drivers/iio/adc/max1363.c b/drivers/iio/adc/max1363.c index 8b5bc96cb9fb..bf4b6dc53fd2 100644 --- a/drivers/iio/adc/max1363.c +++ b/drivers/iio/adc/max1363.c @@ -1561,18 +1561,12 @@ static const struct of_device_id max1363_of_match[]= =3D { }; MODULE_DEVICE_TABLE(of, max1363_of_match); =20 -static void max1363_reg_disable(void *reg) -{ - regulator_disable(reg); -} - static int max1363_probe(struct i2c_client *client) { const struct i2c_device_id *id =3D i2c_client_get_device_id(client); int ret; struct max1363_state *st; struct iio_dev *indio_dev; - struct regulator *vref; =20 indio_dev =3D devm_iio_device_alloc(&client->dev, sizeof(struct max1363_state)); @@ -1589,26 +1583,12 @@ static int max1363_probe(struct i2c_client *client) st->chip_info =3D i2c_get_match_data(client); st->client =3D client; =20 - st->vref_uv =3D st->chip_info->int_vref_mv * 1000; - vref =3D devm_regulator_get_optional(&client->dev, "vref"); - if (!IS_ERR(vref)) { - int vref_uv; - - ret =3D regulator_enable(vref); - if (ret) - return ret; - - ret =3D devm_add_action_or_reset(&client->dev, max1363_reg_disable, vref= ); - if (ret) - return ret; + ret =3D devm_regulator_get_enable_read_voltage(&client->dev, "vref"); + if (ret < 0 && ret !=3D -ENODEV) + return ret; =20 - st->vref =3D vref; - vref_uv =3D regulator_get_voltage(vref); - if (vref_uv <=3D 0) - return -EINVAL; =20 - st->vref_uv =3D vref_uv; - } + st->vref_uv =3D ret =3D=3D -ENODEV ? st->chip_info->int_vref_mv * 1000 : = ret; =20 if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { st->send =3D i2c_master_send; --=20 2.45.2 From nobody Tue Dec 16 19:43:00 2025 Received: from mail-oo1-f44.google.com (mail-oo1-f44.google.com [209.85.161.44]) (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 B03CF17D37F for ; Fri, 21 Jun 2024 22:12:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007932; cv=none; b=Kiu1RbrsnDXOuHmBRXVSwcbfkgWVwTz6OmQg/j2tgulbfhHD0EbrTVAVNwKhsOY38Sg2s7QuA9u4j7DvqysBixz3caRnu/rsfvA2m6aKSDzZyimDZZ8cp8PfbhYsuO5pNrgqluLSuTYNCVXYAOPJNyJj0XWl/VaV671M9Jb9GSc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007932; c=relaxed/simple; bh=c45u7G6z+GsvBppir2vDrLXceKh9GQoDTGQPqSgCblg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=QqZ4MAnVP8nIZt30l5hhERBhTfBTpvvzHeEOZt+HlvoFh8ORu9LTjmdTf33Rb/5odepgVxPsPDSY1ek1PWqKamkdTuBQ5M90BU2jPBPB5ZbwCVCfJUCBzn74ZSWUbOWXQvzJMg+YOgPsLz6zSqp4O/d1sO/7E3XwnKmtkIm3T6k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=21/8oaao; arc=none smtp.client-ip=209.85.161.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="21/8oaao" Received: by mail-oo1-f44.google.com with SMTP id 006d021491bc7-5c1d2f7ab69so775086eaf.3 for ; Fri, 21 Jun 2024 15:12:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1719007929; x=1719612729; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=so6aBU+eDqnCDSaguZCLxm5y7z6KxLSHynmcPlHhQSc=; b=21/8oaaoAhWaoKfyLfmqddZoPGo3O3NfVfQ4wrABj7dJ36AEyGi0/6KaOxi5DqZRxz kKXGA6lDngh3lxd80xqA4Tc/XHJcUP4idNtPpIZnlNl2fJqiiLJVnap4NBfLi60x37LX ETnRxfMe5OjkpHEyxSrKCD7f/2IEFwULM1KrK/OczWMUSs5N2qHNg42TQiFWoLOA96TQ OgjvK8hap9MEidgXQxAch2ZYbuMeRw4SeMhXVYwXp8ucwE9eAuG+r9aRMdH/aFWBuHqv oic30RmpcLO6KUt5N7ES08e2MLbx+T/zzGoyH3veVOT3LdR53dXGcD8Te4DjyjIVsKge OMmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719007929; x=1719612729; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=so6aBU+eDqnCDSaguZCLxm5y7z6KxLSHynmcPlHhQSc=; b=P5R31jNzZgqoPBmKqoSwH1Kqr4nXoL8w3FAoQoiNIMTGDwREiPpdsN5gfLBkcbvI3E O5KYpWmZ8HalqFdL0lzuOjy5eIhyV28i/71oty394VjjCdpwFS4JKrY17Q2aMsk/PbKX ZXH6aOoRmqIcDYHcABsc6C9FCkwyd1MKaRBXizbhpPYsyOgZghvFfmoGtACTJ1yV3vXA lV6paQdcQt9mxPR1m9OL+hqcgXahpPW/HlVnyIfxH6wVdo/G2MVXum+9Z9ZpxkVHbG4i O3DO8WrWE9o2yinGA+4M8lUY61c+4dyPHZZ335bk6AlY6NupDqmCRGoEy9KwKE7E9Hfu Azwg== X-Forwarded-Encrypted: i=1; AJvYcCVUepBZxqnJQ9YpNQaQUfVOCVDp1dWhsn5fwKF6CpukqyaMErVNqncW/cwYz5JnZUvpGwNu6rjd0GLjP8bq//BbLbTc3whtiX6B/7Ft X-Gm-Message-State: AOJu0Yw1iNPY4mxC+FF7kr1qVMqRRch88hAcc3m1X3DsDvr59ukvIldV LWlw4A5ZDDXHBqGLTCLlpgVnBbIDX7rDd2hYeEH6XwNk8OmS3K4z7cmiQ/DGzos= X-Google-Smtp-Source: AGHT+IGCM/8sRsLCLqFNICTMywqS3PsKIuS/B/sed5essCH1YgcxL2TzQancR7MJmS3Wfz2Pkd4FGg== X-Received: by 2002:a4a:3c5b:0:b0:5bb:294a:cb90 with SMTP id 006d021491bc7-5c1adbf1d68mr9897886eaf.5.1719007928519; Fri, 21 Jun 2024 15:12:08 -0700 (PDT) Received: from freyr.lechnology.com (ip98-183-112-25.ok.ok.cox.net. [98.183.112.25]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5c1d94fb2a4sm329837eaf.10.2024.06.21.15.12.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jun 2024 15:12:08 -0700 (PDT) From: David Lechner To: Jonathan Cameron Cc: David Lechner , Joel Stanley , Andrew Jeffery , Liam Girdwood , Mark Brown , Andreas Klinger , Michael Hennerich , =?utf-8?q?Nuno_S=C3=A1?= , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 07/10] iio: adc: ti-adc108s102: use devm_regulator_get_enable_read_voltage() Date: Fri, 21 Jun 2024 17:11:54 -0500 Message-ID: <20240621-iio-regulator-refactor-round-2-v1-7-49e50cd0b99a@baylibre.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> References: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.12.4 Content-Transfer-Encoding: quoted-printable Use devm_regulator_get_enable_read_voltage() to simplify the code. Signed-off-by: David Lechner --- drivers/iio/adc/ti-adc108s102.c | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-) diff --git a/drivers/iio/adc/ti-adc108s102.c b/drivers/iio/adc/ti-adc108s10= 2.c index 69fcbbc7e418..9758ac801310 100644 --- a/drivers/iio/adc/ti-adc108s102.c +++ b/drivers/iio/adc/ti-adc108s102.c @@ -58,7 +58,6 @@ =20 struct adc108s102_state { struct spi_device *spi; - struct regulator *reg; u32 va_millivolt; /* SPI transfer used by triggered buffer handler*/ struct spi_transfer ring_xfer; @@ -216,11 +215,6 @@ static const struct iio_info adc108s102_info =3D { .update_scan_mode =3D &adc108s102_update_scan_mode, }; =20 -static void adc108s102_reg_disable(void *reg) -{ - regulator_disable(reg); -} - static int adc108s102_probe(struct spi_device *spi) { struct adc108s102_state *st; @@ -236,25 +230,9 @@ static int adc108s102_probe(struct spi_device *spi) if (ACPI_COMPANION(&spi->dev)) { st->va_millivolt =3D ADC108S102_VA_MV_ACPI_DEFAULT; } else { - st->reg =3D devm_regulator_get(&spi->dev, "vref"); - if (IS_ERR(st->reg)) - return PTR_ERR(st->reg); - - ret =3D regulator_enable(st->reg); - if (ret < 0) { - dev_err(&spi->dev, "Cannot enable vref regulator\n"); - return ret; - } - ret =3D devm_add_action_or_reset(&spi->dev, adc108s102_reg_disable, - st->reg); - if (ret) - return ret; - - ret =3D regulator_get_voltage(st->reg); - if (ret < 0) { - dev_err(&spi->dev, "vref get voltage failed\n"); - return ret; - } + ret =3D devm_regulator_get_enable_read_voltage(&spi->dev, "vref"); + if (ret < 0) + return dev_err_probe(&spi->dev, ret, "failed get vref voltage\n"); =20 st->va_millivolt =3D ret / 1000; } --=20 2.45.2 From nobody Tue Dec 16 19:43:00 2025 Received: from mail-oo1-f54.google.com (mail-oo1-f54.google.com [209.85.161.54]) (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 5728817D36C for ; Fri, 21 Jun 2024 22:12:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007932; cv=none; b=VRu9QfE1FqknojdsffmbrM9i0/bEOaMBiNoBsq09v0nmanLygFVMn1jwsmGE3QUl5V4OwMW08XRqmmwUxyJmpaNmkyOMNbX/csQ0Fo8/psV1NwJbsVc4cHF+z3RcfGhEZfi2IFQArUwLYOSElkjn5VJZ1Ac2lAlRIGp2iWuaW7E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007932; c=relaxed/simple; bh=7AO4VzufO37nMfxwedeUorkeLS2PzJWzCHqvllFysIY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=C/R4aNnhodu7tmHvkwPnqWCOAFasqdxWTFc3v+1+ybum6Z2jpbGMYQ0mGe05/2lSA7l9ylxNRW1GPvai4toHEdFg2qWbcs9JARTOG1x5L2KFBn8c3QFS4tV4A/Oai5CatWoMU7o5cOV6IRRY9biZLKTzUfXSmtThYdBzyhE3kRY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=C4AeYUSZ; arc=none smtp.client-ip=209.85.161.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="C4AeYUSZ" Received: by mail-oo1-f54.google.com with SMTP id 006d021491bc7-5b9778bb7c8so1227989eaf.3 for ; Fri, 21 Jun 2024 15:12:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1719007929; x=1719612729; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YU5eFUTN0Hk2LWl03tYr+7EwkXmonIPdLeN7oZJP5hY=; b=C4AeYUSZD/Jjpnq8vzxYiOPhdME59n5hyrdTvs8SlWMZwdrFMReQvPXAGP1mbKC2wS ue3uKIAoV8vt9Q19+vJq+iPoTHXioxp+WQ/rL5w9e5Bb2MO1gY1+MJBifJmq4zN83Egl 1Tg8ATqlXk2MAcj5r/uPoxhOHxS+XpvnCJnLHk5+K77jQh/fgQ3vaVkHMiRl7DJHgxc7 phL3vmoaQFsRc3K85PUmSHKNatrVoPyM//LKd/XJWIMtPARBiRZLCBcTJKIAKsdYh+Hv AvImjIzeLrPWP/g2tkVzn+fJRAtVFO1YJYgOMsVrmngsf+GRv21udMA3SKRebRQEiq/0 SQ1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719007929; x=1719612729; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YU5eFUTN0Hk2LWl03tYr+7EwkXmonIPdLeN7oZJP5hY=; b=VWI016Solo/UxqWu6G6SV356dpbYGdMVXZq8dgFxMfPz1mLbFaZhGM5DH0Gk/2PtU7 IfDqTjAwSXt9URUe70DjRQsERXyv4M8DQUFDnEf4iRhB2QptCYZPIEpuKqSWeFh9Jsx+ vZ/90VyjTeZeUzcU6qf3iaCwgQ6Le83B9ing2ADWS7JyZuoQc0kpV5XlsgMaqs3kOK3k /MHcp8Xf0WmFSdiUE+J/vSQtyoOeVyP7lz2w6C8sMawdNJpuMd0NvjYjCvHQ8iNKMvB1 rIrLEfXd8ZIolmBY4FXpP5WjC0zm6DjV80mKwJVpeLDJH/xKTCbGNE3hmD4bJ/9P8Xky jnBA== X-Forwarded-Encrypted: i=1; AJvYcCWrlOTe7fKWWMTyN3398HSfn/K043Y2vkwPLbJbGP5LoZ0ZdZnS3f5gRCqNkAlNOWNR32zLSD7pG73StcveymMRTE23VWspY8xgeZdu X-Gm-Message-State: AOJu0Yzu1WWuuelmRdR4tZN1TcloGoO/q6Nck135v0TvEuaTMocqJeYt ogmA1nMlbXF2lybI1vkV4rSWlxy9CCGHAcKd5SRKf67LrdEO22SU177OyjqG0mk= X-Google-Smtp-Source: AGHT+IEKaEnaN52GJyDtdHtvEb/BI9UwWkmlr8jo82XfbDm4o52uxvo39sqUISJ/G4+mET8wMIvNRQ== X-Received: by 2002:a4a:240f:0:b0:5bb:79d:1c6e with SMTP id 006d021491bc7-5c1adc06d8bmr10632688eaf.8.1719007929621; Fri, 21 Jun 2024 15:12:09 -0700 (PDT) Received: from freyr.lechnology.com (ip98-183-112-25.ok.ok.cox.net. [98.183.112.25]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5c1d94fb2a4sm329837eaf.10.2024.06.21.15.12.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jun 2024 15:12:09 -0700 (PDT) From: David Lechner To: Jonathan Cameron Cc: David Lechner , Joel Stanley , Andrew Jeffery , Liam Girdwood , Mark Brown , Andreas Klinger , Michael Hennerich , =?utf-8?q?Nuno_S=C3=A1?= , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 08/10] iio: adc: ti-ads8688: use devm_regulator_get_enable_read_voltage() Date: Fri, 21 Jun 2024 17:11:55 -0500 Message-ID: <20240621-iio-regulator-refactor-round-2-v1-8-49e50cd0b99a@baylibre.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> References: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.12.4 Content-Transfer-Encoding: quoted-printable Use devm_regulator_get_enable_read_voltage() to simplify the code. Signed-off-by: David Lechner --- drivers/iio/adc/ti-ads8688.c | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/drivers/iio/adc/ti-ads8688.c b/drivers/iio/adc/ti-ads8688.c index 9440a268a78c..fca3032c59d9 100644 --- a/drivers/iio/adc/ti-ads8688.c +++ b/drivers/iio/adc/ti-ads8688.c @@ -65,7 +65,6 @@ struct ads8688_state { struct mutex lock; const struct ads8688_chip_info *chip_info; struct spi_device *spi; - struct regulator *reg; unsigned int vref_mv; enum ads8688_range range[8]; union { @@ -423,21 +422,11 @@ static int ads8688_probe(struct spi_device *spi) =20 st =3D iio_priv(indio_dev); =20 - st->reg =3D devm_regulator_get_optional(&spi->dev, "vref"); - if (!IS_ERR(st->reg)) { - ret =3D regulator_enable(st->reg); - if (ret) - return ret; - - ret =3D regulator_get_voltage(st->reg); - if (ret < 0) - goto err_regulator_disable; + ret =3D devm_regulator_get_enable_read_voltage(&spi->dev, "vref"); + if (ret < 0 && ret !=3D -ENODEV) + return ret; =20 - st->vref_mv =3D ret / 1000; - } else { - /* Use internal reference */ - st->vref_mv =3D ADS8688_VREF_MV; - } + st->vref_mv =3D ret =3D=3D -ENODEV ? ADS8688_VREF_MV : ret / 1000; =20 st->chip_info =3D &ads8688_chip_info_tbl[spi_get_device_id(spi)->driver_d= ata]; =20 @@ -460,7 +449,7 @@ static int ads8688_probe(struct spi_device *spi) ret =3D iio_triggered_buffer_setup(indio_dev, NULL, ads8688_trigger_handl= er, NULL); if (ret < 0) { dev_err(&spi->dev, "iio triggered buffer setup failed\n"); - goto err_regulator_disable; + return ret; } =20 ret =3D iio_device_register(indio_dev); @@ -472,23 +461,15 @@ static int ads8688_probe(struct spi_device *spi) err_buffer_cleanup: iio_triggered_buffer_cleanup(indio_dev); =20 -err_regulator_disable: - if (!IS_ERR(st->reg)) - regulator_disable(st->reg); - return ret; } =20 static void ads8688_remove(struct spi_device *spi) { struct iio_dev *indio_dev =3D spi_get_drvdata(spi); - struct ads8688_state *st =3D iio_priv(indio_dev); =20 iio_device_unregister(indio_dev); iio_triggered_buffer_cleanup(indio_dev); - - if (!IS_ERR(st->reg)) - regulator_disable(st->reg); } =20 static const struct spi_device_id ads8688_id[] =3D { --=20 2.45.2 From nobody Tue Dec 16 19:43:00 2025 Received: from mail-ot1-f45.google.com (mail-ot1-f45.google.com [209.85.210.45]) (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 5674917D88F for ; Fri, 21 Jun 2024 22:12:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007933; cv=none; b=KVix0zskAX3LAZHha4zV9npU03OPoZaqP/v8UA3scyXu47q8HyWV/dZmPOiuUGEWfen+uEmf0Wyd2olSYBBEnCHinVLaaeSWGkLvcnBc5W3So54kdCoAAQsO2nUtkzxpFzWBDY7n4jhyNFs82b/BIOuJl55zztzxZw8UpX+R+2k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007933; c=relaxed/simple; bh=fdN4UTM42tGULrKfSGBfArLaIVy8R7BeIJUcbSoqK6k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=sSkqLq4CswhbAotvBXc+TEZanp+fWy1hpCrLd9Xi7S3RnhPpcJzuZi59thAhDYuNBssj00BcSeafFCX3lAmK7uwJR0nu/lfzKeKJy6EeXYNv58eEKHYh+9Z7EVyLFvIFSDOVXV2dOt+c6PkQ/Ygt2Z8oxfO7bDHgP0eOw8MfWKw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=VwU5B7Po; arc=none smtp.client-ip=209.85.210.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="VwU5B7Po" Received: by mail-ot1-f45.google.com with SMTP id 46e09a7af769-6f8d0a00a35so2307963a34.2 for ; Fri, 21 Jun 2024 15:12:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1719007930; x=1719612730; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=oTLhWXGcYPpFvPhVLNSGQecQSX/f3kZ7bOMANlmHk/s=; b=VwU5B7PoNp11r06RbQ+TMgiTRPSaJNvNFXUBE+ZSoKADWzWFoitZOgL7PghP/SNSxX ZN/4d9ma+LqWcbMcZAFzPhhg6KL7bxHBij/KbDPqq3KePnw0zXzdO9WNXH9XRYUX/+uM tPq/LnMCbOGAHS6OFcasAYs8nCd0tu/WJdADavDIN6r1SWItXh4M6AhXpjqK5scwTiBb thE4aRa0lYpJPkoW7qOOEnEXeat7inb/Ve3+yNooGgLSSG1GyQiLOYCeZIIay0PRcpPw XozL06vSgERRotolhjV3MYXELs6MHyUK66koVI9nYJGuUQ46UQ4iiGx/Bp4R8POcpvWJ V6dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719007930; x=1719612730; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oTLhWXGcYPpFvPhVLNSGQecQSX/f3kZ7bOMANlmHk/s=; b=r7CQpXgFlgUh6e7r1Uc0LKVhU0sUWZ4eLO5fSWCdZYvL1CoMYFi483blDWCCUfqYC6 kEBFjbrJ+Uw8qjC4wg/6r+LgH7rpKMPA1WABym37PgjmXLM+cxVyRbs8+0iiWEUCHeqA tFsLtQBv+WeiKxnLLcy8xt1CuO6H3z7LqMYz4UQRFJ/rq45fj3wxP3pt6d/BytPV8vqw DcyBUqVl2JYornCT84DX+3XGphwYHHzabEgKSZk6lXJlQC6wh+RqZzXWiLKEms1+njgT b1+A2L5XC7E2Sw8Di+wRbM+i/jwx/FZbCygRLZCtvHECVh7Q06f6iJyjHSoYdXqrOHJu jizg== X-Forwarded-Encrypted: i=1; AJvYcCUTGEtQUIXoPb7nLKVx2m5KtHsjCj44kR/5ONDNVs/HaZmtYgxxzHhMYmgUo342hzG9D6iudKM5kgDn6cOPOW6f3DiW112BTZ/7kfRH X-Gm-Message-State: AOJu0YzNsciWnm22iXuto7hT5nI5n0tDTZUZfu2PLFZaw7pHbE5wNin7 r1UevpvIwWPzJD8p9VI+EnAjNwsmXOjk4Qf7M4M81ZFTJ5aCNGz38H3/IvTVEGw= X-Google-Smtp-Source: AGHT+IF2SgOBJxuK1mN8+m/jYX05pEOQGH/eglbTypLzjQRP70yZxGSEzwMMU70XpDgEFsNdBCoitQ== X-Received: by 2002:a05:6830:4121:b0:6fb:d9b0:c17e with SMTP id 46e09a7af769-700767308a6mr11026891a34.35.1719007930440; Fri, 21 Jun 2024 15:12:10 -0700 (PDT) Received: from freyr.lechnology.com (ip98-183-112-25.ok.ok.cox.net. [98.183.112.25]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5c1d94fb2a4sm329837eaf.10.2024.06.21.15.12.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jun 2024 15:12:10 -0700 (PDT) From: David Lechner To: Jonathan Cameron Cc: David Lechner , Joel Stanley , Andrew Jeffery , Liam Girdwood , Mark Brown , Andreas Klinger , Michael Hennerich , =?utf-8?q?Nuno_S=C3=A1?= , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 09/10] iio: adc: ti-ads8688: drop ads8688_remove() Date: Fri, 21 Jun 2024 17:11:56 -0500 Message-ID: <20240621-iio-regulator-refactor-round-2-v1-9-49e50cd0b99a@baylibre.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> References: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.12.4 Content-Transfer-Encoding: quoted-printable By using a few devm_ functions, we can simplify the driver and remove the ads8688_remove() function. spi_set_drvdata() is removed since there are no more callers of spi_get_drvdata(). Also use dev_err_probe() to simplify error return. Signed-off-by: David Lechner --- drivers/iio/adc/ti-ads8688.c | 32 ++++++-------------------------- 1 file changed, 6 insertions(+), 26 deletions(-) diff --git a/drivers/iio/adc/ti-ads8688.c b/drivers/iio/adc/ti-ads8688.c index fca3032c59d9..7a79f0cebfbf 100644 --- a/drivers/iio/adc/ti-ads8688.c +++ b/drivers/iio/adc/ti-ads8688.c @@ -432,8 +432,6 @@ static int ads8688_probe(struct spi_device *spi) =20 spi->mode =3D SPI_MODE_1; =20 - spi_set_drvdata(spi, indio_dev); - st->spi =3D spi; =20 indio_dev->name =3D spi_get_device_id(spi)->name; @@ -446,30 +444,13 @@ static int ads8688_probe(struct spi_device *spi) =20 mutex_init(&st->lock); =20 - ret =3D iio_triggered_buffer_setup(indio_dev, NULL, ads8688_trigger_handl= er, NULL); - if (ret < 0) { - dev_err(&spi->dev, "iio triggered buffer setup failed\n"); - return ret; - } - - ret =3D iio_device_register(indio_dev); - if (ret) - goto err_buffer_cleanup; - - return 0; - -err_buffer_cleanup: - iio_triggered_buffer_cleanup(indio_dev); - - return ret; -} - -static void ads8688_remove(struct spi_device *spi) -{ - struct iio_dev *indio_dev =3D spi_get_drvdata(spi); + ret =3D devm_iio_triggered_buffer_setup(&spi->dev, indio_dev, NULL, + ads8688_trigger_handler, NULL); + if (ret < 0) + return dev_err_probe(&spi->dev, ret, + "iio triggered buffer setup failed\n"); =20 - iio_device_unregister(indio_dev); - iio_triggered_buffer_cleanup(indio_dev); + return devm_iio_device_register(&spi->dev, indio_dev); } =20 static const struct spi_device_id ads8688_id[] =3D { @@ -492,7 +473,6 @@ static struct spi_driver ads8688_driver =3D { .of_match_table =3D ads8688_of_match, }, .probe =3D ads8688_probe, - .remove =3D ads8688_remove, .id_table =3D ads8688_id, }; module_spi_driver(ads8688_driver); --=20 2.45.2 From nobody Tue Dec 16 19:43:00 2025 Received: from mail-oo1-f47.google.com (mail-oo1-f47.google.com [209.85.161.47]) (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 23A8017D8A5 for ; Fri, 21 Jun 2024 22:12:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007933; cv=none; b=upxhEfQnCihP1pTXTJDGYIXKrdObhbcy6qTAlM/ntssi32zBa2yk5ZOwRXpETBcJvJOvXdIeTfmTwspktgpi/BZ1KEBm+iJD0Rmw1AFs/0T4I21+t2Fgq+YcC4mXyX42OQ3lC/cQAPr5bWZkInq1t/exreVQgzBaja3xgtG+KOg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007933; c=relaxed/simple; bh=Hd804EsqY+6I5Z5ZLAo38Drm9L7SmEuPKrJEaQ0erYM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=alknj0Bd87vrA9mLbyVqZXJ8wTvW5/40+c837ADDZ09dadCks62owiSlb1HedEkrbY/hLe3Jy1eAvgBYZ9m3KnlE4lS8tK1R7HM01GKBEq33Gv0HIDnrUR2xC1fydb4hX5Gl5fX1eUa2I+gGicg5uKNdP1WHybzEfbyY4qrCNHc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=yjKw0Zra; arc=none smtp.client-ip=209.85.161.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="yjKw0Zra" Received: by mail-oo1-f47.google.com with SMTP id 006d021491bc7-5c1b27e0a34so1177582eaf.2 for ; Fri, 21 Jun 2024 15:12:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1719007931; x=1719612731; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UPjR6392Ufeq3m10Ix6LPhMsFgNag95fnEsJNBcmUuQ=; b=yjKw0ZraxFDCM3heKm86yXaHUFpFnP/o0iyx62sZK/8RlX5dVSKbzkvkOpDSuqxGK9 MwpX4UABDps++X/h5AfalUpCP23LoOTdmirOqtmxAGraLUbAFe1yHjo08+PJW7BAQTTj ji7kByeIosrnFMGo65A0YN0f1e0mV2z46va70SDeVbNd5CvgLoUH9mkemHYW3nFBMPGw kCoaoeuq4jnNt1jK5RM0DNzR55KxTH3hfOLRjyW9MwMRRCd1sazXU2IYk9LRia77V3dX AF/G6bYQKGvgNwoUHC+bTOnaIbyAcQ4FaOY6muGWTeJrjEQqglmhnxPG9f/WSqHa0l2x 65NA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719007931; x=1719612731; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UPjR6392Ufeq3m10Ix6LPhMsFgNag95fnEsJNBcmUuQ=; b=Aahoe5Xf6s5JLFeM9mJInSV3EfJ4U62rfZJuOPgXTThMVcpDXLO9bQneiBYXJneOsL xde8vn57gcfGO2uZza0cZLDMz6DrQd8VLVEP+AP2RhI4SjA7maZtlFagIbrx2QicTzSX LYbFrJyLKD3CWqnQTp1ioteg6ahePCxykNoFbKy0O7c9kSEhAVoHaipfqMH016/JvhvI A3gutwu4eVW6SMPmS9Xt9lfGQxjIKEvb+vniNZ1R0TkEVPXYA30XzRCSqw0PdAkX8o9u 3B6uVCVBz07uod0UxVT78bBp3kgdwvIP+zj6t3qe5CW7flYAEFFLBjJybgrVf134qIA1 Pnig== X-Forwarded-Encrypted: i=1; AJvYcCU8Jih7iWnX+pTRlLXi7JQm2dqbVSiWXn0UspXwsmSSbamlNy2/bSlwHkz4YF1Tl68ptuPbyyxsOlWhpZYwvwQahlKxEtRSwxRbkXo6 X-Gm-Message-State: AOJu0Yz8EjEMqpvlysaF/Ph3c3agiQeLhj5ouYskDwIH4IFodgj0kGQP uUA9xKv6eLcZpiDNyLKym6IWFdXkjgcsXisH/NtRDo8BCjkvL/G+bUN7Ep8KM/E= X-Google-Smtp-Source: AGHT+IEZFPUw/XU0YHoyLTOHieCDVAaUFIHc6OhfOtS4ST7uXP3bkvHoDIBYZQsAHj40tSg6bAcgew== X-Received: by 2002:a4a:8685:0:b0:5bd:c0b4:cf67 with SMTP id 006d021491bc7-5c1b8b70a84mr8390692eaf.1.1719007931232; Fri, 21 Jun 2024 15:12:11 -0700 (PDT) Received: from freyr.lechnology.com (ip98-183-112-25.ok.ok.cox.net. [98.183.112.25]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-5c1d94fb2a4sm329837eaf.10.2024.06.21.15.12.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jun 2024 15:12:10 -0700 (PDT) From: David Lechner To: Jonathan Cameron Cc: David Lechner , Joel Stanley , Andrew Jeffery , Liam Girdwood , Mark Brown , Andreas Klinger , Michael Hennerich , =?utf-8?q?Nuno_S=C3=A1?= , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 10/10] iio: dac: ad3552r: use devm_regulator_get_enable_read_voltage() Date: Fri, 21 Jun 2024 17:11:57 -0500 Message-ID: <20240621-iio-regulator-refactor-round-2-v1-10-49e50cd0b99a@baylibre.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> References: <20240621-iio-regulator-refactor-round-2-v1-0-49e50cd0b99a@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.12.4 Content-Transfer-Encoding: quoted-printable Use devm_regulator_get_enable_read_voltage() to simplify the code. Error message is slightly changed since there is only one error return now. Signed-off-by: David Lechner Reviewed-by: Nuno Sa --- drivers/iio/dac/ad3552r.c | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/drivers/iio/dac/ad3552r.c b/drivers/iio/dac/ad3552r.c index ddc6c262f801..bd37d304ca70 100644 --- a/drivers/iio/dac/ad3552r.c +++ b/drivers/iio/dac/ad3552r.c @@ -857,15 +857,9 @@ static int ad3552r_configure_custom_gain(struct ad3552= r_desc *dac, return 0; } =20 -static void ad3552r_reg_disable(void *reg) -{ - regulator_disable(reg); -} - static int ad3552r_configure_device(struct ad3552r_desc *dac) { struct device *dev =3D &dac->spi->dev; - struct regulator *vref; int err, cnt =3D 0, voltage, delta =3D 100000; u32 vals[2], val, ch; =20 @@ -874,30 +868,16 @@ static int ad3552r_configure_device(struct ad3552r_de= sc *dac) return dev_err_probe(dev, PTR_ERR(dac->gpio_ldac), "Error getting gpio ldac"); =20 - vref =3D devm_regulator_get_optional(dev, "vref"); - if (IS_ERR(vref)) { - if (PTR_ERR(vref) !=3D -ENODEV) - return dev_err_probe(dev, PTR_ERR(vref), - "Error getting vref"); + voltage =3D devm_regulator_get_enable_read_voltage(dev, "vref"); + if (voltage < 0 && voltage !=3D -ENODEV) + return dev_err_probe(dev, voltage, "Error getting vref voltage\n"); =20 + if (voltage =3D=3D -ENODEV) { if (device_property_read_bool(dev, "adi,vref-out-en")) val =3D AD3552R_INTERNAL_VREF_PIN_2P5V; else val =3D AD3552R_INTERNAL_VREF_PIN_FLOATING; } else { - err =3D regulator_enable(vref); - if (err) { - dev_err(dev, "Failed to enable external vref supply\n"); - return err; - } - - err =3D devm_add_action_or_reset(dev, ad3552r_reg_disable, vref); - if (err) { - regulator_disable(vref); - return err; - } - - voltage =3D regulator_get_voltage(vref); if (voltage > 2500000 + delta || voltage < 2500000 - delta) { dev_warn(dev, "vref-supply must be 2.5V"); return -EINVAL; --=20 2.45.2