From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ot1-f46.google.com (mail-ot1-f46.google.com [209.85.210.46]) (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 D22BC215F6C for ; Tue, 29 Apr 2025 22:46:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745966803; cv=none; b=d2DSC9JDtM0WoNOo6L5+AM8ndPSHN26Eb3b0q0UN7+tTxikJPaPDdFuH7GYDa0j1/IPTvu5AwW7GeKwBcKM6rrOkJaCFDHE/8pa/GMcjaY62auKLgo3SMNQwav+0GPOjJS3B1uS4XDM7665Dmta3QPEygkJeAkzCo/oPwQd4K3g= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745966803; c=relaxed/simple; bh=EMiJ/dxywsGmUp0dA3BYacymFWhlXTOhMsOz3prXtgg=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=pL1HhhoSm/x0wtBXGH8yj1ArxfYBzBKX4EkmpDGVB+ofMITxpdm5PklS1OtQZsdOt+THYGXn9DhyMrxAfB3AyjQHMaMHVUqRdz0V6Wwn70SiPipLIFoVsOYRQCZ6v00U+BPks4izem22kx6DEI8wMzZJ5lAojkqXXtxm0HVqu40= 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=AuQ9wj33; arc=none smtp.client-ip=209.85.210.46 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="AuQ9wj33" Received: by mail-ot1-f46.google.com with SMTP id 46e09a7af769-73044329768so5186977a34.3 for ; Tue, 29 Apr 2025 15:46:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1745966800; x=1746571600; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=jxON1Bozl2aLfPwU6gx/eCpiRYdqSVgYx9l/nuultOg=; b=AuQ9wj33uSjqv4M4NUuMU2lNLo4gB7+jmR45JJ3q9dvQHotvW65bXv0A7dUurIwmVe 5DVi/ZE7cyeuvC9sLHRma+6Q1dP3mSekSHFbfJXyEeR5nPbuVZc59yOOXPygqIvAQd2u db597FD1uyN7GwPJKhxSsvB/TIs/Bzw6lv3ybrezl71VDc34YBBUS9V7RtjxW2tA3hmc 2j3xUCkvI4g2DtXQtjh0CyZ5n+NxNFyfZWk90jE+aUR3tiTLvGshp2bswhiYAZ57i/+j 4+BKlodSLdVgxwCMHduwbLnwFaSzejt0OGx3/7uItJeSRwpZ/ATCorrsI+xXRYv7EC3z EcZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745966800; x=1746571600; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=jxON1Bozl2aLfPwU6gx/eCpiRYdqSVgYx9l/nuultOg=; b=bVV6eAXHIwB4+oOmsKT1i7k/D16AtBZgrbO4RdZKJMwVQ7fYP+hjweYLSZuC2hVoh6 2q9q1MqGWro1V8dFxAjMCA7gvPB1vMoH6hl2LijC8Wb4tN6t/GOmrvS6D84kahrPPg9i FIKkPzX44JandlG3rjqLd8VvPQoyzgOTx8s4ZyitMtc9L+zWioN2S87nmHUOluSR7Nkw HBXU97fu7Bf4qcsX+pF4EwioAR9PC9KIyiHMmcJbauR3PPMg84ysXMtWzYQvlCZ+HzWO 3/XjIaBPQOC6+oZ6LxkgYa4NcifmoHpfjvjFlqDTXwFdkMYBRXkxfFBahpqf8ez7pLtK +Fbw== X-Forwarded-Encrypted: i=1; AJvYcCXBg83iRiG5DgCyQ0PaGFnnRcbKvExHtr7WdNI0tShxqcLC/aGKoaLEcq9YskaHckuGyaxohlikHsTjfXU=@vger.kernel.org X-Gm-Message-State: AOJu0Ywtu8g06HvbtmwNqBu+oHuf6/DZEPeFVYt3nCRag0lWnSrwbzs8 heqhdAZs+wCwrwR8rl52TDoCTcrp0zNTBJ91uFKwqgEZTMptJExmgk/b9olvPCQ= X-Gm-Gg: ASbGncsKISLxvxXj1dkg2l1gNu8NHmfPXsixqiGaKCAlaHR7U1OFCczdwK3vTIrUEok U2nFKj5pu0c7LfOmXUCzhlM4vFmVG+fF7rqCSrPw4R6BrHT6ohvlwkgIBAwpG7LAVGk+4PhwQGH GvYvzBpTssdNq0OdfpOCa0JBvz7sKoIcMQpdTAyQZ8ax+qJNcg36uaa9wIQO4GBp3qR+yIsQOra u4igP3irY52edET0YBRx1GUGnF8NLntKxuSm1pTBfpkENguTJ4a/PKUWv930k0nnZ8IMWarfubR HCsV5hcoR0eSjGNr4+8PStHfs0y7U/BM6EP/eaphzfAmaLAg/K1PILZUiZCUvh0Nldo7UptOBwv dT7lBVvcvbevdNFXpRg== X-Google-Smtp-Source: AGHT+IFuVVoGKVmn1rmBPbb+UXnQybHQ7N3kb98326v2W/tSAiNfoTR5IXLxMEWxRISYzAB0Cl37eQ== X-Received: by 2002:a05:6870:1c9:b0:29e:4ba5:4ddc with SMTP id 586e51a60fabf-2da6a345f37mr457236fac.24.1745966799750; Tue, 29 Apr 2025 15:46:39 -0700 (PDT) Received: from ?IPV6:2600:8803:e7e4:1d00:dc17:157d:e8b2:3ad6? ([2600:8803:e7e4:1d00:dc17:157d:e8b2:3ad6]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-2da6e5934dfsm54103fac.45.2025.04.29.15.46.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 29 Apr 2025 15:46:39 -0700 (PDT) Message-ID: <0677db3c-9c36-4f34-93c0-5c53d702c4bd@baylibre.com> Date: Tue, 29 Apr 2025 17:46:37 -0500 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 5/5] iio: adc: ad7606: add gain calibration support To: Angelo Dureghello , Jonathan Cameron , =?UTF-8?Q?Nuno_S=C3=A1?= , Andy Shevchenko , Lars-Peter Clausen , Michael Hennerich , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org References: <20250429-wip-bl-ad7606-calibration-v1-0-eb4d4821b172@baylibre.com> <20250429-wip-bl-ad7606-calibration-v1-5-eb4d4821b172@baylibre.com> From: David Lechner Content-Language: en-US In-Reply-To: <20250429-wip-bl-ad7606-calibration-v1-5-eb4d4821b172@baylibre.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 4/29/25 8:06 AM, Angelo Dureghello wrote: > From: Angelo Dureghello > ... > +static int ad7606_chan_calib_gain_setup(struct iio_dev *indio_dev, > + struct iio_chan_spec *chan) > +{ > + struct ad7606_state *st = iio_priv(indio_dev); > + unsigned int num_channels = st->chip_info->num_adc_channels; > + struct device *dev = st->dev; > + int ret; > + > + device_for_each_child_node_scoped(dev, child) { > + int reg, r_gain; > + > + ret = fwnode_property_read_u32(child, "reg", ®); > + if (ret) > + return ret; > + > + /* channel number (here) is from 1 to num_channels */ > + if (reg < 1 || reg > num_channels) { > + dev_warn(dev, "invalid ch number (ignoring): %d\n", reg); > + continue; > + } > + > + ret = fwnode_property_read_u32(child, "adi,rfilter-ohms", > + &r_gain); Instead of... > + if (ret) > + return ret; ... we need: if (ret == -EINVAL) r_gain = 0; else if (ret) return ret; Otherwise driver fails to probe if adi,rfilter-ohms is missing. > + > + if (r_gain < AD7606_CALIB_GAIN_MIN || > + r_gain > AD7606_CALIB_GAIN_MAX) > + return -EINVAL; > + Also, return dev_err_probe() on the returns above would have made debugging easier. > + /* Chan reg is 1-based index. */ > + ret = st->bops->reg_write(st, AD7606_CALIB_GAIN(reg - 1), > + r_gain / AD7606_CALIB_GAIN_STEP); > + if (ret) > + return ret; > + } > + > + return 0; > +} > +