From nobody Tue Feb 10 11:17:23 2026 Received: from mail-oi1-f175.google.com (mail-oi1-f175.google.com [209.85.167.175]) (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 B549A1D54E2 for ; Mon, 28 Apr 2025 20:24:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745871848; cv=none; b=CpzD0jmTaKA6dXtMGidlE+JQ7nAZ9+lIbpEK2aNr+1Eqy1VlVSJVrFhETeOVjJm8hmQD4htXEO9vsxhvZqq5DP4Dee8le3pU3mIOriA3hMm5BKDe28t9s7G5fxKWTw41GqtETW8qK5y9ZOps2cX4fG2c+AVLiw/lXt3pFHAWN9w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745871848; c=relaxed/simple; bh=NbvlMBP/8hkPgeT8KG8PAd/JVAGx954UfPXMpF7Wv10=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rzHePEc8AYgj1Q8GztiPCKIZDBsXh4zoZoEQH2OsWyKpQQXer+S/20l2psBboOeKFWmFNIi3FzBYXwruaDoRr58lpJ0HrdRIQuGEdAM6odL9d33d5Lq0oSstElodPg9aoQzcHj6M0FOg6wvgvJn4HIuu8Zrq3m8XyLr0kSjvSEA= 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=xwPy127n; arc=none smtp.client-ip=209.85.167.175 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="xwPy127n" Received: by mail-oi1-f175.google.com with SMTP id 5614622812f47-400b64ac5fcso3304541b6e.0 for ; Mon, 28 Apr 2025 13:24:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1745871846; x=1746476646; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=BDO3BrucMxULVTP7wxmNOUlpxABCLZ8/GfNo16L3AFU=; b=xwPy127ntU7sLNLubaBBMWQTsvfuBSwNSoQEWR69IZite85vtoM4rICaeX4NsZP+M+ Gxe4BCJEjbi/+45/4SXZUhsE3H0wcq6LDEZEFRNXVbfYG3GnpCocigbc+EFqSWhfCULZ ptSRWAVQPMpwVOKGAkkblOzQ3I/sYX43+VZCU4eP7BnpqUSQOGeL1ABauRAj0ETpoV0Q 83RicAj1jVJMH6YRwdbjbY/6MOQPeH8+9J8k3wNdkV4xT+lp3FC5A0CKV4YJkb5H7WM2 gAXE/E4u4dCM2Xtn9nIIgFHdLdb6OUJRKMrH4uWQrZdahmAXIB3JuEgqIBpwFtUachKC as2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745871846; x=1746476646; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BDO3BrucMxULVTP7wxmNOUlpxABCLZ8/GfNo16L3AFU=; b=CKYg0Vbamf/00Ui0FlIDfJPvU1dE5o6lbJ8rHUGf52gVp9iexjaVQn+DBe0Pgvi5B8 PPXLyVNxoJGbFpS29aQrY94D5hMh8SZO2bSttco80odQ96vdl4P7ukfeTfbu/vba0rtD TrE7D4eVRKVrT2HjmO7fpc1UNwWOfLAIxD4rpgrpK0Px5wFFFWC+8loTBFef5dI5mONl 4+FXsTcLWs+vkDiFftyHRDijTJ5cYw8Q88aCDd7ve5zc+CapwLwyuU7EsFqfs2hN4a7y rPyhRZII8q9/rzSHZJi6OUCYrkWv2yAYkZrVf2KZt4JGMhu2U6V/UtYITmU2SPTvMPgD qFvg== X-Forwarded-Encrypted: i=1; AJvYcCUKR7EX4dkWpxjDxUjZw8bO0+93wAZDQM/SgOZD+LtfYJ9vEK62wg4F4BBfkToqj/u+IKB5sgQOionBpEo=@vger.kernel.org X-Gm-Message-State: AOJu0YyfIFg1awOCSa54aFgjvliYfm4y2zErFsPPndY/w8HRZCijMXkJ jxJVOrdYLMi/NCaUoi8CvU8emf9V48eqpCZSgkgIZbd6pWR/2tS4uoWIJ+Kc1xg= X-Gm-Gg: ASbGnctdZT8/iQWpPEubyLT1lDC0T6/i/yPYTQ9qIpM34Y1wePo+20jhTr5f/pHGzlk 4NPUNudk3Ziwb9LRn7X89n4+p/1Rt3H37y2ThUGHYU01UXZvj/M2USTpJ+0Lkjc5Z0DJQhHd5J3 dtWlvpecBR9g+t5oWTrNVlync6rh+HbPZvIhWLxInXhqjcSvZUyyqjPWPDJ0lPYB6V61kjU4zi9 R5kDaYZwd44MhtyRhlCSwdYqc0R9Vr1GG7ki8ycUZnd1fnSe76BRG8edNp7kNgnk3nK5erY04lh 3sYAeLH3t7WUFwOGIKe7krYByARKuOwhQTU92xYDF+XJf14= X-Google-Smtp-Source: AGHT+IEIb+/7jwFycj6Lxs0AIAmOXJEQMNM+ExPcVNff3F0TuKaEDFx36DEm3NSKVEONbWj2NvQzbw== X-Received: by 2002:a05:6808:1597:b0:3f7:6824:5839 with SMTP id 5614622812f47-402115793e8mr196510b6e.19.1745871845666; Mon, 28 Apr 2025 13:24:05 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:cff6:9ed0:6e45:1ff9]) by smtp.gmail.com with ESMTPSA id 5614622812f47-401ec970ec5sm2196187b6e.34.2025.04.28.13.24.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 13:24:04 -0700 (PDT) From: David Lechner Date: Mon, 28 Apr 2025 15:23:03 -0500 Subject: [PATCH v4 1/7] iio: introduce IIO_DECLARE_BUFFER_WITH_TS macros Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-1-6f7f6126f1cb@baylibre.com> References: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-0-6f7f6126f1cb@baylibre.com> In-Reply-To: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-0-6f7f6126f1cb@baylibre.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Lars-Peter Clausen , Michael Hennerich , Eugen Hristev , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4338; i=dlechner@baylibre.com; h=from:subject:message-id; bh=NbvlMBP/8hkPgeT8KG8PAd/JVAGx954UfPXMpF7Wv10=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoD+OxkAV7kbZhJxHC4iKN/xmbZ/Lc7pauhbWdp +DmlLR4dguJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaA/jsQAKCRDCzCAB/wGP wJ72B/0UaG/hbNwQmC2jqV8Rbj6GBpaWfbcJAA1elDDGhYuyJ64XSLue9cdWjFH6yHyLS6A9xFI +onUBUrKMut5HCGv9SdkQo5a9imJSUAXjTv8Ybl5c/tk6Jrsq1URo3qjRmbmL4/kH4L5gv27bQ3 oKMt+m/912KVXfQxhD3WgV75N+7lUB6G8GJd2hyhlVFrkcXqVi1yB0ynX9s39mqfcundWaczazG qfz/2+xNtm9ozLVPvaRf0fREtx5UaYGSOj9W/fkpXMbpysJW8cmG1acPjbDyoAKZ4nDBw/g+Jig dXM8MBCBPdgtaLwMqGWw6SdzKM6WU8EmTzGIqtMyx16s0Hpo X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Add new macros to help with the common case of declaring a buffer that is safe to use with iio_push_to_buffers_with_ts(). This is not trivial to do correctly because of the alignment requirements of the timestamp. This will make it easier for both authors and reviewers. To avoid double __align() attributes in cases where we also need DMA alignment, add a 2nd variant IIO_DECLARE_DMA_BUFFER_WITH_TS(). Signed-off-by: David Lechner --- v4 changes: * Drop the static_asserts(). Some 32-bit arches were triggering one, so we had to address the problem instead of hoping that it didn't exist. The other made a multi-statement macro, which isn't the best practice and didn't have a way to make a really helpful error message. The condition we were trying to catch is still caught by -Wvla. * Changed __align(IIO_DMA_MINALIGN) to __align(MAX(IIO_DMA_MINALIGN, sizeof(s64))). As the build-bots found, there are some 32-bit arches where IIO_DMA_MINALIGN is 4, but we still need 8-byte alignment for the timestamp. v3 changes: * Use leading double-underscore for "private" macro to match "private" functions that do the same. * Use static_assert() from linux/build_bug.h instead of _Static_assert() * Fix incorrectly using sizeof(IIO_DMA_MINALIGN). * Add check that count argument is constant. (Note, I didn't include a message in this static assert because it already gives a reasonable message.) /home/david/work/bl/linux/drivers/iio/accel/sca3300.c:482:51: error: expres= sion in static assertion is not constant 482 | IIO_DECLARE_BUFFER_WITH_TS(s16, channels, val); | ^~~ v2 changes: * Add 2nd macro for DMA alignment --- include/linux/iio/iio.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h index 638cf2420fbd85cf2924d09d061df601d1d4bb2a..95d90740b4ffb3ebd819d03ad2b= d05ecf40d4384 100644 --- a/include/linux/iio/iio.h +++ b/include/linux/iio/iio.h @@ -7,9 +7,12 @@ #ifndef _INDUSTRIAL_IO_H_ #define _INDUSTRIAL_IO_H_ =20 +#include +#include #include #include #include +#include #include #include /* IIO TODO LIST */ @@ -777,6 +780,40 @@ static inline void *iio_device_get_drvdata(const struc= t iio_dev *indio_dev) * them safe for use with non-coherent DMA. */ #define IIO_DMA_MINALIGN ARCH_DMA_MINALIGN + +#define __IIO_DECLARE_BUFFER_WITH_TS(type, name, count) \ + type name[ALIGN((count), sizeof(s64) / sizeof(type)) + sizeof(s64) / size= of(type)] + +/** + * IIO_DECLARE_BUFFER_WITH_TS() - Declare a buffer with timestamp + * @type: element type of the buffer + * @name: identifier name of the buffer + * @count: number of elements in the buffer + * + * Declares a buffer that is safe to use with iio_push_to_buffer_with_ts()= . In + * addition to allocating enough space for @count elements of @type, it al= so + * allocates space for a s64 timestamp at the end of the buffer and ensures + * proper alignment of the timestamp. + */ +#define IIO_DECLARE_BUFFER_WITH_TS(type, name, count) \ + __IIO_DECLARE_BUFFER_WITH_TS(type, name, count) __aligned(sizeof(s64)) + +/** + * IIO_DECLARE_DMA_BUFFER_WITH_TS() - Declare a DMA-aligned buffer with ti= mestamp + * @type: element type of the buffer + * @name: identifier name of the buffer + * @count: number of elements in the buffer + * + * Same as IIO_DECLARE_BUFFER_WITH_TS(), but is uses __aligned(IIO_DMA_MIN= ALIGN) + * to ensure that the buffer doesn't share cachelines with anything that c= omes + * before it in a struct. This should not be used for stack-allocated buff= ers + * as stack memory cannot generally be used for DMA. + */ +#define IIO_DECLARE_DMA_BUFFER_WITH_TS(type, name, count) \ + __IIO_DECLARE_BUFFER_WITH_TS(type, name, count) \ + /* IIO_DMA_MINALIGN may be 4 on some 32-bit arches. */ \ + __aligned(MAX(IIO_DMA_MINALIGN, sizeof(s64))) + struct iio_dev *iio_device_alloc(struct device *parent, int sizeof_priv); =20 /* The information at the returned address is guaranteed to be cacheline a= ligned */ --=20 2.43.0 From nobody Tue Feb 10 11:17:23 2026 Received: from mail-oi1-f174.google.com (mail-oi1-f174.google.com [209.85.167.174]) (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 79FFD1DE881 for ; Mon, 28 Apr 2025 20:24:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745871850; cv=none; b=fQSoDChlCpFom3uVIBguiq88lm1BAHyaxUDq2OVNpsaeNZdMuh2zibODYKHL18Ic9AS6Akgwl15APdAyZHPjNfF18JcIrkNzhN/bqOd6HeOKcwCfduSIYs+i3FHExz2JK53BaRxzZsSL0xzesejt+bK7DqoHD3AuiMHlSmR5p2c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745871850; c=relaxed/simple; bh=NLK9rHWGxHgHc450e6JA3Kx5J3+N1Fpz21XOi57G4v0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hYMqrgY1izVqiIRdFcFPi1vqi0Jp/4jTrTY6VBGQ9gnLQeCz7tgoY7YJKCmavaXkpAOuclzvOMZr4cHTDmFvjLhbxb267mL+7QOKULKn+cea22S6y6PlWQPRUBWwsVcqnminl4V8rV/yCwhUXxlmQmH2ttCQ8gVhMDPDV9kcQiQ= 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=MSfGJ9Lu; arc=none smtp.client-ip=209.85.167.174 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="MSfGJ9Lu" Received: by mail-oi1-f174.google.com with SMTP id 5614622812f47-3f8df49e75fso1164131b6e.1 for ; Mon, 28 Apr 2025 13:24:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1745871847; x=1746476647; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=B2koMhN4hR5KSSnBsIlIFgfxzAiKDp/j1dG+oyh3qTA=; b=MSfGJ9LuVGkCaxiI29iFe/VNm8EdpC6WCQuqK+KjBRAswrD7UhGgyxuv5hyg/zUkLl o1sDJuJIy21DaI1VMQULOPOCdC9M0EpHHoPjU+ZmwGjo0kDc65Sph7YqKofaO8DgKi+E 4sEqVStZUEl0h8P2cerK/I1acvei5OIeVkEVwB3SK9uNdiLM5I6Pf/g8rHRiMGtEbRa1 Zhtg30KGLUEWRL9uCrg9FPIVz/KQnHiebuaKkujD08Q1kj8Kqv36AHvx2H6AZ6AbW6AZ AbCoqAyWDZy0tGtnMP6/3kfrVC7QaAP9bNpDq3aaNKguHIgk/51iLd66fPInLm+BiBEy jUAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745871847; x=1746476647; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=B2koMhN4hR5KSSnBsIlIFgfxzAiKDp/j1dG+oyh3qTA=; b=IfIuC+Z+cfRXcQN4rzN1U8gq8iURa9rK0PtV5ZfyU+W1inru7FYao4WUme9jgrybM5 SRslRkginpbuV7CmKDV0FpxoRkm86lXrOuP6x0s+Xi0jElRTnbA666JdLPdTS1/ZXbBU 3382+59g3iuY+y8Vbs7pMiFQEkV44dVo9Br7fm/SrU9DEs4GtcyohV/2TZjNddvunXAO QgIwa+nV0n6LTrHCYuopwDK77kjFGsm6Ft8HzwbZTPxw3j9emlsn4hOE54MvbvmNyku/ fgMOf5Cy6FwbhGS5Mz3B77Dcw3n9AHf/sBIM7P84wbR3l63sVlUN5CjcE5G8eAGE09y3 q2Lw== X-Forwarded-Encrypted: i=1; AJvYcCX139cJ99RE5QR12FeW+feAvP4BDgqzSLDxJmy3PI7nM0GdMJk3KlEoZ5ZrEOGHIK/TYn8b0u3mQjlJUzs=@vger.kernel.org X-Gm-Message-State: AOJu0Yz7RTCsPjZr4FwFi7UiaJ4PINrNkKKeGI8V4LbY3LqzAMttE8Oc U/1jO/NAJ89EQ70bSkGJ3jo19EfqqGzp/SVgRwIi7wvoAR4j/keJCIzrmFr17s8= X-Gm-Gg: ASbGncv//cY2eXh6VhGUTYuOKqgehWPMnY3Ufw70roXEcXBhQGZUgfWGAUeqU7nYwx5 Ymd0MWEi7scBejxwQN1t75WhUNru1W6tRzp1V+2j93ud+yeIBo382cfi5gr7QHhdavxlvJpEKrv MYKsiLbqEnj/tozNxszc7lCXwvAFQtd4s/pKpaQAPD78TFSYUNBW6U2q7B2BfoRMKO4RBKQ3i7A 1UCYdarty+rVz+sKNsV+n4lx6q8m2Fxr9TAT+wf95pUNPjOIK1Oh9IosQ4ht0FlxlhFPQnxN5Ul CaTkqSiZpETUQblOPhBQU/OdTYDSQ5vGa6SzslN/rr/pFLA= X-Google-Smtp-Source: AGHT+IE2t1mIKjTbfLOxxHnPGtF5EANZEhBUSNDmzIqx7nof0PYr33NBqzeXXAMHb0wVBbQ/ZHOTBg== X-Received: by 2002:a05:6808:3386:b0:401:e7c0:62b7 with SMTP id 5614622812f47-401fd6e2ff3mr6007281b6e.1.1745871847483; Mon, 28 Apr 2025 13:24:07 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:cff6:9ed0:6e45:1ff9]) by smtp.gmail.com with ESMTPSA id 5614622812f47-401ec970ec5sm2196187b6e.34.2025.04.28.13.24.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 13:24:06 -0700 (PDT) From: David Lechner Date: Mon, 28 Apr 2025 15:23:04 -0500 Subject: [PATCH v4 2/7] iio: adc: ad4695: use u16 for buffer elements Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-2-6f7f6126f1cb@baylibre.com> References: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-0-6f7f6126f1cb@baylibre.com> In-Reply-To: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-0-6f7f6126f1cb@baylibre.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Lars-Peter Clausen , Michael Hennerich , Eugen Hristev , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2149; i=dlechner@baylibre.com; h=from:subject:message-id; bh=NLK9rHWGxHgHc450e6JA3Kx5J3+N1Fpz21XOi57G4v0=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoD+O4WpNLbL3CYKCp+PPUsjmA9mnQKptP+x5eq ren3YBYwRWJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaA/juAAKCRDCzCAB/wGP wAtvB/4vVUEBo0j0lHeSRNlDndrnUGlRw/RjDbtLEEZfSuKleOliq3a7xcyqLmSE8l85l1qeMND eLCSL522/2esSp4tE5jPHvqeLOokuWiy8HrX0U8V79et+AQSe4Q178E9j1qgV+HJ/kxSMtuxSZy DwXsfcULwYiB7aLCyGKdgDKkjXBmLGDVNLU+ooKF8xABky2jX+R8g1clxwuUKk1aWN8c5GZpUzc aD+jYlThFlC/yF5p9noGzD8oD+RfSYC0AlpuI2cUIJVQqei6XeDO6E8xMd3uIj1ouPdmohMu0JD 5O45phj5sO9zskocZ99/2RyH1ZnmderDB//fPMXwIbcNufJP X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Change the type of the buffer elements to u16 since we currently only support 16-bit word size. The code was originally written to also allow for 32-bit word size when oversampling is enabled, but so far, oversampling is only implemented when using SPI offload and therefore doesn't use this buffer. AD4695_MAX_CHANNEL_SIZE macro is dropped since it no longer adds any value. AD4695_MAX_CHANNELS + 2 is changed to AD4695_MAX_CHANNELS + 1 because previously we were overallocating. AD4695_MAX_CHANNELS is the number of of voltage channels and + 1 is for the temperature channel. Signed-off-by: David Lechner Reviewed-by: Trevor Gamblin --- drivers/iio/adc/ad4695.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/iio/adc/ad4695.c b/drivers/iio/adc/ad4695.c index 68c6625db0d75f4cade7cb029e94191118dbcaa0..0c633d43e480d5404074e9fa35f= 1d330b448f0a2 100644 --- a/drivers/iio/adc/ad4695.c +++ b/drivers/iio/adc/ad4695.c @@ -106,8 +106,6 @@ =20 /* Max number of voltage input channels. */ #define AD4695_MAX_CHANNELS 16 -/* Max size of 1 raw sample in bytes. */ -#define AD4695_MAX_CHANNEL_SIZE 2 =20 enum ad4695_in_pair { AD4695_IN_PAIR_REFGND, @@ -162,8 +160,8 @@ struct ad4695_state { struct spi_transfer buf_read_xfer[AD4695_MAX_CHANNELS * 2 + 3]; struct spi_message buf_read_msg; /* Raw conversion data received. */ - u8 buf[ALIGN((AD4695_MAX_CHANNELS + 2) * AD4695_MAX_CHANNEL_SIZE, - sizeof(s64)) + sizeof(s64)] __aligned(IIO_DMA_MINALIGN); + u16 buf[ALIGN((AD4695_MAX_CHANNELS + 1) * sizeof(u16), + sizeof(s64)) + sizeof(s64)] __aligned(IIO_DMA_MINALIGN); u16 raw_data; /* Commands to send for single conversion. */ u16 cnv_cmd; @@ -660,9 +658,8 @@ static int ad4695_buffer_preenable(struct iio_dev *indi= o_dev) iio_for_each_active_channel(indio_dev, bit) { xfer =3D &st->buf_read_xfer[num_xfer]; xfer->bits_per_word =3D 16; - xfer->rx_buf =3D &st->buf[rx_buf_offset]; + xfer->rx_buf =3D &st->buf[rx_buf_offset++]; xfer->len =3D 2; - rx_buf_offset +=3D xfer->len; =20 if (bit =3D=3D temp_chan_bit) { temp_en =3D 1; --=20 2.43.0 From nobody Tue Feb 10 11:17:23 2026 Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181]) (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 484C91DE2DC for ; Mon, 28 Apr 2025 20:24:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745871850; cv=none; b=OVql05RbZsuJdxNHbPgCFLtLtdH5UzlJqm2q/iOX300HN+CKr9lBBgSw4opPztPmLuvyOahpceS7Igobb7NRDkeFD9Z6XpOIPUkpb2/KZGMbyQmmtwTm21odgPvvi5yIRaoNt1TA/FLLSz0l96EJHpyfQANNc48eq8m8OfY8PPM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745871850; c=relaxed/simple; bh=J4aWhg+jCqZDPjq8gAC6cdfS6rEoLENhaBlAy0BO4RQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hkcUZyaRgTQfEQaPTxk2n3cNfzlxQCerWc/0Sl1m1aZOKIMu+cZgYbgmX6CH+p8zyqofYdXiv4i+PgdIYcIddKQI3aXXzvDEMcUqqTSyouYwnrfcoWQj2Aw4cbVXforZClbRMq0qqMSJCeVe9brxzHXt4h/jgr2fL9VThp1ecBQ= 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=aHafrKJ2; arc=none smtp.client-ip=209.85.167.181 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="aHafrKJ2" Received: by mail-oi1-f181.google.com with SMTP id 5614622812f47-3fbc00143d6so4426619b6e.3 for ; Mon, 28 Apr 2025 13:24:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1745871848; x=1746476648; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=rTje6aj5o1aqilClKP/XjHDRm21nPtMuz4RymFa7ygU=; b=aHafrKJ2msvWdDzqwJqlL0v7SN+rGl00x+2zZBBAM5qOpttAEMaPUYgESgpfCev+dD XdlArxNUlifOwK/chA8034KA1gzAODCJYD29vYvdCUUaJi4pMA5YBMR8x6/zo/nQAAr4 yZYDKZP2+Eo9hU3u4OVHkRTqRfTrtMkq86gBQN5Cxvd/KSOkUtnQbILFL9webLhQ78ig x6r6/IpNpY62XKWg7uj9+blyuf87D2XpmWTkPBZ7GB4AAjguIFR/YeEl9hQUlDX6GJ42 JA2H3Yb3RtOmbojyStsVJPwFKA/fk6C2kd0Qpo7166gmCxiAkzKRxLSLhtU9NjWHXqRh Ht0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745871848; x=1746476648; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rTje6aj5o1aqilClKP/XjHDRm21nPtMuz4RymFa7ygU=; b=UjG8oPKXhd0W5L3ZOVxMUd3t4UUnNkRu9gNXVk3sZmzE2FaRFYi6XStVh4AP4fjKKG xxlPqlgIm8iDPq3UUEwIDawF1yxzQVv+/cifxOBr84zrc/xFwhcCMPoFx3lHCjCzRwl1 aSKwBx2XcZM+tnRNMCgkNP68jUU6O/Huq78/k2t95UOsxyFXaeixt6nvqoCn36uD+GLe LgadOQ+waHRcCtM64XiLuiaJ0oYjeKuAqcsTG1Bvfb+lEHBy3oJ4SRomFUTQZetgql3B 9l3oxiJXLK0orFe5Jwa7LeE2zGT8s6/JOou2gYsLGEG2Xv85a+1AKr+S3vDa8AakWOnU ua3A== X-Forwarded-Encrypted: i=1; AJvYcCW0Sy/k7N8KoWNe47PRSJH+kOBVs07UXq9P6dXv/nJo+A4RnEwMVyUQiBZsNQ95zGJzF4SJz+5ApukcVqw=@vger.kernel.org X-Gm-Message-State: AOJu0YzQYWHpR0tV7t4H5sQR7E7KZDD92F7WpXJUNTUWPizMRRYQKyPr siMttF/6tpRZsD07nIZn5bigfvx3Bjp3PPzbvRu6dw6nwcHHO/hOr6U5fCZLot8= X-Gm-Gg: ASbGncuo8qGeWe6KYjIFxpqK/M6cveqAHpwoNUfM9HhkSgMxq6b/thW0PQZMbMOYTy4 gikLsfB6z3LKungUIrIwrN8t4YT7Mq9kjpYHXeFgDTydcGw2B5rRvQ7Em5xzSqu1v9wRbSpPNC6 klBZLmcD7QKMzel767raBf0uvSOdMH9ya2FykCCZj/RUyK/c4rOqYlySRIwgl46xSpcHKRA7rHc w61ARB8/KdAkVXFQYA9NRt6UUvZNSdjdQM+hF3be73Ma/PsByMwBhZm8rvZv2NC9F5KmWTJC/18 Drbew2n3eMJt0ZQTkG5JTViY9+04THfMvg5PUvOCTktLNws= X-Google-Smtp-Source: AGHT+IH5KDMoXCV8pNi4SkosxNjndqHGUg5FZmoI1A1D85SMMHZZKyW1TrrYK1HTGGR4BOcicOe06A== X-Received: by 2002:a05:6808:bc6:b0:3fb:eb1c:2a83 with SMTP id 5614622812f47-402107f1c7emr578970b6e.9.1745871848357; Mon, 28 Apr 2025 13:24:08 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:cff6:9ed0:6e45:1ff9]) by smtp.gmail.com with ESMTPSA id 5614622812f47-401ec970ec5sm2196187b6e.34.2025.04.28.13.24.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 13:24:08 -0700 (PDT) From: David Lechner Date: Mon, 28 Apr 2025 15:23:05 -0500 Subject: [PATCH v4 3/7] iio: adc: ad4695: use IIO_DECLARE_DMA_BUFFER_WITH_TS Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-3-6f7f6126f1cb@baylibre.com> References: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-0-6f7f6126f1cb@baylibre.com> In-Reply-To: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-0-6f7f6126f1cb@baylibre.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Lars-Peter Clausen , Michael Hennerich , Eugen Hristev , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1021; i=dlechner@baylibre.com; h=from:subject:message-id; bh=J4aWhg+jCqZDPjq8gAC6cdfS6rEoLENhaBlAy0BO4RQ=; b=owGbwMvMwMV46IwC43/G/gOMp9WSGDL4H+//d7X71mGbm6depN80VNtx05mPNSFz0yoVBo/3D 68l3pPn62Q0ZmFg5GKQFVNkeSNxc14SX/O1OTcyZsAMYmUCmcLAxSkAE+ldz8HQPWHrlnNSMWl+ eiGv3DoXzklSatqxPbFZQNbZ8eGzmL4pTzQEc3RjJa+l6cwqWDL996PJ4k2Lfs8sM7/xdJdmkrR U0UTbtg9nhcuqGR+szP9+z7ymUET43eU7yTyqbYdZp/OZSB049sYlpe4p53GZfak7bgjZzNjkye ykejZq9p5XSiLKFwIFEvUWvajebyLxoigkkzWTOcmLb3FeZYZ3a2aHcQrfF4ntL2at3lR46tf02 yw6zExpnfeSxWuilTkT+Q9Fm5xgfqvUzGYV5/4s6ud8iy4JywintqBYZ86sHZqnIv57bti9tWGr fpG/YO+BiBN39GuW1FnsnM3p1thgUvAtTO29XvGe+1YhAA== X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Use IIO_DECLARE_DMA_BUFFER_WITH_TS() to declare the buffer that gets used with iio_push_to_buffers_with_ts(). This makes the code a bit easier to read and understand. Signed-off-by: David Lechner Reviewed-by: Trevor Gamblin --- drivers/iio/adc/ad4695.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/iio/adc/ad4695.c b/drivers/iio/adc/ad4695.c index 0c633d43e480d5404074e9fa35f1d330b448f0a2..992abf6c63b51dee222caf624e1= 72455fb9b9900 100644 --- a/drivers/iio/adc/ad4695.c +++ b/drivers/iio/adc/ad4695.c @@ -160,8 +160,7 @@ struct ad4695_state { struct spi_transfer buf_read_xfer[AD4695_MAX_CHANNELS * 2 + 3]; struct spi_message buf_read_msg; /* Raw conversion data received. */ - u16 buf[ALIGN((AD4695_MAX_CHANNELS + 1) * sizeof(u16), - sizeof(s64)) + sizeof(s64)] __aligned(IIO_DMA_MINALIGN); + IIO_DECLARE_DMA_BUFFER_WITH_TS(u16, buf, AD4695_MAX_CHANNELS + 1); u16 raw_data; /* Commands to send for single conversion. */ u16 cnv_cmd; --=20 2.43.0 From nobody Tue Feb 10 11:17:23 2026 Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com [209.85.167.181]) (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 C83371DE8BE for ; Mon, 28 Apr 2025 20:24:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745871854; cv=none; b=O9glw13QvylbKnsxjVF1ztf6ujTLPNfjQI3EKVzWxkVDMMubwASE75arNm/njKwo6FBxm2F6CZdDqb1R1bIvWsxHzlJFBrLT4cUj++qWi0nf1BMjv3ooTyHyddQnhz4ja08oGFbXRRTOgIwEbtRHCXPoeK5ZB+nU+kvPruNI8d8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745871854; c=relaxed/simple; bh=nanWm12O8sWEDAW7A9yQbxbSGH+6NrUboS0jgt5GWKA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rKfMSKjv9vSWPDVUC7OQvdimdi+jtZKmAlFOQiKuLgHhjB1Lz3d3iJ4MLFVGwGMEy2D6L2hrl/2rauXiuMek7P29fkqcGeyK3j+L6ULayQqMETPxWu/FfPV5IH8iqW1bMX42ufsKysMzk6kSHVaRU6m4owNHwveraK5PfSrkCY4= 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=AlHZpYTz; arc=none smtp.client-ip=209.85.167.181 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="AlHZpYTz" Received: by mail-oi1-f181.google.com with SMTP id 5614622812f47-3fec2899574so3887214b6e.2 for ; Mon, 28 Apr 2025 13:24:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1745871852; x=1746476652; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=LcGVfBKy10j7lIsh3ZFh6lbZwRCfi9c6uNEy2I7W1UA=; b=AlHZpYTzpGWsflq4qRtxQQ/J2KWDHXRfOItpE6q3u7lHmbXJgkEEf04vTZBX447jcB 1aHDVj3IEyS/wnSF0QR49u/Yffhc9jvXKxo4AW8JiMxYJ/j0Fdtdi7OI4u9HNR867rJc jYZe4vmlquKq5RY3t+ZcfsgskuTU8SX5sqZztSd/mrZZx4Dp9+40oTqneyqBpBT8cJZb OuyOC161/6OmMCMfGvdtvLFYuMM1Ihz8Pz5PZGniY8/jYS9mjMTd9hRhDGQ4Oh+xPf+/ IILVMvcJHbmySjeYBCzPk+BNyU+w/Gkzr+A33EHLEEhKNvq2pbIixFRqMkN3Xqh0QBEo V8rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745871852; x=1746476652; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LcGVfBKy10j7lIsh3ZFh6lbZwRCfi9c6uNEy2I7W1UA=; b=aGkwUSGi21M5Vlyhk4fJOS4FIDwtsrru9Ouco+/3jdvJPD9mv49FXWlBMU7YkmNNIm 8EpOvp4hidoZ5mGoEUtOMuqqiA6pU69C1LxS41uMg6Eu/+m7fzBIKu/7us4IWHbSLxgU 3n+VlQGWRcyFCHgZxQacoRHY2ViwFxxW37AYKn0Fyvdq/iFZWNmL/vEa703GeiJv7FZe 2fyPODiLpDcBJ0FpEGlOrlhNBgGbvMnA9828CFcuZDNs/ka2c7OeFcWrSfjBr1FayC7X JgaPFNiojtC2Mi4O2suoTwsaAfJskcRxGJZF0TPsti/Bhbl1Mn58qliwm9Xwm+y9ppg4 iWDA== X-Forwarded-Encrypted: i=1; AJvYcCVPjlQ0EJ/jK8KEY3cNuwqU/z4To2AVo+oCy92/VP/oNSa1X3EyP3Q5IEb9WbKh/aoaKHGR8KlnLg2zuqg=@vger.kernel.org X-Gm-Message-State: AOJu0YyGbswlIv8vnPSBr9d1CIchqKL4DJQ9ZFRX+mfzefzvne1VGZ7/ RlkAeHQ2/hwqWfrfjQPieLClegndoBdmHaMvejeqm0LUdP7U0q32OIVHqZE1ks8= X-Gm-Gg: ASbGnctENHQUIHPYfcrD5Zscm6ofsDCC/Xt3tOpYManXFpwDZCjaLYPTD+xdQm4XFz4 7vYI2wGNiC+A1n5YCDBeAwEqD2P4y2lO0INg2h8hfFXhxwIF6Vrrc5+SwyoC0073A0RxhCX+pka D6uEt+p8eOADQ4Q46EyCxuDgleNUEiDfHYCJ/6ZuOVv9jbJoDKna/M0kGuVjAsViAPE8MLtgexI eEybAVAhmhiivAxSM7TzcTpOcfMWqVubygqzTkQvgeH+1Am02Z0IJGY40eziTn9ZeZSJhENS/8+ cZOFKcjfeKH0tmOJnebE3ujghlqC9ZukhrqYIVHK5znIQFk= X-Google-Smtp-Source: AGHT+IEb+KKxDX5mBvLXoNVemqhE3XcX7CF3Y6nuncxEYl228EfBM3oiBSyxB3e3mBnNUjlF+VK9ZA== X-Received: by 2002:a05:6808:1649:b0:3f9:c0f6:2163 with SMTP id 5614622812f47-40211563838mr157747b6e.12.1745871851251; Mon, 28 Apr 2025 13:24:11 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:cff6:9ed0:6e45:1ff9]) by smtp.gmail.com with ESMTPSA id 5614622812f47-401ec970ec5sm2196187b6e.34.2025.04.28.13.24.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 13:24:09 -0700 (PDT) From: David Lechner Date: Mon, 28 Apr 2025 15:23:06 -0500 Subject: [PATCH v4 4/7] iio: adc: ad4695: rename AD4695_MAX_VIN_CHANNELS Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-4-6f7f6126f1cb@baylibre.com> References: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-0-6f7f6126f1cb@baylibre.com> In-Reply-To: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-0-6f7f6126f1cb@baylibre.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Lars-Peter Clausen , Michael Hennerich , Eugen Hristev , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1950; i=dlechner@baylibre.com; h=from:subject:message-id; bh=nanWm12O8sWEDAW7A9yQbxbSGH+6NrUboS0jgt5GWKA=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoD+PFy0bVmPGBbjG6xCEDLcT/qRJBTQFi0pLJm ThYX0Otc9iJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaA/jxQAKCRDCzCAB/wGP wNKJB/9Vu1Hc/echPMZS5/e8T2LKm5suaZENLfRduq8jeTJvcZFBSsRBKspHIEWX8Ym9s+sT5M+ L8HvpP4kDkzsdAuuyIituDXw6GUBw3yVBo2hFjMg3HyWSmw1XqGfF0RxBYNH2s479Q4FO4myQlI jIuupvmNum/EB7umVxyFyiL7MbGJjQfSkNt31O4lKqo5fmpuuNyqGkFj5OcdBw7x8KFLAOe5IEz inhZgvoB4krefxIHtMDvXiqJHy9V/U7FDW9E7lFs1+PEGCNXetM8bzc/JwXfU0MBmlUPSlL6nih hiDeS3XeNJaxEjX9lrUXiYfu8AqdntMb5hO+ixArISTEiHGi X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Rename AD4695_MAX_CHANNELS to AD4695_MAX_VIN_CHANNELS. It has been a point of confusion that this macro is only the voltage input channels and not all channels. Signed-off-by: David Lechner Reviewed-by: Trevor Gamblin --- drivers/iio/adc/ad4695.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/iio/adc/ad4695.c b/drivers/iio/adc/ad4695.c index 992abf6c63b51dee222caf624e172455fb9b9900..cda419638d9a88debb3501d05a5= 13b17a4ecde95 100644 --- a/drivers/iio/adc/ad4695.c +++ b/drivers/iio/adc/ad4695.c @@ -105,7 +105,7 @@ #define AD4695_REG_ACCESS_SCLK_HZ (10 * MEGA) =20 /* Max number of voltage input channels. */ -#define AD4695_MAX_CHANNELS 16 +#define AD4695_MAX_VIN_CHANNELS 16 =20 enum ad4695_in_pair { AD4695_IN_PAIR_REFGND, @@ -143,8 +143,8 @@ struct ad4695_state { /* offload also requires separate gpio to manually control CNV */ struct gpio_desc *cnv_gpio; /* voltages channels plus temperature and timestamp */ - struct iio_chan_spec iio_chan[AD4695_MAX_CHANNELS + 2]; - struct ad4695_channel_config channels_cfg[AD4695_MAX_CHANNELS]; + struct iio_chan_spec iio_chan[AD4695_MAX_VIN_CHANNELS + 2]; + struct ad4695_channel_config channels_cfg[AD4695_MAX_VIN_CHANNELS]; const struct ad4695_chip_info *chip_info; int sample_freq_range[3]; /* Reference voltage. */ @@ -157,10 +157,10 @@ struct ad4695_state { * to control CS and add a delay between the last SCLK and next * CNV rising edges. */ - struct spi_transfer buf_read_xfer[AD4695_MAX_CHANNELS * 2 + 3]; + struct spi_transfer buf_read_xfer[AD4695_MAX_VIN_CHANNELS * 2 + 3]; struct spi_message buf_read_msg; /* Raw conversion data received. */ - IIO_DECLARE_DMA_BUFFER_WITH_TS(u16, buf, AD4695_MAX_CHANNELS + 1); + IIO_DECLARE_DMA_BUFFER_WITH_TS(u16, buf, AD4695_MAX_VIN_CHANNELS + 1); u16 raw_data; /* Commands to send for single conversion. */ u16 cnv_cmd; --=20 2.43.0 From nobody Tue Feb 10 11:17:23 2026 Received: from mail-oi1-f182.google.com (mail-oi1-f182.google.com [209.85.167.182]) (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 0C7321DE881 for ; Mon, 28 Apr 2025 20:24:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745871855; cv=none; b=a6zvi0p/ilqyht2W6+pLuQh4veyH7c4NivY29mv6wAb6GLZOq+yCcYR1S82nWn7Ep5fRGUHAgx+ncEH+B3HRESsFCZ5eruc5CIIBthH6ky5GElds/UogXDG46QazDg8tPtPcmWRc5I846GN8xhuCyuycip16NJGRSMVn1oZ/dXA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745871855; c=relaxed/simple; bh=Vr9wDkA3SNoSLT9FCnDYkBa0JumGawTzg2ZkCcTYUYM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ANS1n5DaZVeS3XieBYYz5fwhS5so1rPyiZzQbioSJ5GQt4uoEslqsQUlURtwiImy6TUmE4jvxB2Ed+DaVShzktTOUa/q5J8eUgxkVzFQ7WYF2xUDz0zO89dNAMs6t6y5AjCjnw1+HWHOU5R0uZbS0kfc2uXlmrrsbwrjXxm+uwM= 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=pHY+MHUf; arc=none smtp.client-ip=209.85.167.182 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="pHY+MHUf" Received: by mail-oi1-f182.google.com with SMTP id 5614622812f47-3fa6c54cdb2so5330828b6e.3 for ; Mon, 28 Apr 2025 13:24:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1745871853; x=1746476653; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=uIY1UYaU1fvtHky+5YvUDY5xMfkarvlEBEV1oBc96LA=; b=pHY+MHUfBzSYKTO26gPodATZe7bgipHpf1Zqr9/KqMR+OeK0xrSz6w/JkvmgDo/c13 nUkhQVL6mVeUn6bNtooORoAXHfKGyUExb7yPNdKbYJyyO0YIJyLsSH3lkaM1+xnSo2yz 9LbmzrpRHA9ACsGdf72E47u175+QXBEXl+eqpb4cb3pHKdMUD90jPGIv1Kh0Lib5wLC6 zd/jIxznqXrnslaVVsNed8W6TCRKH18zLSNkCCCdjxqRgiphz6h5tfw5d46CzcWlB7LW DcokTK8H5EjF06n8/oUydwSJe1Qj+F90/eW/bY+cfRctrxAijtGdoZTvOPZF4vk6vOQB pbZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745871853; x=1746476653; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uIY1UYaU1fvtHky+5YvUDY5xMfkarvlEBEV1oBc96LA=; b=gZIa/GF1TBuvpIWzUhVG0KGyYZ3guREF0C/Z4jexatp1QdIS+Tw5i5yF86GYj9ZTzn 7fLGWEltqoN4QWY0krhWYdt686TJiMJY4qJoXP/wlgbgJ0okyiEt5tMPo4l+Uigo4TAW ddgkKIIj5qhDulEKAXEK3TzTBlJfyWJaFS8B9Wf9T9JODwI2ynIID8Oekz434Rc5/Ue7 QQEB0vH0qwcfDgNQF5p/ckLLmP1jZXmZ7mp1GfV6waeBB2rx9YneSmZ4nDsjzHTXyecy xn2A5K+safbOc/kDxrbtkxXbARAb8MolPSq6RK1khdtNdyVJnuHkZP4iEm1XQP8rnUmV O9UA== X-Forwarded-Encrypted: i=1; AJvYcCVoKbpEbwJAzgmTgobKbSsDcKooUrhM9Xdus2V0yQ6EgdXcyReqwipfRu1HvcgfCTso6FuvSAvCSPpqOEI=@vger.kernel.org X-Gm-Message-State: AOJu0YzAyo6bVN+5HQwc5btDcgc1smk10Tag+wx8GVprdJDTmB47cztQ X3v1Y/SqNaanQh15EzVWpPA5/EK7pg19YQztPGtYFTykah9COBH6i4HXBrLKDHI= X-Gm-Gg: ASbGncvUyxBh1m1tBHus/2IuOnLnAISF7nn/OZKzdAH9414Zp/fmEaG462eoshmV76D fn+RFkSGlNsBoTxHtVN/HSJ8+svqYqsaI53gtoYIqVwjteK0be7TQu4Qvc6tyU/DsVtza9DmHRB /5iO3N8Mj1OTEi46eYZl55/IsuK4mwrfDwtcMVLYzS+nZJw6WOPOu6pcH3oRcfqh8nAqgn3WVrW LGLSU7Jy2ilkHrvkeM/TQesA+FTzVo/j2bSjgVVmHiHDMn2xE6Ao4QI71K5HVKWayYN9uptvT4v dE9Cij8b4wd+b9kM1WSmi0GMl9a6DFlGb/Bn/KSKoD8hGGZaEF6gWkHttA== X-Google-Smtp-Source: AGHT+IFMSSYxN7PK63XVoFOxHQkyZ8JEzuE0uzWukzKAPCdxZRACSzzcrQRpXZPMCEOaZ577NXiY7g== X-Received: by 2002:a05:6808:6f93:b0:3fe:f4c6:a053 with SMTP id 5614622812f47-402107c0d8cmr718547b6e.4.1745871853106; Mon, 28 Apr 2025 13:24:13 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:cff6:9ed0:6e45:1ff9]) by smtp.gmail.com with ESMTPSA id 5614622812f47-401ec970ec5sm2196187b6e.34.2025.04.28.13.24.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 13:24:12 -0700 (PDT) From: David Lechner Date: Mon, 28 Apr 2025 15:23:07 -0500 Subject: [PATCH v4 5/7] iio: adc: ad7380: use IIO_DECLARE_DMA_BUFFER_WITH_TS Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-5-6f7f6126f1cb@baylibre.com> References: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-0-6f7f6126f1cb@baylibre.com> In-Reply-To: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-0-6f7f6126f1cb@baylibre.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Lars-Peter Clausen , Michael Hennerich , Eugen Hristev , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1253; i=dlechner@baylibre.com; h=from:subject:message-id; bh=Vr9wDkA3SNoSLT9FCnDYkBa0JumGawTzg2ZkCcTYUYM=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoD+PMWNKFP7ZhFMvFOuiJ7rcZBKKOsujRDG4Os CIHO4PxOY2JATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaA/jzAAKCRDCzCAB/wGP wFmoB/9c4ABl1VBly/ge4NLl3iDZmPa8fsd5u8MhDN3q4RgHIjRoWV3Vn2ypZk5O/wO6jSI3Y5g 8Vi8Y9ASJ7k4FUo+us7y6o/9Nq27euWZ/uOWxbC1iJueH1HgWYcaUBhIrZSq2qMFW+HaB8V8OAM g5obAma5H3SKK4Zcx4YyG6xgvM/SzEO1SB1etFTw28vVc+Z8HCa64wdILIhF7rVS6JK+qQY6NgU wtEWuN5caQfN5xosKwIGyC8GTMrU0D9siB9mn2YUdGNWBFwj+3ecHDV6invWY8I6A1Q+DVvjzTE iV4NSAqtnYANrywdxzgMJkqvADUn8Re2UUV+CkV0yz1nT/hD X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Use IIO_DECLARE_DMA_BUFFER_WITH_TS() to declare the buffer that gets used with iio_push_to_buffers_with_ts(). This makes the code a bit easier to read and understand. Signed-off-by: David Lechner --- As discussed in v1, this one stays u8 because it is used with both 16 and 32-bit word sizes. v3 changes: * Use IIO_DECLARE_DMA_BUFFER_WITH_TS() and drop __align() v2 changes: * None (but I messed up and there was supposed to be a change). --- drivers/iio/adc/ad7380.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/iio/adc/ad7380.c b/drivers/iio/adc/ad7380.c index f93e6c67766aa89b18c1a7dec02ae8912f65261c..ed5e43c8c84cfcc9c4ce1866659= a05787c1d6f5e 100644 --- a/drivers/iio/adc/ad7380.c +++ b/drivers/iio/adc/ad7380.c @@ -909,8 +909,7 @@ struct ad7380_state { * Make the buffer large enough for MAX_NUM_CHANNELS 32-bit samples and * one 64-bit aligned 64-bit timestamp. */ - u8 scan_data[ALIGN(MAX_NUM_CHANNELS * sizeof(u32), sizeof(s64)) - + sizeof(s64)] __aligned(IIO_DMA_MINALIGN); + IIO_DECLARE_DMA_BUFFER_WITH_TS(u8, scan_data, MAX_NUM_CHANNELS * sizeof(u= 32)); /* buffers for reading/writing registers */ u16 tx; u16 rx; --=20 2.43.0 From nobody Tue Feb 10 11:17:23 2026 Received: from mail-oi1-f175.google.com (mail-oi1-f175.google.com [209.85.167.175]) (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 1972020A5D6 for ; Mon, 28 Apr 2025 20:24:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745871858; cv=none; b=IOTMB3ZzedGpPvxlm9UC4HL0Hp8h6+vK8N3CIrtJN60Tlm10nvTMK+q6Iii8NnlOt6QAT3AESdXUs9BPLZkxhPTPJniUQSM52Z2v+2TQ/BWoemc9weZOgU5SKnMYWQ4Ua1MuzR5VbE3VvSsz8/GFyGj4zhVV6m6UtKrMXRpWu4c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745871858; c=relaxed/simple; bh=htzNMPXlRVfXDBCUzoC72qPIY7Dbustt/aeF0u587HA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=M9BWDsewRGGojPtlah9mGt5xnUK+hzduURVpN6HjkC4zX+HxC29yIKp1tomudO1vKohnPUTh0MsO8ZgjPOqhEixPQa4NMIb0gUr05Gziu+0JlD/qfFnUHru7M1zzwS+C0SMYTCVHh44yd858aw4Wyagewd31NxE/cyTCdo5StKg= 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=t3/bqhjm; arc=none smtp.client-ip=209.85.167.175 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="t3/bqhjm" Received: by mail-oi1-f175.google.com with SMTP id 5614622812f47-3fa6c54cc1aso4089149b6e.1 for ; Mon, 28 Apr 2025 13:24:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1745871855; x=1746476655; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ml14j4CWVwjgejgx5bGL2isKAmgSSnndW82GfrPbAUk=; b=t3/bqhjmULtzHwK4Rc8GXB9vjCVLfKFWnbe7WR9eY9kYIdoBaIGPUtWAA3PaRgxC9y Btm0bxouFWq9IG9Su4QjBIrOo4JN9CfZUoaUZGfcnkPVqFRHWRzqfuqPDmfjcxaZPsl5 JgjGcTizkQiqyZ18VMbr4Y03hgrEkCX309h6kvDyCljK7wOqTJcapayK2Gsrst3FWCwJ IFU2Fy0pSMjVPHwaLSC6vq7igTDqV8rJqVrkfLimj7HQzED6c56qGBA6d8Y3XVQURJDp fiIlfFlMNfiNxjrFT7RH+BDaknTQfq3Jn3vVYpfcWtQzZYou03ldNP5A5/LQTpgwROuO Rb8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745871855; x=1746476655; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ml14j4CWVwjgejgx5bGL2isKAmgSSnndW82GfrPbAUk=; b=VrWpqmRzWg+joppDBW4QZkzFaOJQVzCCui38HpdDVf3Xm8UK6RGnhmuYcOSGDuBj7n X3U8BF33OXu7l0jNFfTOBlriNeQ8UFNqwJb5t08eUjk6eetlmjJTeDOq19oimAQaxTXH KTjX0b9TKIBxtUMKhy2HqDYlRvxESugtFmZ7Te5nQaal2U7IEZuCzoyf8skrZA514ft/ 2LcCEPxMAqmoITx/7BWFWtR4+XJISvhkYRnH+U/QTlnDu/jplVC8t/e2hhTZJC2thDRm fZyrxoJ843NNNEnuypsH9Kdgb3li26OIl3rJ6A7C81nfk7vP9e2mRcrytDjDiHGBkeYw pIWQ== X-Forwarded-Encrypted: i=1; AJvYcCW/GWkrzA/25vVfeA+4cL3hUkIR7NEuLB2I1UWXBs+iKvy/8h0qLrANZIKq3Llz/MdJPs/4tXU2PH4oplI=@vger.kernel.org X-Gm-Message-State: AOJu0Yxfv2Z/ZzjwB8YTx0ibIWgmUF0yz1mAqFE8UpuyLSG/TbtUVKQJ ysJNwPxvSiuB9zNyWod2f3cc+IEv16pEnNr+0HMUEkQbAeIjVonvXFrZOoZjzm0i9KrDo3E/caT L X-Gm-Gg: ASbGncu1kPSLjILChFGnCWWciUL0C5DUFAnuoC3KGqzA5ovkrAVOYAbG5WxdJzkPF3Q I/aCTTeNBEXITyeFrPB+5HoGq5o/IDNuu364pJILDr4IiXS4grjNjUhAdVT8BziXpep946AvPIP KW7PcfadkBEdq2ezZaHVoaH3IDMIvWsgzRHxzCidMeQbEeENAJ1UllJSnq8Gf3twYVnKpDC2YQS spiqNgVR4L2/g3C6guS/SVkCzaY9DAYzm23GgB/dH+Abro52W/aZM9hQfH88UPLPZ/ZKX1/xHqt v9uiw7Zh35Htv1e4Rj2Uq9oTMT6WRt1hanGvIb/7B1MjujyllSO8OhjhSQ== X-Google-Smtp-Source: AGHT+IHWDYsPV4NitcaTYpgE7UhDjAc/dkOOE3bAqOcW2gABkaCTrsjM84VlpdSsucL1H4N7hzx65w== X-Received: by 2002:a05:6808:330a:b0:401:e949:6381 with SMTP id 5614622812f47-40211577993mr179164b6e.19.1745871854968; Mon, 28 Apr 2025 13:24:14 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:cff6:9ed0:6e45:1ff9]) by smtp.gmail.com with ESMTPSA id 5614622812f47-401ec970ec5sm2196187b6e.34.2025.04.28.13.24.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 13:24:14 -0700 (PDT) From: David Lechner Date: Mon, 28 Apr 2025 15:23:08 -0500 Subject: [PATCH v4 6/7] iio: accel: sca3300: use IIO_DECLARE_BUFFER_WITH_TS Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-6-6f7f6126f1cb@baylibre.com> References: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-0-6f7f6126f1cb@baylibre.com> In-Reply-To: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-0-6f7f6126f1cb@baylibre.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Lars-Peter Clausen , Michael Hennerich , Eugen Hristev , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2980; i=dlechner@baylibre.com; h=from:subject:message-id; bh=htzNMPXlRVfXDBCUzoC72qPIY7Dbustt/aeF0u587HA=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoD+PTGYK6ltZUKAz6ARjAhcxo37S0yYyvXAfZ8 IeVDjBAieyJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaA/j0wAKCRDCzCAB/wGP wE5PCACauVxdlLd4SV1hK2nzoW85CFCUCnNXbPIlokdEh+LfKhvlbt8S3RI9cGDMwumFDlZPZq0 7Z3BqalYsLPvdH6nQfN5DZSWSeS/cywoHGkyJjFGWJ85e1NdC2XptNEu6GV0gYnp4XXQpsxjzq3 CYd8GXj4eehMVbOhOOoT/p4Lfd2tj5uaXDVL8TPik9wRlxSdwhhg38Gh7fqxrrPDmzyht60T3pF Gcp3eYRkT1F1RljVJIam/foR+bogJEy6bX9w7+SM5JpXmeX8EJoDE69w8lXHFPDdfGRDfLB8Qla R6yXv1ErpZzFeweqLdaSp6fpqSy0FdPezOTS33hsc9b/Xd67 X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Use IIO_DECLARE_BUFFER_WITH_TS() to declare the buffer that gets used with iio_push_to_buffers_with_ts(). This makes the code a bit easier to read and understand. Signed-off-by: David Lechner --- This is an alternative to [1]. Also, this serves as a test to see if we can get a rule of thumb to decide how much is too much to put on the stack vs. needing to put the buffer in a static struct. SCA3300_SCAN_MAX is 7, so this add a bit over 64 bytes to the stack, make the stack now roughly double what it was before. [1]: https://lore.kernel.org/linux-iio/20250418-iio-prefer-aligned_s64-time= stamp-v1-1-4c6080710516@baylibre.com/ --- drivers/iio/accel/sca3300.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/drivers/iio/accel/sca3300.c b/drivers/iio/accel/sca3300.c index 1132bbaba75bcca525fac2f3e19f63546380fd4f..67416a406e2f43e4e4172104109= 04d44c93111d2 100644 --- a/drivers/iio/accel/sca3300.c +++ b/drivers/iio/accel/sca3300.c @@ -58,15 +58,6 @@ enum sca3300_scan_indexes { SCA3300_SCAN_MAX }; =20 -/* - * Buffer size max case: - * Three accel channels, two bytes per channel. - * Temperature channel, two bytes. - * Three incli channels, two bytes per channel. - * Timestamp channel, eight bytes. - */ -#define SCA3300_MAX_BUFFER_SIZE (ALIGN(sizeof(s16) * SCA3300_SCAN_MAX, siz= eof(s64)) + sizeof(s64)) - #define SCA3300_ACCEL_CHANNEL(index, reg, axis) { \ .type =3D IIO_ACCEL, \ .address =3D reg, \ @@ -193,9 +184,6 @@ struct sca3300_chip_info { * @spi: SPI device structure * @lock: Data buffer lock * @chip: Sensor chip specific information - * @buffer: Triggered buffer: - * -SCA3300: 4 channel 16-bit data + 64-bit timestamp - * -SCL3300: 7 channel 16-bit data + 64-bit timestamp * @txbuf: Transmit buffer * @rxbuf: Receive buffer */ @@ -203,7 +191,6 @@ struct sca3300_data { struct spi_device *spi; struct mutex lock; const struct sca3300_chip_info *chip; - u8 buffer[SCA3300_MAX_BUFFER_SIZE] __aligned(sizeof(s64)); u8 txbuf[4] __aligned(IIO_DMA_MINALIGN); u8 rxbuf[4]; }; @@ -492,7 +479,7 @@ static irqreturn_t sca3300_trigger_handler(int irq, voi= d *p) struct iio_dev *indio_dev =3D pf->indio_dev; struct sca3300_data *data =3D iio_priv(indio_dev); int bit, ret, val, i =3D 0; - s16 *channels =3D (s16 *)data->buffer; + IIO_DECLARE_BUFFER_WITH_TS(s16, channels, SCA3300_SCAN_MAX); =20 iio_for_each_active_channel(indio_dev, bit) { ret =3D sca3300_read_reg(data, indio_dev->channels[bit].address, &val); @@ -505,8 +492,7 @@ static irqreturn_t sca3300_trigger_handler(int irq, voi= d *p) channels[i++] =3D val; } =20 - iio_push_to_buffers_with_ts(indio_dev, data->buffer, - sizeof(data->buffer), + iio_push_to_buffers_with_ts(indio_dev, channels, sizeof(channels), iio_get_time_ns(indio_dev)); out: iio_trigger_notify_done(indio_dev->trig); --=20 2.43.0 From nobody Tue Feb 10 11:17:23 2026 Received: from mail-oi1-f177.google.com (mail-oi1-f177.google.com [209.85.167.177]) (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 EC8CC20D509 for ; Mon, 28 Apr 2025 20:24:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745871859; cv=none; b=j0hw7CRW2kOU25a8YyPB86zjTNdrCX5NPCK7EFOCa3kA6ZNKe8MEQ2mZJegGSthP2t5FiQTBU/rLhKCKAFgx9PQXBjf8NLH54Pl/IqUi+CN0a7vYNrR4IXiXQR5KIrstXsaaDThY444aiJnEXu2aMtlvfQwqIkleKw7Vw9Zu+Oc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745871859; c=relaxed/simple; bh=0ZROZIYuD1zVkkOa3PNcABnV8cSDGoSdT6l8Emh427M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CAEnlCV4ZOD25MSNeKF+I2UclnBH3Dg47keUghg0spBe1iT4wZ3S89WqOb0cLkk6PF2npeLFIkgVOMwWhUKHfIZa/nsU1r0ZQjsTL2zh4d99DiHLVFd8Gvh6kBNS7yxR3YovsHGP2UoB0sLQmAqqTgypXtbEsSOg0q/QVU3MU5k= 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=bTB6lxM2; arc=none smtp.client-ip=209.85.167.177 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="bTB6lxM2" Received: by mail-oi1-f177.google.com with SMTP id 5614622812f47-3feaedb4085so3688349b6e.0 for ; Mon, 28 Apr 2025 13:24:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1745871857; x=1746476657; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=eLGFE4jWdVqehv02FfXRMamFv946mVo/oPig2GMtSpQ=; b=bTB6lxM2IAiqPw4WvBYbySq5aQ/xY8Tgsy7e8J4pGhrvVf2TCDLgv8ZyypGC7fO7uy nFmrMTsXoQk1HbHc/8cvm6RgpZKhQ10MrqreM1EvtnaK5m/DlBAGU7LtVZ9g3uKKPxW/ MnHFMBHDuygzEUCxqB7dPBD1f/Ix+0sG5/MRGxXcILiwr+NkYm3i8E38cxOP5LfKYR7E 11Qbz6to+ntf73IBcEZt/2PNui1r0+3DkG5IR04KvW8DY1ZliHdDyiSMb7LYvUTAoH2a VwOtBxQZjfCkJQiqdw8K8oVzdGmqPuiKftAg7vgiNYEivN3euW9/2iJTEO+hpndylD59 tZwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745871857; x=1746476657; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eLGFE4jWdVqehv02FfXRMamFv946mVo/oPig2GMtSpQ=; b=nUWql0ATRgHKkuWdRY9FYKSCqJ7YgdhB89u8k2XYlF7kZ5vJFSuWKplRSImRPlMt0B XqmaREPfHJpA8TQoUyi9GjhbaCD8HaSRmEk+GeoAgVL4jD08hGOHpHiTZVR0RbOkL4St kSXfBUl+81A3mVJy7wcK3ztk/GGv9GDqhrxgW8av/rPNOz6qB/PrNtT/5zdnm39O9kut 5VmU3VDJ1cuQDeWi5lrMkhMgb7fbOQ1T/fD4/F9m2CpIjq/SZ9XxGJPSP+emZ8+HJUR2 r66CKru42Pw2C+7xEPqcIEB5dxoUyUsmEYgCMk4czkyWjHKgpcm5UztP2p5yBN4p5+/k JVBg== X-Forwarded-Encrypted: i=1; AJvYcCUReXL0XkJpk8DRvzfGM8QCbnjIbeKxN4Pxd+8DdBwGeEuRk2VnhHxoqybgGUiMgKi12qBBd8udNjH1Nuk=@vger.kernel.org X-Gm-Message-State: AOJu0YxmqQb9B0hqzsp3nIhzEYpt4LAuwsVHiLN8Wb0BJqARUlacoj9V YjwwKpmrjGejwvfpyHbcYMd6n3wyytHEq0uIdgs9n4rhqQ80fcrVj0t8Bgw/XyU= X-Gm-Gg: ASbGncsbrmNywu0QaNg+h3lBGnwt+vfoPjg8nFkkbAyxf8140iI7NBoOTvLRFKq2fLq 7LCsbl/6eTDRDgEj/e233kNkOT94n/uXsNnB3zeQcDONBHfgqqNcp4imQ+z+bclCwvYsuxOOE9a nsO7H5RpOfNFjtPc5MYInhhoUbukd96krKneV8SD/KcbYnukqQdVcWyALPT3bHMzi9fFkJbuaWu ArKX61u6WrrvpbBIl7bch+kpTtNxlILAwQhpNhdC8UXK1f5bley9LWbIGWoOGSR/TONgAcyxqYR o4wC7WmcovWFk/pnmNYkF9wNJfVa963GalTM6FBGsfZLxa8= X-Google-Smtp-Source: AGHT+IH8dlw0ehMbgO7QpiThtCrPLkett8/hqgxlIDqGeXzMuHImTBnndaA0YhdIbBTxOtiX9weCIw== X-Received: by 2002:a05:6808:22ac:b0:3fb:49cd:6bf5 with SMTP id 5614622812f47-402116118d5mr181018b6e.32.1745871856950; Mon, 28 Apr 2025 13:24:16 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:cff6:9ed0:6e45:1ff9]) by smtp.gmail.com with ESMTPSA id 5614622812f47-401ec970ec5sm2196187b6e.34.2025.04.28.13.24.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Apr 2025 13:24:16 -0700 (PDT) From: David Lechner Date: Mon, 28 Apr 2025 15:23:09 -0500 Subject: [PATCH v4 7/7] iio: adc: at91-sama5d2: use IIO_DECLARE_BUFFER_WITH_TS Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-7-6f7f6126f1cb@baylibre.com> References: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-0-6f7f6126f1cb@baylibre.com> In-Reply-To: <20250428-iio-introduce-iio_declare_buffer_with_ts-v4-0-6f7f6126f1cb@baylibre.com> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Lars-Peter Clausen , Michael Hennerich , Eugen Hristev , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1676; i=dlechner@baylibre.com; h=from:subject:message-id; bh=0ZROZIYuD1zVkkOa3PNcABnV8cSDGoSdT6l8Emh427M=; b=owGbwMvMwMV46IwC43/G/gOMp9WSGDL4H9/qOSxxJUC0We2S07QzezJ67119YrJbTCBQWHfa3 IfLlnds6GQ0ZmFg5GKQFVNkeSNxc14SX/O1OTcyZsAMYmUCmcLAxSkAE1nZx8HQaj/NyyrO4M9V 286Ze+pFsrgZNzAE7LTuNWJ6If864qfJ1GWuMZfv5etfnO7+LHa/YPf0mp/1bKnWYSnie63ab2r 0xBkZWXdo5t3IqhA+uzThdzbzpxQPznV3+wJ+zHQRzp/qVf/qXOefRbnLtKzCTvyYlT6bx2G7ld vixFSLiz2dpro75BMesvzWquvbJ1nxeXli0kTNt+EMgTveSUnPkQoO0MiV5JI5m6e/4+OMlsDLp qa22oVqvRl8a0TrTJeJpfy1TZMOWlcpZnsot7lnhYS6QL5s0I2d3+Tca8qEZevC1nO4/D21WHVC aR2bhhHvi88S21yanvrbZayUYHweXnBlWt+GFWqm56QB X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Use IIO_DECLARE_BUFFER_WITH_TS() to declare the buffer that gets used with iio_push_to_buffers_with_ts(). This makes the code a bit easier to read and understand. Signed-off-by: David Lechner --- This is an alternative to [1]. [1]: https://lore.kernel.org/linux-iio/20250418-iio-prefer-aligned_s64-time= stamp-v1-2-4c6080710516@baylibre.com/ --- drivers/iio/adc/at91-sama5d2_adc.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/drivers/iio/adc/at91-sama5d2_adc.c b/drivers/iio/adc/at91-sama= 5d2_adc.c index 414610afcb2c4128a63cf76767803c32cb01ac5e..4ebaeb41aa4568e2461506471af= 0540af9d1a041 100644 --- a/drivers/iio/adc/at91-sama5d2_adc.c +++ b/drivers/iio/adc/at91-sama5d2_adc.c @@ -586,15 +586,6 @@ struct at91_adc_temp { u16 saved_oversampling; }; =20 -/* - * Buffer size requirements: - * No channels * bytes_per_channel(2) + timestamp bytes (8) - * Divided by 2 because we need half words. - * We assume 32 channels for now, has to be increased if needed. - * Nobody minds a buffer being too big. - */ -#define AT91_BUFFER_MAX_HWORDS ((32 * 2 + 8) / 2) - struct at91_adc_state { void __iomem *base; int irq; @@ -616,8 +607,8 @@ struct at91_adc_state { struct at91_adc_temp temp_st; struct iio_dev *indio_dev; struct device *dev; - /* Ensure naturally aligned timestamp */ - u16 buffer[AT91_BUFFER_MAX_HWORDS] __aligned(8); + /* We assume 32 channels for now, has to be increased if needed.*/ + IIO_DECLARE_BUFFER_WITH_TS(u16, buffer, 32); /* * lock to prevent concurrent 'single conversion' requests through * sysfs. --=20 2.43.0