From nobody Tue Apr 7 13:49:31 2026 Received: from mx0a-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 59F9B3D5231; Wed, 25 Feb 2026 15:07:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.135.77 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772032037; cv=none; b=IHqb/chHZSMNdyR+hHesKPugFBt5gL7XZ3ehjERsXC66n9+73/nmo6H6GyyocKIDWVo3bdhhw80cU/O/i7rMtHT1IvI8YCfMiBludcyaymy9GZtFW2PgApCS55KP24sVgeGsM0xvRQxgzi0ooYJXUDtA8qIrXFMbx55LjsFF0FI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772032037; c=relaxed/simple; bh=ZR0KwPCwIiL37jfKWpqreO7Iid9IKiyi7GAUfuwZJmk=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ZDqwGdf726jvkh6LflwLBMVZzF594CAEOckaBGTXFizgJH67jonPjaqKLGpXDG1CdX0HKZjpaLGOmxiBDg0ZqugFeYFi67ZxYOBQaFnCA0ymJhO7nqbfU0UrMQJTo1NumavyHGaftX4BMQpxPtXq6chYwjVgJ+0Mg+ef4Sucj0s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com; spf=pass smtp.mailfrom=analog.com; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b=ovtR4uYg; arc=none smtp.client-ip=148.163.135.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=analog.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b="ovtR4uYg" Received: from pps.filterd (m0167088.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61PE3KW51869023; Wed, 25 Feb 2026 10:06:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=DKIM; bh=KuqtH SIjAMKZLvlieHrOWkpsrzcLd6TG35gZF77967M=; b=ovtR4uYgCk4HyfyOeMqBy dB1B60TP0iuuEA35iWBd52Lu5VJGdeAAtbN0WmFIHFdmTGuenpdV5Fpq3LR4opEp 3p02el1rFeslCobW4s7xjmk4AFI8/vNdvnQFFpQv7gVAJt4PjA8UnkSzVzUgBpvL Ucaab91J0jEbJIQF2dOiRUqjgcgQQVPgOWrOg47WULP70hRzed4QyDI2teCQKCSp Ej0wXuakjZ0wZsJjWMPd6AnKmvdG35VF0H4iTvuZCgrGzbJviaOgow7lO1dMxTKs HlLS9IdiCfbXfDQj2N3XacIbnh7Po6c9lWzTuryT1fZSi8dzN18usd95ZdBJEfeB A== Received: from nwd2mta4.analog.com ([137.71.173.58]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 4chvwg1gj0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 25 Feb 2026 10:06:54 -0500 (EST) Received: from ASHBMBX8.ad.analog.com (ASHBMBX8.ad.analog.com [10.64.17.5]) by nwd2mta4.analog.com (8.14.7/8.14.7) with ESMTP id 61PF6rpY024647 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 25 Feb 2026 10:06:53 -0500 Received: from ASHBCASHYB4.ad.analog.com (10.64.17.132) by ASHBMBX8.ad.analog.com (10.64.17.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.37; Wed, 25 Feb 2026 10:06:53 -0500 Received: from ASHBMBX8.ad.analog.com (10.64.17.5) by ASHBCASHYB4.ad.analog.com (10.64.17.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.37; Wed, 25 Feb 2026 10:06:52 -0500 Received: from zeus.spd.analog.com (10.66.68.11) by ashbmbx8.ad.analog.com (10.64.17.5) with Microsoft SMTP Server id 15.2.1748.37 via Frontend Transport; Wed, 25 Feb 2026 10:06:52 -0500 Received: from HYB-b1tGeUj4GP1.ad.analog.com (HYB-b1tGeUj4GP1.ad.analog.com [10.48.65.247]) by zeus.spd.analog.com (8.15.1/8.15.1) with ESMTP id 61PF6Ynr006794; Wed, 25 Feb 2026 10:06:48 -0500 From: Antoniu Miclaus To: Lars-Peter Clausen , Michael Hennerich , Antoniu Miclaus , Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , , Subject: [PATCH v3 3/6] iio: frequency: admv1013: add dev variable and use dev_err_probe Date: Wed, 25 Feb 2026 17:05:49 +0200 Message-ID: <20260225150615.274078-4-antoniu.miclaus@analog.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260225150615.274078-1-antoniu.miclaus@analog.com> References: <20260225150615.274078-1-antoniu.miclaus@analog.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ADIRuleOP-NewSCL: Rule Triggered X-Authority-Analysis: v=2.4 cv=Dcgaa/tW c=1 sm=1 tr=0 ts=699f100e cx=c_pps a=3WNzaoukacrqR9RwcOSAdA==:117 a=3WNzaoukacrqR9RwcOSAdA==:17 a=HzLeVaNsDn8A:10 a=VkNPw1HP01LnGYTKEx00:22 a=0sLvza09kfJOxVLZPwjg:22 a=uXIjobp8t2wMuQ0fPvqm:22 a=gAnH3GRIAAAA:8 a=O8djgtFz8mmoGGuIiJcA:9 X-Proofpoint-GUID: oBB7CXPyGwX8x5VF6ITb5B3r1l3C_y3c X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjI1MDE0NSBTYWx0ZWRfX+bDauF0e1DaR RGwNJxyHj86WjIlnxt52bg+4BPoeeUPOu8k/8ms1jY2pYHl3yK4fOxyP+rtE1qPJezAvOpe3LaQ 9hvzkr3kux20DXBGtwKvFIZW08mrGHcdwxy7ZDYmqn7V4Qjqsqu94Pk2W8k9KuIMKrGGnoFsSwd /NS4s99NCzQtV3vod1KnnEdhXWoc2DgVJ6TVLMQgVtdVffvFDqTpuTq/7nA3XhkqbDlSil13NKy fCycsQV4odthRbGfa/Omq2AVa5a9nlO7+c97BoETgWhtczIYwdVNAnCtJK3Tt8kwlrdTLcV/h4v 0Q3C7N4WC4dgE/GPDPA5EJW6dq6A7bOhmYlibL3dOR4vS7SrPS0CTy+C9l3T6ePG51T1b/BlppS gb6rtpEt3D8R1oHUIz7FVlAykWP8XAM4zmTzvaugfcz6wHnWmWwyXvoFf5yF+Cc+dkbdidm7TjN Dp+G7Eg7y1hNdJofDPA== X-Proofpoint-ORIG-GUID: oBB7CXPyGwX8x5VF6ITb5B3r1l3C_y3c X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-25_01,2026-02-25_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 bulkscore=0 clxscore=1015 malwarescore=0 phishscore=0 priorityscore=1501 impostorscore=0 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602250145 Content-Type: text/plain; charset="utf-8" Introduce a struct device *dev local variable and replace dev_err() + return with dev_err_probe() in functions that use devm_ managed resources. This simplifies error handling and ensures proper logging of deferred probes. Signed-off-by: Antoniu Miclaus --- drivers/iio/frequency/admv1013.c | 51 +++++++++++++++----------------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/drivers/iio/frequency/admv1013.c b/drivers/iio/frequency/admv1= 013.c index d8e8d541990f..514cf9f8eacb 100644 --- a/drivers/iio/frequency/admv1013.c +++ b/drivers/iio/frequency/admv1013.c @@ -441,7 +441,7 @@ static int admv1013_init(struct admv1013_state *st, int= vcm_uv) { int ret; unsigned int data; - struct spi_device *spi =3D st->spi; + struct device *dev =3D &st->spi->dev; =20 /* Perform a software reset */ ret =3D __admv1013_spi_update_bits(st, ADMV1013_REG_SPI_CONTROL, @@ -461,10 +461,9 @@ static int admv1013_init(struct admv1013_state *st, in= t vcm_uv) return ret; =20 data =3D FIELD_GET(ADMV1013_CHIP_ID_MSK, data); - if (data !=3D ADMV1013_CHIP_ID) { - dev_err(&spi->dev, "Invalid Chip ID.\n"); - return -EINVAL; - } + if (data !=3D ADMV1013_CHIP_ID) + return dev_err_probe(dev, -EINVAL, + "Invalid Chip ID.\n"); =20 ret =3D __admv1013_spi_write(st, ADMV1013_REG_VVA_TEMP_COMP, 0xE700); if (ret) @@ -518,11 +517,11 @@ static int admv1013_properties_parse(struct admv1013_= state *st) { int ret; const char *str; - struct spi_device *spi =3D st->spi; + struct device *dev =3D &st->spi->dev; =20 - st->det_en =3D device_property_read_bool(&spi->dev, "adi,detector-enable"= ); + st->det_en =3D device_property_read_bool(dev, "adi,detector-enable"); =20 - ret =3D device_property_read_string(&spi->dev, "adi,input-mode", &str); + ret =3D device_property_read_string(dev, "adi,input-mode", &str); if (ret) st->input_mode =3D ADMV1013_IQ_MODE; =20 @@ -533,7 +532,7 @@ static int admv1013_properties_parse(struct admv1013_st= ate *st) else return -EINVAL; =20 - ret =3D device_property_read_string(&spi->dev, "adi,quad-se-mode", &str); + ret =3D device_property_read_string(dev, "adi,quad-se-mode", &str); if (ret) st->quad_se_mode =3D ADMV1013_SE_MODE_DIFF; =20 @@ -546,14 +545,12 @@ static int admv1013_properties_parse(struct admv1013_= state *st) else return -EINVAL; =20 - ret =3D devm_regulator_bulk_get_enable(&st->spi->dev, + ret =3D devm_regulator_bulk_get_enable(dev, ARRAY_SIZE(admv1013_vcc_regs), admv1013_vcc_regs); - if (ret) { - dev_err_probe(&spi->dev, ret, - "Failed to request VCC regulators\n"); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, + "Failed to request VCC regulators\n"); =20 return 0; } @@ -562,9 +559,10 @@ static int admv1013_probe(struct spi_device *spi) { struct iio_dev *indio_dev; struct admv1013_state *st; + struct device *dev =3D &spi->dev; int ret, vcm_uv; =20 - indio_dev =3D devm_iio_device_alloc(&spi->dev, sizeof(*st)); + indio_dev =3D devm_iio_device_alloc(dev, sizeof(*st)); if (!indio_dev) return -ENOMEM; =20 @@ -581,36 +579,35 @@ static int admv1013_probe(struct spi_device *spi) if (ret) return ret; =20 - ret =3D devm_regulator_get_enable_read_voltage(&spi->dev, "vcm"); + ret =3D devm_regulator_get_enable_read_voltage(dev, "vcm"); if (ret < 0) - return dev_err_probe(&spi->dev, ret, + return dev_err_probe(dev, ret, "failed to get the common-mode voltage\n"); =20 vcm_uv =3D ret; =20 - st->clkin =3D devm_clk_get_enabled(&spi->dev, "lo_in"); + st->clkin =3D devm_clk_get_enabled(dev, "lo_in"); if (IS_ERR(st->clkin)) - return dev_err_probe(&spi->dev, PTR_ERR(st->clkin), + return dev_err_probe(dev, PTR_ERR(st->clkin), "failed to get the LO input clock\n"); =20 st->nb.notifier_call =3D admv1013_freq_change; - ret =3D devm_clk_notifier_register(&spi->dev, st->clkin, &st->nb); + ret =3D devm_clk_notifier_register(dev, st->clkin, &st->nb); if (ret) return ret; =20 mutex_init(&st->lock); =20 ret =3D admv1013_init(st, vcm_uv); - if (ret) { - dev_err(&spi->dev, "admv1013 init failed\n"); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, + "admv1013 init failed\n"); =20 - ret =3D devm_add_action_or_reset(&spi->dev, admv1013_powerdown, st); + ret =3D devm_add_action_or_reset(dev, admv1013_powerdown, st); if (ret) return ret; =20 - return devm_iio_device_register(&spi->dev, indio_dev); + return devm_iio_device_register(dev, indio_dev); } =20 static const struct spi_device_id admv1013_id[] =3D { --=20 2.43.0