From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-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 7921A2F531B; Fri, 13 Feb 2026 14:51:26 +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=1770994287; cv=none; b=OG7+cqSIceXuaQ54ry5xgNnbjumUX4LAHIbMym1lS8ZdQ3nmx2te0Ddqhz/92AUSD57gSajr5W5vfMLvGjuv1FCHKttTIsG4m2B3rfZHrCQWDidZW8uEIHsZgAeWBGEYueBdvFDmpj1RdEcdfTTEIYw73sfOoR+ene37BoPpDvo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770994287; c=relaxed/simple; bh=Fljwcqo52xkoGHPbPNw2JOzucK/yNaD6b82yl66Nbsg=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; b=Rb3mceRs73HK4+JxAxp/rQVs6K4LuB7h/mJSammJwS1PPoOoiL3GgP5qUmfwVI95NtIEOkoLfn7QUSA/fxI8Vf13BANw2bTxqL++pgjvodQSDlHNFIIRvUh7bqYnySG3CNrXMthADY7aykNXoGP6UbejJOD20+ZW1fjNv4cxUmE= 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=xgYFpLGN; 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="xgYFpLGN" Received: from pps.filterd (m0375855.ppops.net [127.0.0.1]) by mx0b-00128a01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61DE0Yif2059028; Fri, 13 Feb 2026 09:51:09 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.com; h= content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=DKIM; bh=Ia9a4Axdp9UQd00CNtEejMcg5YS bfTVNf+nlWvhc3QI=; b=xgYFpLGNxd0nilrmG0E09tBt6DNRuIbN9Xa65MBBIvn IYkASCOCqMK9eN7a/hOU7/i08iGx8hiKQU+QhGj4ZOWUMOVdFJIf4VilNiUNrE1D vlrvDqQMwzJzug+X8sOuOp+hr3JVhoUyYDrG7LFabva90TsBsEscnSmmMtVp/gil WYHh3e7pJDNak78xR30xlfaxXwRxo7ucwK2awcbY5nhIAyzdCkGCXH1K12T+Fd2a Egjy39zZVxodgoYhQrgo/LJP5PyoMc7+SDahlxAwSr/nX5vPOrYdEmCXXK7Kg4S5 W1mNgiXMz7tRGycGqYkLiWsC4XDzRqYQSILgrbizasA== Received: from nwd2mta4.analog.com ([137.71.173.58]) by mx0b-00128a01.pphosted.com (PPS) with ESMTPS id 4c9ss6atap-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 13 Feb 2026 09:51:08 -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 61DEp7uM041655 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 13 Feb 2026 09:51:07 -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; Fri, 13 Feb 2026 09:51:07 -0500 Received: from ASHBMBX9.ad.analog.com (10.64.17.10) 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; Fri, 13 Feb 2026 09:51:07 -0500 Received: from zeus.spd.analog.com (10.66.68.11) by ashbmbx9.ad.analog.com (10.64.17.10) with Microsoft SMTP Server id 15.2.1748.37 via Frontend Transport; Fri, 13 Feb 2026 09:51:07 -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 61DEop6G018676; Fri, 13 Feb 2026 09:50:53 -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 , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Olivier Moysan , Mark Brown , , , , Subject: [PATCH v3 0/5] iio: adc: ad4080: add support for AD4880 dual-channel ADC Date: Fri, 13 Feb 2026 16:47:32 +0200 Message-ID: <20260213144742.16394-1-antoniu.miclaus@analog.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ADIRuleOP-NewSCL: Rule Triggered X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjEzMDExNSBTYWx0ZWRfX+TBxKGfb7KxT yybTeDphza78oonUU/3U+Gxo+4XoSK3CElgc9Mcxb77bAPkWDQZ41Tt3MKaQeYbMoVyvqXvIEKu y8xK+txIlsMgWU6aDb8B3omVUFQ2Voy2bkAMPWM3cgjXsoHBo7HUsUb4zVLxHK9VvNMtaelGXZP oB1jzKo0JRq7wVrVo36XmH07YMejpg1HslgSzDEXrL85tcZ4UkP28yXb9rhWXinTy4ISdD+Jf78 N1NVSyxFzOI8cQQonWBrdQj29I47U5pI/ZiDjBhMhGfVb+4YvjhkPhzxIAz3910clgWsUyb2Uc6 S877HRIALr1Sj22IHJQN19FcVCCCg+ajBlaSDABynjNpd8yQv7VEWaKCT/ebEeHGHNseYV5ZOLq tBV5rirq58oDZ454VfzcQ/ZvS2/xiECY60yusFWVK0I4oaij7NLYGJBxbsUnjRg1fOLn5UykfYq v1Jpi6WtY/iluyx7Iag== X-Proofpoint-ORIG-GUID: tXh8YFjOP4DTSkURTb3DOLuQrFr_Biko X-Authority-Analysis: v=2.4 cv=YJmSCBGx c=1 sm=1 tr=0 ts=698f3a5c cx=c_pps a=3WNzaoukacrqR9RwcOSAdA==:117 a=3WNzaoukacrqR9RwcOSAdA==:17 a=HzLeVaNsDn8A:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=gAnH3GRIAAAA:8 a=IkCfo8nh7DNQKQOjXEUA:9 X-Proofpoint-GUID: tXh8YFjOP4DTSkURTb3DOLuQrFr_Biko 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-13_03,2026-02-12_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 spamscore=0 impostorscore=0 suspectscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602130115 Add support for the AD4880, a dual-channel 20-bit 40MSPS SAR ADC from the same family as AD4080. The AD4880 has two independent ADC channels, each with its own SPI configuration interface and LVDS data output. The driver uses spi_new_ancillary_device() for the second channel's SPI and requires two io-backend instances for the data interfaces. This series includes: - SPI core fix to allow ancillary devices to share parent's chip selects - New devm_spi_new_ancillary_device() managed helper - Refactored devm_iio_backend_get_by_index() for multi-channel backend lookup - DT bindings update for AD4880 - Driver support for AD4880 Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/ad4880.pdf Changes in v3: - Drop redundant NULL check for info->parent in spi_dev_check() - Add new devm_spi_new_ancillary_device() managed helper (new patch) - Refactor iio backend: make __devm_iio_backend_fwnode_get() reuse __devm_iio_backend_fwnode_get_by_index() to avoid code duplication - Use __free(fwnode_handle) for automatic cleanup in backend code - Add items descriptions for io-backends in dt-bindings - Fix reg example format in dt-bindings - Use devm_spi_new_ancillary_device() instead of manual spi_new_ancillary_device() + devm_add_action_or_reset() - Generalize ancillary device setup with loop instead of hardcoding channel 1 Antoniu Miclaus (5): spi: allow ancillary devices to share parent's chip selects spi: add devm_spi_new_ancillary_device() iio: backend: add devm_iio_backend_get_by_index() dt-bindings: iio: adc: ad4080: add AD4880 support iio: adc: ad4080: add support for AD4880 dual-channel ADC .../bindings/iio/adc/adi,ad4080.yaml | 54 +++- drivers/iio/adc/ad4080.c | 248 ++++++++++++++---- drivers/iio/industrialio-backend.c | 61 +++-- drivers/spi/spi.c | 69 ++++- include/linux/iio/backend.h | 2 + include/linux/spi/spi.h | 1 + 6 files changed, 357 insertions(+), 78 deletions(-) -- 2.43.0