From patchwork Fri Jun 21 22:11:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lechner X-Patchwork-Id: 13708105 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 4B78B16D311 for ; Fri, 21 Jun 2024 22:12:04 +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=1719007926; cv=none; b=lNSlPCQ42V/4nNlGB9m9FLOGt+pWa5BB6u3MFFPlE0XfdwCuk4IXisnOoLa5Gbx25o8BntHqWFnG2Qx5kuRp5UXBYADq+FB5K/taXwLS96OM/ni5JvK6+dwgnNDk8LbuFDdy93daIHj1vPhScEk1RZLklU0zPCxvjHW/sFfWdT8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007926; c=relaxed/simple; bh=dFyOMn9zYwY5ETeFlyN+7rPTFpa4/nhO8WZn4HyNnY0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=WNuajkmYvDNxDH9IPkI/fd/7s9kctWLi8XABnJ5rOId3JQc8a74N+uirVj8Iaa0QIVwCDHid871lP3MQeGzYLrtK2yfV/Qn9drHI+cPCs1F1U56JNj9w6CeInNMZzyPHAjGK8McSVGGEqYdS8/RpqVcP574kbWY/Yn+bczPxVs0= 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.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="n0oIgT4o" Received: by mail-oo1-f49.google.com with SMTP id 006d021491bc7-5ba33b08550so1134563eaf.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=vGTccBwkaXw2NcHoI9sU6M4+BBBsusjZBFlIbOF3QLa+ruzPba53Zmhfuj9h9RZW4y usb/inbSbbMLWfOovRrJyfqSOOfm2Mtgy1gCOeL/BajKdzIi1/wZLhF2WH6jdbrbRzCW 1mgmUVL063ST+07TthnUq5dvXUaWCAvDJ44tmUj/HlMoyWGTaHHWemxUkINQOKPWLfnK hKjq3m3XD3mE5NQ8EyaONZv2qXGDA++9Z0z51c9Y7epiW33Vsb1t9Tx7W0LkAzHdDi08 GEIdtgk+44/gj3edZ+/whEYqHE4PL24gez0doPLxvIsr4G/8YOZZo+AJCr81cnjixxmr uhHQ== X-Forwarded-Encrypted: i=1; AJvYcCUVfEh2GekGGkjr75rEgdQ+53z8MkuLWwY4TZcAcXpvHJrdIBT7xFbr+bFWPxjWs5TcxNn0Ncsb8hUNmXdItq4lsLDdFfylIeUf X-Gm-Message-State: AOJu0Yxmg0rYXpAoSTf90QRqEhlRyd5ycpZzz2ROopRSTI0tuL2iJdiH hfsK2SGRmINlvQYnwWj5gq8TL9KyoJULMQHZUbKsffIux24jzh9Oau8w7jUgD/U= 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-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Mailer: b4 0.12.4 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); } -static void aspeed_adc_reg_disable(void *data) -{ - struct regulator *reg = data; - - regulator_disable(reg); -} - static int aspeed_adc_vref_config(struct iio_dev *indio_dev) { struct aspeed_adc_data *data = iio_priv(indio_dev); @@ -423,18 +415,14 @@ static int aspeed_adc_vref_config(struct iio_dev *indio_dev) } adc_engine_control_reg_val = readl(data->base + ASPEED_REG_ENGINE_CONTROL); - data->regulator = devm_regulator_get_optional(data->dev, "vref"); - if (!IS_ERR(data->regulator)) { - ret = regulator_enable(data->regulator); - if (ret) - return ret; - ret = devm_add_action_or_reset( - data->dev, aspeed_adc_reg_disable, data->regulator); - if (ret) - return ret; - data->vref_mv = regulator_get_voltage(data->regulator); - /* Conversion from uV to mV */ - data->vref_mv /= 1000; + + ret = devm_regulator_get_enable_read_voltage(data->dev, "vref"); + if (ret < 0 && ret != -ENODEV) + return ret; + + if (ret != -ENODEV) { + data->vref_mv = ret / 1000; + if ((data->vref_mv >= 1550) && (data->vref_mv <= 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) != -ENODEV) - return PTR_ERR(data->regulator); data->vref_mv = 2500000; of_property_read_u32(data->dev->of_node, "aspeed,int-vref-microvolt", From patchwork Fri Jun 21 22:11:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lechner X-Patchwork-Id: 13708106 Received: from mail-oo1-f43.google.com (mail-oo1-f43.google.com [209.85.161.43]) (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 6AE5F17B43C for ; Fri, 21 Jun 2024 22:12:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007927; cv=none; b=Q4JceAXU7PhtwRUIlvD/b5typ+LqLWqGuyhW+6wf/rqd7Ua9NqglLqt703/5+O4inC+Q5o0NjJZGXN58HROHpl4EAb+C29ZtIU/moB3InmCUXTm+6wqED6AilPoi2kCanS1Y65toSMJZkVma2IahviIdC8iaRc19cPn7SpGJHx8= 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.43 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-f43.google.com with SMTP id 006d021491bc7-5c1d2f7ab69so775046eaf.3 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=p/ppDYpTGaAqX1FxEpnOoUCaWxu77Q92fSlNoemDYmPalpB0KBolKCIYOuOzX1J3nZ r5SYaC5iVScqz7p2fkwnKMndKYf1zPj5Ql5y5S59R/1MDc2rjN27aFvLu5JhTiQG7iCV uBQgoBDt4pDvqw14OAYPod/Nh0mdCIxyAaTgpmOBWcoKBvNhRN5miEFc2nFtFuePMS12 T3nhNqRWjMzagRsDQHhoEVvm5YLBIXlsRz2GI7bDDbRQeNGGKaHJS8yqHYE3LH1LseLS i6KeQuHTnbG77GZ4fcAr7zxgBcZ1AW7tmeUcCVf3fs4GExroPKaqytS+fddmDEZ0kjLM LXDg== X-Forwarded-Encrypted: i=1; AJvYcCXpyfwr0/hc8jouFe2c9rtvr6dGyEQGY95wvAgm2rCgb1L5jSndOWfhhBXOoioCzgGjQXGuXEvp8FKW1HVT6Wl0iT4QiQZHJthW X-Gm-Message-State: AOJu0YwsTdQAsoQYSDdRlB4mQHcWsDbsyKRlKEFFlFtiv5OxUfKPmYPj yEJy9Mwcq16d9F0Mv+F3p8eBCEf6KBtl5HZlBxVRmCEWiEiyHpJW3gzY+gZLcpQ= 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-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Mailer: b4 0.12.4 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); } - hx711_data->reg_avdd = devm_regulator_get(dev, "avdd"); - if (IS_ERR(hx711_data->reg_avdd)) - return PTR_ERR(hx711_data->reg_avdd); - - ret = regulator_enable(hx711_data->reg_avdd); + ret = devm_regulator_get_enable_read_voltage(dev, "avdd"); if (ret < 0) return ret; @@ -517,9 +512,6 @@ static int hx711_probe(struct platform_device *pdev) * approximately to fit into a 32 bit number: * 1 LSB = (AVDD * 100) / GAIN / 1678 [10^-9 mV] */ - ret = regulator_get_voltage(hx711_data->reg_avdd); - if (ret < 0) - goto error_regulator; /* we need 10^-9 mV */ ret *= 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; } ret = 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); -error_regulator: - regulator_disable(hx711_data->reg_avdd); - return ret; } static void hx711_remove(struct platform_device *pdev) { - struct hx711_data *hx711_data; struct iio_dev *indio_dev; indio_dev = platform_get_drvdata(pdev); - hx711_data = iio_priv(indio_dev); iio_device_unregister(indio_dev); - iio_triggered_buffer_cleanup(indio_dev); - - regulator_disable(hx711_data->reg_avdd); } static const struct of_device_id of_hx711_match[] = { From patchwork Fri Jun 21 22:11:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lechner X-Patchwork-Id: 13708107 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 3639317C23D for ; Fri, 21 Jun 2024 22:12:06 +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=BIXk4pyPD5jVDiBw9VUjY7qOq1AcrwuaL8inP9B/vzK6L+Ha7sbYwL5az2lq5pEgfrAi7Kr1gtq5ysfvhGawSJnXu2p6eW95+zRHw/MSdfOIbfqNga35EGnkZgLxA6qMMhVlfCNsLEwKLjEIQPA+8QKgCtc6y2R3A+s7gS9Vb0A= 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.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="HUlHdQfs" Received: by mail-oo1-f45.google.com with SMTP id 006d021491bc7-5c1b27e0a34so1177555eaf.2 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=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=E3h5WKkapr8dQ2F1Q+EuWGDv6Mz2u+IJA2cjkFxvMlZ+soiy2Zd2AeiVKFAdJfOJw+ 9LtieLUGKWIbs92MJ2v94Z95UJoIFa0PcQ705aKxmOrJV7Lwe9cPrAzYKAo65FzolCKV 7gxgA/CRW1VfV70u1mGxVqIHBeqFKSHRt+puWHF07wKkiwio7gFK9XZN2+BDfjTYYm5o bfUR5eJAcrNGJgE3SU7vAtRluUi9l8+U7VNlDzR9freJR0s77K6u7oSws1QghiMIgd62 z5oLbybodSnZa3Vqx+qGhK0viYyeGBjnxgfj6DyUBU+Lhkf1+rF1O6HcNog6BRHXEzVz gn8g== X-Forwarded-Encrypted: i=1; AJvYcCVDLaTBHjvLCaeUudP0RcRIdIXQC3QTlOP8DX0e2Xl0k+bsYgfr1INtMYhaKaDUwSkGnzwJlKYYz+/4rdz+7kdcmV1G2QUdflQT X-Gm-Message-State: AOJu0Yxg4+9TokFp5f/WRGFar/HKn9dOGGZnnOm0HVsU4J/To9BzQHc0 e+mbab8vcYTh6EeMH6SeD6MduMzIcpEzHUDWkpAE4Fkb6bqTLhdz/YNKNZ8IDlc= 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-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Mailer: b4 0.12.4 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 = 1000000000 / hx711_data->clock_frequency; - platform_set_drvdata(pdev, indio_dev); - indio_dev->name = "hx711"; indio_dev->info = &hx711_iio_info; indio_dev->modes = INDIO_DIRECT_MODE; indio_dev->channels = hx711_chan_spec; indio_dev->num_channels = ARRAY_SIZE(hx711_chan_spec); - ret = iio_triggered_buffer_setup(indio_dev, iio_pollfunc_store_time, - hx711_trigger, NULL); + ret = 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; } - ret = iio_device_register(indio_dev); + ret = devm_iio_device_register(dev, indio_dev); if (ret < 0) { dev_err(dev, "Couldn't register the device\n"); - goto error_buffer; + return ret; } 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 = platform_get_drvdata(pdev); - - iio_device_unregister(indio_dev); - iio_triggered_buffer_cleanup(indio_dev); } static const struct of_device_id of_hx711_match[] = { @@ -587,7 +571,6 @@ MODULE_DEVICE_TABLE(of, of_hx711_match); static struct platform_driver hx711_driver = { .probe = hx711_probe, - .remove_new = hx711_remove, .driver = { .name = "hx711-gpio", .of_match_table = of_hx711_match, From patchwork Fri Jun 21 22:11:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lechner X-Patchwork-Id: 13708108 Received: from mail-oo1-f53.google.com (mail-oo1-f53.google.com [209.85.161.53]) (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 EE8D217C7B6 for ; Fri, 21 Jun 2024 22:12:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007929; cv=none; b=AuM1a8J9JuIDolDEijzWYMkI7czhnsbZMtpboPXgAXY+H9nzKqkUqH0KyDv/Hx3aPiGQzLmJqK0lQkCCrV0+GkLPHvIv1s5tEzf6q3M5WdOOtbOJJczio9FLgs1XzaLBnQsTY97l1zJhw4yK3sCpAr6IouWGrVCXUiFSXmLw4t4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007929; c=relaxed/simple; bh=CcbNgyVwV5vKSCeUsrgyuEfUik5bQgu+/dXklWHWjMA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=s1YWfBQLhZz0fVzfGAGrZZbBsmMbgC4eVJ3HylJVwSZwPaePS8FjbwFRE4KeMRuW54uOcALOUWklO7RQSVozHrtYTiQ9G9OT93MDkjx2KmMj3zLNEEk1wRUwAcfzXl3pb4aV3aPFZ0IZw3AHrHdQm+izrWXeDVbQ/sidQmhD6Lw= 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.53 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-f53.google.com with SMTP id 006d021491bc7-5c1d42d4470so617977eaf.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=vMSz3w2LM72mRfGNYNJSbgXpzuwA7oX488SsBwnDziL19mmeByt0Bg8RoeFJe2rVIM eA/j17v61zzzkdu9hdJAiu0JCKbAyMOVfcoUO0F0LrnGMr+XyDcwwyUbertIHvZeKRN8 PMtg2OIPz6fcQZH3Lu42I9rHzdYElfzE//6SVtrg3nrVDt/kslr5buzJyx6LOX3LNKA6 ZGRBAXIDvtti3t1q2tDW8lYKn2keo/nYe5oK9USuuthWqXcwR1qQd4kfqY1eI6p7OArq ueLkT8JiqDinmRkbnUBOt5jryQePBqt+/qjkF3a3A5rnH/iTRVb0OuOBeK3yK+JxdfX/ 4GeA== X-Forwarded-Encrypted: i=1; AJvYcCWUN84gLjAWaj/hFOK6PVdgasRH4Cqp5DzZsuZHfGBCW3bMo9vvj4VI6yObfNhobaR3qgk86zuPnyUqnVcQrHItZd2IBMcRZHsp X-Gm-Message-State: AOJu0YyMcDIJzU5KztRtqRaOypDsSCrjcs5E+vj2SUJf6UwkBgSX7Fw+ lgtDrAyf3pvUI7hISnvcg/Qdu2YJ3zFC8lU1ea6s8Ekune6XCDzTMAoyIMUknK4= 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-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Mailer: b4 0.12.4 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; indio_dev = 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"); hx711_data = iio_priv(indio_dev); hx711_data->dev = 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 = 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=%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"); /* * DOUT stands for serial data output of HX711 * for the driver it is an input */ hx711_data->gpiod_dout = devm_gpiod_get(dev, "dout", GPIOD_IN); - if (IS_ERR(hx711_data->gpiod_dout)) { - dev_err(dev, "failed to get dout-gpiod: err=%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"); ret = devm_regulator_get_enable_read_voltage(dev, "avdd"); if (ret < 0) @@ -548,16 +542,13 @@ static int hx711_probe(struct platform_device *pdev) ret = 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"); ret = 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"); return 0; } From patchwork Fri Jun 21 22:11:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lechner X-Patchwork-Id: 13708109 Received: from mail-ot1-f53.google.com (mail-ot1-f53.google.com [209.85.210.53]) (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 E866917C7DB for ; Fri, 21 Jun 2024 22:12:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007929; cv=none; b=HplDo+sX8iCtaSmaFQgssBdiSkxhhVNri+2sKInbPHa2K9KhI1Huq1gZ9KjvUVmWvFrnlsXN/qEllvh0rxxKmf+uqOB418O1kzSmtZTRFtYuxip6CehzL2U5X6wtB5MzCrZBzD3WVNmW75T6n1HuPkhDNQTdvYOi35nYeWOirBo= 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.53 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-f53.google.com with SMTP id 46e09a7af769-6f971cb3c9cso1300751a34.1 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=gBc3IcjhAAe8WrvIiFb7Jh6zzobjNH37UGFcX00IU/UZFkKqMco2oq54HKNJfo58+w kMIjTkwWWCoIV/qQcIJvOcrZPViawl0g0JjCvoe2EWwWbZdGu9Y9M6ozOoeRXnEXiLyj c362fA52UUz9kw6TlmmQxqsWYF9JsKkGY5GcgKfImbwKPNWRhikHTReUkFrdukEpPtoC oMsQsPWKx/FD53ehwNaMsDqMnmAb7v6FLyaVfj7PxSMbs8XRUD0A99voPLoPy+gTw3bi A2Z+XA3uod2FUm5ghSdiSrdMN7zxdvyg3QQlsodk+8ydJ0kNgF7+dOCoW9MskKE/EgYR l8vw== X-Forwarded-Encrypted: i=1; AJvYcCWK2CNxLReqx44Lc8FozsDWgkYZX9lfHNy9fOAmj2yBGNmS5+mQzDWocornu9d9V1rjqW+6ccyqHQmHpredx4UhujFlwm0jffEn X-Gm-Message-State: AOJu0YwVIW0MBvLPFJG4zidB3f8d5lYoBYj31XV5povvFhmMKs3Y7LpW WpdZWJLSO7IOlynSLJSKYq2RWOhPNaO5BuJ8OyvVIQ2SjPEeEkXlIbfavKbGlAo= 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-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Mailer: b4 0.12.4 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 #define LTC2309_ADC_RESOLUTION 12 +#define LTC2309_INTERNAL_REF_MV 4096 #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 = { .read_raw = ltc2309_read_raw, }; -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 = iio_priv(indio_dev); ltc2309->dev = &indio_dev->dev; ltc2309->client = client; - ltc2309->vref_mv = 4096; /* Default to the internal ref */ indio_dev->name = "ltc2309"; indio_dev->modes = INDIO_DIRECT_MODE; @@ -183,36 +176,12 @@ static int ltc2309_probe(struct i2c_client *client) indio_dev->num_channels = ARRAY_SIZE(ltc2309_channels); indio_dev->info = <c2309_info; - ltc2309->vref = devm_regulator_get_optional(&client->dev, "vref"); - if (IS_ERR(ltc2309->vref)) { - ret = PTR_ERR(ltc2309->vref); - if (ret == -ENODEV) - ltc2309->vref = NULL; - else - return ret; - } + ret = devm_regulator_get_enable_read_voltage(&client->dev, "vref"); + if (ret < 0 && ret != -ENODEV) + return dev_err_probe(ltc2309->dev, ret, + "failed to get vref voltage\n"); - if (ltc2309->vref) { - ret = regulator_enable(ltc2309->vref); - if (ret) - return dev_err_probe(ltc2309->dev, ret, - "failed to enable vref\n"); - - ret = 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 = regulator_get_voltage(ltc2309->vref); - if (ret < 0) - return ret; - - ltc2309->vref_mv = ret / 1000; - } + ltc2309->vref_mv = ret == -ENODEV ? LTC2309_INTERNAL_REF_MV : ret / 1000; mutex_init(<c2309->lock); From patchwork Fri Jun 21 22:11:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lechner X-Patchwork-Id: 13708110 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 924F917C9FC 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-5baf982f56dso1258846eaf.3 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=rrF8y4/erSYNg5/RpQbz4bGG0qbevwqsJUDqXbJ/T/Z7mijnf7BJK591Uif8xdcMgR Ls5VDLMBxE1eWdhlg3wSRFFdrSP5X7pykfBfbPC/NUoycYAkdJFr+9WDzttcCL+3AYUp +PnbF9RxQ5x8dgC6Ur+I5XaoUWfPN5GQphkVT0S4CLIH8INaP65XO+Nt0k5n0ctUpmlN NOypbAzJ++o/Ph9nR/L4TMSR3udSrgRYiG9W4gD0NlnPTRLiOwjTPxxO0f3356hNE7RC 6UOclS+FVZup525duE2g6IKcm18TRKb5yngGWxQE30LJJcdcdGDva2x8EIFkrNuQqrzC yG5w== X-Forwarded-Encrypted: i=1; AJvYcCVW9NCtSyMerGMmW84o4op3NiuWB1xMXJSjy7ztaOr7xh0zZWG2REe6ClQcDuzdq5fDDQHhqEnA1TqX00ACZYMgZg+QfJ2wULlm X-Gm-Message-State: AOJu0Yw7DRc2No31I5QBRRqIx78ebX47D9XII1qggb/yPlF5Pc/uZL/+ fcEW4BwHDUTLSD97OJfJn+nzRhr8mbupRkzF2PGAj0RPkzevM6zNAEGB/JQml7w= 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-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Mailer: b4 0.12.4 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[] = { }; MODULE_DEVICE_TABLE(of, max1363_of_match); -static void max1363_reg_disable(void *reg) -{ - regulator_disable(reg); -} - static int max1363_probe(struct i2c_client *client) { const struct i2c_device_id *id = i2c_client_get_device_id(client); int ret; struct max1363_state *st; struct iio_dev *indio_dev; - struct regulator *vref; indio_dev = 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 = i2c_get_match_data(client); st->client = client; - st->vref_uv = st->chip_info->int_vref_mv * 1000; - vref = devm_regulator_get_optional(&client->dev, "vref"); - if (!IS_ERR(vref)) { - int vref_uv; - - ret = regulator_enable(vref); - if (ret) - return ret; - - ret = devm_add_action_or_reset(&client->dev, max1363_reg_disable, vref); - if (ret) - return ret; + ret = devm_regulator_get_enable_read_voltage(&client->dev, "vref"); + if (ret < 0 && ret != -ENODEV) + return ret; - st->vref = vref; - vref_uv = regulator_get_voltage(vref); - if (vref_uv <= 0) - return -EINVAL; - st->vref_uv = vref_uv; - } + st->vref_uv = ret == -ENODEV ? st->chip_info->int_vref_mv * 1000 : ret; if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { st->send = i2c_master_send; From patchwork Fri Jun 21 22:11:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lechner X-Patchwork-Id: 13708111 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 B7F1817D351 for ; Fri, 21 Jun 2024 22:12:09 +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=1719007931; cv=none; b=iZRUtJXgxIEHzugUdSEA/MTj8gAUQBy3ZUeUeFdv0A8qmqznv0BKG60I/OydpxZSJDO0XOGrPx4Gp1qtt/Lmoud7mbMXMl6X8EK0RBFaOdsvXevOkcR4QXGQ8I4IsCow36Ff3siPt+60rr8EykFj2pYurQx7Vv458CvzByUxOT4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007931; c=relaxed/simple; bh=c45u7G6z+GsvBppir2vDrLXceKh9GQoDTGQPqSgCblg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Dhxy59kNP2m/qd5SkQvtELdrB2jvzoB3KSDTNYn5yazqrn20mF2kpTupSqvG5yS0A7m0NeajJAo7YJfThVSWDUzU3tOg89ECgPkriFukg17ELXTsUg8bodBol7eu5XNPAalIkb82MiwpSue7dOfnAhBFnzIbEB5HnwNYE2RFX2Y= 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.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="21/8oaao" Received: by mail-oo1-f49.google.com with SMTP id 006d021491bc7-5b5254f9c32so1170881eaf.0 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=UYxgeORMMC/gKbM81m1mE4A5Zwjk4LmwhLK+j6FOpyYScptseIndJA/zYdYwh9OUP+ jVHSWR2PBjNqBvc8r2ymCoPkvDWuNm2G8cvrR5BJ6z/MHs/ucNm5pJiTyaxBmBcNcQTm XDdtkQPeaBZ8OkNr5Q+tgMNV3XSSobCue8aHsJvMRbmYYV5I1qJUw3JBEOd60+T/GVre oUXGLv08rM095cpz9u1Fj6cgqZPqVt/JSLwBZLKhshzc8pGFDVws9LB4tKnYhs/L2xwN UUX2zQdHUF26ayGYGPF6fxY7fmOrca2mgnHv2AdfzOlhi/XDcz7r56UAaVmH1HMXFMto JfVQ== X-Forwarded-Encrypted: i=1; AJvYcCX20aGgPGWNELxpDkBERD1O873MeMMGfU08Z3wez6j05SFEh+K6HXX+fBFh0G1basT1AA1TZoDqHBwvS9U1PogGJygRMJ9G1284 X-Gm-Message-State: AOJu0YwzNe8SWeN6dF8sS++Nxw0hRXuVXVauNRO47NnRvND5uyDMgiFu Sqg4k8McBJk/J+8nHNmXaDobw4724i1OdX/wPLp0Hml/pypjyKY6ubtmovOrM94= 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-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Mailer: b4 0.12.4 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-adc108s102.c index 69fcbbc7e418..9758ac801310 100644 --- a/drivers/iio/adc/ti-adc108s102.c +++ b/drivers/iio/adc/ti-adc108s102.c @@ -58,7 +58,6 @@ 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 = { .update_scan_mode = &adc108s102_update_scan_mode, }; -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 = ADC108S102_VA_MV_ACPI_DEFAULT; } else { - st->reg = devm_regulator_get(&spi->dev, "vref"); - if (IS_ERR(st->reg)) - return PTR_ERR(st->reg); - - ret = regulator_enable(st->reg); - if (ret < 0) { - dev_err(&spi->dev, "Cannot enable vref regulator\n"); - return ret; - } - ret = devm_add_action_or_reset(&spi->dev, adc108s102_reg_disable, - st->reg); - if (ret) - return ret; - - ret = regulator_get_voltage(st->reg); - if (ret < 0) { - dev_err(&spi->dev, "vref get voltage failed\n"); - return ret; - } + ret = devm_regulator_get_enable_read_voltage(&spi->dev, "vref"); + if (ret < 0) + return dev_err_probe(&spi->dev, ret, "failed get vref voltage\n"); st->va_millivolt = ret / 1000; } From patchwork Fri Jun 21 22:11:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lechner X-Patchwork-Id: 13708112 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 9E70A17D379 for ; Fri, 21 Jun 2024 22:12:10 +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=1719007932; cv=none; b=EzEORdoWUtsyW3PcLgcFA/5v0kIbZa0nvQgTh1OrrJS7iJNFNDWqcr3s0TGERBs0k4D2xjdjUC7Df0pAhFXvUbn0AkJNViO+L8MXMPloiLeVVtyXPeAiI3DET6Px4EesqVWXHrKbYv9qi3IpjNZpLV6qzO8KmYo26FY4a302fZM= 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.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="C4AeYUSZ" Received: by mail-oo1-f47.google.com with SMTP id 006d021491bc7-5c1cabcb0c1so1133518eaf.0 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=eIGp9vpUJOQ5PYQYiVcx9Vpomx/5YMTHLmhwcd7NsajsvXwjt5YvRTgxwIJD6WYVUy 2wXHthD/Z4+mMRVwNGW8ylmb9s3tunoA7UZbfL9JcN8cOWHp6EVgCObKRJpMRCy8KEtO t/r8TrlfGRU45DQN3rNT4cg3ltY2WailVXga+7S39CUCr/SzvUgTS4T+WX6eIYYMTdNe rYSxkIiEX0Bivr80z5HtwNDrsJptV6Dec1wB/4ICxwe7HbFh7Gx+lXNUFRbooE5IHtkO YrzoHMi9H2zvhyL2+BOlmIUNF6vinXkdGFbf+/dL2IumdipSKVxGUNj9AqGg7pr6KLVZ ZSwQ== X-Forwarded-Encrypted: i=1; AJvYcCWTkP4RTmiG88rXoiHBMa34iv+V3i0mT4x71PEIg4juhgAgAsg75UVRJkIcD8Qf5HRzQ8ClaVzGTG1YYabHy2ADb/b3lNRhCBCQ X-Gm-Message-State: AOJu0YwlxOD7ncsNnV1SXP5jEBCS86K4Jqn/L6Zd3A+zlL1TjHBSBgwr 45aUsp5beEOqFwidfkg8v8I8vAc2JeT/x8ksqd4FEZUf3X/Rhw2CgEZJLjN9BqB7i5HEA/E1XpS Q 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-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Mailer: b4 0.12.4 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) st = iio_priv(indio_dev); - st->reg = devm_regulator_get_optional(&spi->dev, "vref"); - if (!IS_ERR(st->reg)) { - ret = regulator_enable(st->reg); - if (ret) - return ret; - - ret = regulator_get_voltage(st->reg); - if (ret < 0) - goto err_regulator_disable; + ret = devm_regulator_get_enable_read_voltage(&spi->dev, "vref"); + if (ret < 0 && ret != -ENODEV) + return ret; - st->vref_mv = ret / 1000; - } else { - /* Use internal reference */ - st->vref_mv = ADS8688_VREF_MV; - } + st->vref_mv = ret == -ENODEV ? ADS8688_VREF_MV : ret / 1000; st->chip_info = &ads8688_chip_info_tbl[spi_get_device_id(spi)->driver_data]; @@ -460,7 +449,7 @@ static int ads8688_probe(struct spi_device *spi) ret = iio_triggered_buffer_setup(indio_dev, NULL, ads8688_trigger_handler, NULL); if (ret < 0) { dev_err(&spi->dev, "iio triggered buffer setup failed\n"); - goto err_regulator_disable; + return ret; } ret = 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); -err_regulator_disable: - if (!IS_ERR(st->reg)) - regulator_disable(st->reg); - return ret; } static void ads8688_remove(struct spi_device *spi) { struct iio_dev *indio_dev = spi_get_drvdata(spi); - struct ads8688_state *st = iio_priv(indio_dev); iio_device_unregister(indio_dev); iio_triggered_buffer_cleanup(indio_dev); - - if (!IS_ERR(st->reg)) - regulator_disable(st->reg); } static const struct spi_device_id ads8688_id[] = { From patchwork Fri Jun 21 22:11:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lechner X-Patchwork-Id: 13708113 Received: from mail-ot1-f47.google.com (mail-ot1-f47.google.com [209.85.210.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 525EE17D88E for ; Fri, 21 Jun 2024 22:12:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007932; cv=none; b=DCoY741bsmR3OfpmxcKimO1/C0clHNUz6AUgV9YZDWNu5y22ThKYVKeux5mQpGdd45th/hPw6i1Ddfi+NeN53r3bW3+2XEHwBxj8J15Jb/9ZGJno7Q2EyrLq9CIQpLve97NVKqohKvHMg+Vi+n6sw5L5XO8XbQkOGG/AaG8i1QI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007932; c=relaxed/simple; bh=fdN4UTM42tGULrKfSGBfArLaIVy8R7BeIJUcbSoqK6k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=EUz9aWoGvOIoRlP+9m5/HsprTm+74IwHzbu3X1VezvPFY4mycCY/+wWVHtHerdYwtDH23n8y1Z5MA3Nr7os0c5UXIWYwiV/AW3p7lSR938/fxGB3R1UHaHxnbOVOMowdlQK8AIHWbBB7Pee9UpwRisZhFqeggSl9uJTSHCLbl0U= 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.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="VwU5B7Po" Received: by mail-ot1-f47.google.com with SMTP id 46e09a7af769-6f977acff19so1206615a34.3 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=IoH55dKxryJrCCDZVfzGjq5/TAlWReUtcVh0+VdUJqKGuIjLqa3RD2/+qrdgggq50+ kV/G4c9HCv5UDQkgaiBdlM0PYSCVbqGFbDZFQFUh9wcAFOJzQxr0qZesH2M4Qm9eOI9g oKWk0dz6zsJ4NDuPl7ymv5BeVnGINahY+MfmxO8jUQfBqXq7wJ9h6wn/tgvNUmZ+y3zG M3xTJxMFbZQL1/41eh2XSbiVojBL/TtH/mtgh7QXkmnmfQY4WuvU15biDjw8B060KXZm UAwL2+LnDa7V5zue07EJMCQ+aH28bdbOtlNh84II8tJCriHiInz4pw4X9J2ToDPqliwm J1AA== X-Forwarded-Encrypted: i=1; AJvYcCWtlvxcSHVMFmiCyKfJNO2NIX7/ohqzn+YpFEIKFT8Y8KHHj1hJEPZlY43SdQlHRTop3KBQjpbUcz6qOOM2daLSqB+USiYIEGuD X-Gm-Message-State: AOJu0Yz/wPfmmbbCC282+YMvLzwViFQbG4nnAToXei5BlXckOUgxVQjA SfRe9lmlxxymTw1lbciygeq7Ti98aXTSm3ffUja53N2XivDQBp2eFZb3P7qMaV0= 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-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Mailer: b4 0.12.4 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) spi->mode = SPI_MODE_1; - spi_set_drvdata(spi, indio_dev); - st->spi = spi; indio_dev->name = spi_get_device_id(spi)->name; @@ -446,30 +444,13 @@ static int ads8688_probe(struct spi_device *spi) mutex_init(&st->lock); - ret = iio_triggered_buffer_setup(indio_dev, NULL, ads8688_trigger_handler, NULL); - if (ret < 0) { - dev_err(&spi->dev, "iio triggered buffer setup failed\n"); - return ret; - } - - ret = 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 = spi_get_drvdata(spi); + ret = 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"); - iio_device_unregister(indio_dev); - iio_triggered_buffer_cleanup(indio_dev); + return devm_iio_device_register(&spi->dev, indio_dev); } static const struct spi_device_id ads8688_id[] = { @@ -492,7 +473,6 @@ static struct spi_driver ads8688_driver = { .of_match_table = ads8688_of_match, }, .probe = ads8688_probe, - .remove = ads8688_remove, .id_table = ads8688_id, }; module_spi_driver(ads8688_driver); From patchwork Fri Jun 21 22:11:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Lechner X-Patchwork-Id: 13708114 Received: from mail-oo1-f50.google.com (mail-oo1-f50.google.com [209.85.161.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 3183017D8A7 for ; Fri, 21 Jun 2024 22:12:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1719007933; cv=none; b=uafQ0yVt7syNfEuTR1Nd6QSe7KrApwyEEfgpg0hwoEZyimQbMdwUJKEYqUGbllB93wwyZTZcUisRgYZVIrb3gxbkKsCX59riA+k0pJrOA9DOBbECx3mv431YXEh1sRNTxcKQUgqqawS+XQyjInwhPUr8VryQyY/KzQqwW+9SfPU= 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.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="yjKw0Zra" Received: by mail-oo1-f50.google.com with SMTP id 006d021491bc7-5c1b734383cso1061036eaf.3 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=qa+nPaRmX4xTkzq9TBpc3U0NDtFjSsdWuDjo7+Rslpp7+6YayYscfDs4EtW+1IWN/7 WjJOZd6v6hNvd2qa/0VK/K7YZg6PFPLUhMyYGEuuveo1e4wgz83lzw+WuqcIRl+rbb/B VpPLVGkMOjizfjHXtvMAw4Kp2vKAdMaRnFckTygPhjkL9NoiVAI5skDb10+3TVmHPOEl 3EZaHArlW9DsDXIHS4JKYUuTqQG+grfL9kCTI3ucXWmdvbrErQtuep1ovIczoPZ9V92g TZePV5Gnfh+nt1eG8RPkxXyp5BfbVKTUqPhoTmR6mMJij9X6Aa5fLmPLqpUgKZ8ccUmR lFhA== X-Forwarded-Encrypted: i=1; AJvYcCUTcXpT+mdlktwFGe7rkKqJdlTy7Jra9lezXrh3LrPhqzUZzYEc1wAQ7AanwZrxZja+YA8j27akDuoKo9Y68ZL8s3PyPbbyGAXD X-Gm-Message-State: AOJu0YzbIzPb6vLaWufipYL5W5MW7xFSaYt/nCQn38Nb/Tg8Bz/dSKE5 xTFiL9kn15rp6v9AP0Xe2kMAS9sUulT0WFWBHwxRqbfEltWgzjhi4JMZOAuxLmY= 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-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Mailer: b4 0.12.4 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 ad3552r_desc *dac, return 0; } -static void ad3552r_reg_disable(void *reg) -{ - regulator_disable(reg); -} - static int ad3552r_configure_device(struct ad3552r_desc *dac) { struct device *dev = &dac->spi->dev; - struct regulator *vref; int err, cnt = 0, voltage, delta = 100000; u32 vals[2], val, ch; @@ -874,30 +868,16 @@ static int ad3552r_configure_device(struct ad3552r_desc *dac) return dev_err_probe(dev, PTR_ERR(dac->gpio_ldac), "Error getting gpio ldac"); - vref = devm_regulator_get_optional(dev, "vref"); - if (IS_ERR(vref)) { - if (PTR_ERR(vref) != -ENODEV) - return dev_err_probe(dev, PTR_ERR(vref), - "Error getting vref"); + voltage = devm_regulator_get_enable_read_voltage(dev, "vref"); + if (voltage < 0 && voltage != -ENODEV) + return dev_err_probe(dev, voltage, "Error getting vref voltage\n"); + if (voltage == -ENODEV) { if (device_property_read_bool(dev, "adi,vref-out-en")) val = AD3552R_INTERNAL_VREF_PIN_2P5V; else val = AD3552R_INTERNAL_VREF_PIN_FLOATING; } else { - err = regulator_enable(vref); - if (err) { - dev_err(dev, "Failed to enable external vref supply\n"); - return err; - } - - err = devm_add_action_or_reset(dev, ad3552r_reg_disable, vref); - if (err) { - regulator_disable(vref); - return err; - } - - voltage = regulator_get_voltage(vref); if (voltage > 2500000 + delta || voltage < 2500000 - delta) { dev_warn(dev, "vref-supply must be 2.5V"); return -EINVAL;