From nobody Mon Feb 9 21:28:35 2026 Received: from mail-oi1-f179.google.com (mail-oi1-f179.google.com [209.85.167.179]) (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 74982195811 for ; Mon, 5 May 2025 16:32:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746462765; cv=none; b=FYTtk4c6kAxxwVOD7h9XCpfTEDJ0pyGspYeVFqYymIvnLoy+Fy0WRg4i7jEW0WVd5SdUVERf2emu7iBh7BDzsM3E6GwA4WV8L9qOsPNcrEtyjeQxhj9/g49RrgqnmjnurL4rJvNO0JeA+EYyDK2kH/XitK3dCgda+WsdSwjjywI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746462765; c=relaxed/simple; bh=46OSuZf2dhljZm7iLcR4nEvANejbGAzfctNVEsdQaN8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GDmZFn5N2EvrRQwdOUJpHSx7VGu9ecM4CsniOZv0ol3WzLbQRiDKkySQ8G6Fe9xYaeN8TiidsKxCswm5vZu6yz/EY7dWMc3oYSAsxAlqQyg/zR/afPxsip7qseM7OGpcg9oJuRmGf0QQellG9V6Vp7hVeRMIpRFtkZhkDhqSSDA= 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=mie3ee7g; arc=none smtp.client-ip=209.85.167.179 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="mie3ee7g" Received: by mail-oi1-f179.google.com with SMTP id 5614622812f47-401c43671ecso2281014b6e.0 for ; Mon, 05 May 2025 09:32:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1746462762; x=1747067562; 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=rJgqOXHKtLEYu5Dc95e8O+Sgs8ALpz+j191fEgS8hIA=; b=mie3ee7g6bKMhnWx9Js2PDjSN+cRPyfAF1yFjA/QA7M6N45+SS7vz2/85E2kTRbgrE 2iicBKE7CYK9zGqlM0IeoTGcz231qHZhYpFxSV6Tc6WxMNugtePpqOrNQsP1QEBsCm69 a98THqAcv51/xL8c8ZUsyn8XOoyhaipjHjZ96JlIWGbDbcSsdx6LukJjGiIGZmZzQ3FX 0TgvaGa+UyVRxpzJzEixDlcSSJbBYurGOD9DbHeFo3IFbOMByUXY2DIdKOkG4P7EPErv s3KsOhJgdSXpqsOzj6BJQyPYlzufF956Ybkmth8cnjzUrlFJcZEpqsJgfyFEj3rkzUeS eugg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746462762; x=1747067562; 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=rJgqOXHKtLEYu5Dc95e8O+Sgs8ALpz+j191fEgS8hIA=; b=ox6MjsiaiJ43Jw9ya3gWQzmThS9BcX5wamotduzumxYoCHMeBeXyppoV/RrThP8NBb /NA1WjlTn5EQF3/lhmnCc6nXDbxUiXfDkFFPHPEkiepgEH+fDqTdtZpMZGSzPSwMtcBD k788TisUswKATLsI7vNvvgOqQVYNhlZaSwcF6vx+M9MEmEH5+svkMjMXKRSjMui3zcTZ 6w4MDGAVnY+eAvV5AxESOaboxqClmxVyjOkiszo8iyICjIlrrpcu9Ls6ESWs2quMrRMs xikuTWV082XHfKpyVAJdVcA2XgXO0pK/v1nNR424QiTU0UXQgv4/XHDVG/56VfStbhr4 Wp9g== X-Forwarded-Encrypted: i=1; AJvYcCUz73OGu9m3wIj+JVzxe1scH1Sxan85x5+u0iY74+CWurlY4bhZxqD6528Xv0v4oOFMa0yis4n1hVqChuw=@vger.kernel.org X-Gm-Message-State: AOJu0YxSjb1nOxxsNCKmRnUva0VHY5BHF4jQE71/tn8nkig6e3okuYy2 rD1ZMv2l0F48DjEkhpunqpA1JJ4rBPk340iRrMsHTQ8e1n6n3UrxiDbwHktfG1c= X-Gm-Gg: ASbGnct8ZI4mH2RMprw+EG8RfbUEfAs/mplcuInuwH31pQVww5ciSxjZgC/QzN1wx/Q pz71FWYKRA0S7xvKJLvhWp3Oy8g51DjVBhjnaPNgkwJd0pQUVdplO2Ecj+hCXjcHeugF0iXy6LG DEm0zonLYRIhuFpGfOAKI3L9UIgfoquAxQ5iINP4Vw4t/ciTDM5NgmoLW2rh9wEMBPbIuEV5Aql Cy4o7CXASNxWSqOq4dcnjCzx45cluDWngGI9uuta4EvjrYrlIp4KJw3M3NQZYl29N35V0+r8k5Q JdISwt3onpZNSr1+E6n0qX55rqf1Kk4UTu2Mul3+eCvaCg== X-Google-Smtp-Source: AGHT+IGs/uio+N9GX6uoXBshi7EmIQjByvrsNNXX+NqolBl5ZTXdpZVjZB6aOujcazOYysdZc1C7fg== X-Received: by 2002:a05:6808:2e44:b0:3f3:d699:e1a8 with SMTP id 5614622812f47-4036889329dmr99556b6e.13.1746462762462; Mon, 05 May 2025 09:32:42 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:2151:6806:9b7:545d]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4033dae68f7sm1971854b6e.26.2025.05.05.09.32.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 09:32:42 -0700 (PDT) From: David Lechner Date: Mon, 05 May 2025 11:31:42 -0500 Subject: [PATCH v5 1/7] iio: make IIO_DMA_MINALIGN minimum of 8 bytes 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: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-1-814b72b1cae3@baylibre.com> References: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-0-814b72b1cae3@baylibre.com> In-Reply-To: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-0-814b72b1cae3@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=1648; i=dlechner@baylibre.com; h=from:subject:message-id; bh=46OSuZf2dhljZm7iLcR4nEvANejbGAzfctNVEsdQaN8=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoGOf3wI8ZT4eFmRiGA5GwE6azCjTTRo1UWmFKt qQemRE5B6eJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaBjn9wAKCRDCzCAB/wGP wH0mB/0emTwkt4s59h+lwHQxEogmsxeNHdHGwpxtKif1U4oSd5BIhv04bnXgOEzZHho6ORDkML5 T5Wx+rUcoPcfdZv4UINUOowft6FL8a2ZLzKxwV/cYf+93la/1Gj6fxP/tAmN4GRnTSQgtbKowYM KarS+EJX/y+GonOePKZqncyxqtKtoV4DX+VPCOJ8FqK1PYW/3e4GBut/zPaLq4I+X+mG+oZZ8Mx IVsCipaI9EJmcaP41FAXPSuw7BMqzbTfv6OPxBcNyWi+/5haxvZcJ75P8m7BHkrYJlZw9CFeO+Y XR+bpiOEfvYEZQlo3vHnK3lt8YXx5RKltXnVVjyN9KBxGTnw X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Add a condition to ensure that IIO_DMA_MINALIGN is at least 8 bytes. On some 32-bit architectures, IIO_DMA_MINALIGN is 4. In many cases, drivers are using this alignment for buffers that include a 64-bit timestamp that is used with iio_push_to_buffers_with_ts(), which expects the timestamp to be aligned to 8 bytes. To handle this, we can just make IIO_DMA_MINALIGN at least 8 bytes. Signed-off-by: David Lechner Reviewed-by: Nuno S=C3=A1 --- include/linux/iio/iio.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h index 638cf2420fbd85cf2924d09d061df601d1d4bb2a..7e1e3739328d103262071bd34ba= 5f6631163c122 100644 --- a/include/linux/iio/iio.h +++ b/include/linux/iio/iio.h @@ -775,8 +775,18 @@ static inline void *iio_device_get_drvdata(const struc= t iio_dev *indio_dev) * to in turn include IIO_DMA_MINALIGN'd elements such as buffers which * must not share cachelines with the rest of the structure, thus making * them safe for use with non-coherent DMA. + * + * A number of drivers also use this on buffers that include a 64-bit time= stamp + * that is used with iio_push_to_buffer_with_ts(). Therefore, in the case = where + * DMA alignment is not sufficient for proper timestamp alignment, we alig= n to + * 8 bytes instead. */ +#if ARCH_DMA_MINALIGN < sizeof(s64) +#define IIO_DMA_MINALIGN sizeof(s64) +#else #define IIO_DMA_MINALIGN ARCH_DMA_MINALIGN +#endif + 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 Mon Feb 9 21:28:35 2026 Received: from mail-oi1-f179.google.com (mail-oi1-f179.google.com [209.85.167.179]) (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 6D756262FFE for ; Mon, 5 May 2025 16:32:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746462767; cv=none; b=dMeyYqbLJXRJ17wcy8OjPvmMxSvGMgt6M/5RQeJVaU0mdJuCMRnKsKiSBY7nxfxZEIho7KEdYijHjl8NbdMMYrr3AB49mi0mfO4Hah5GWREahbMB/x3YmuUmhVVY5HAJjB4kiEo8TNFdFJCxQwlSnZ2gjFwgmXJj/bskXhTOXwQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746462767; c=relaxed/simple; bh=GqiFVLFxgn+LBBWQlIorwUyITU4RwfalpSjWWDvcdCo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oM7vS0316IVNkD/fv3GxKHsly87jEnIRLzpl9aF3toM7w5VTOAuj+ZoLdMbaY5CEfe860FfHSDZsft3wzLeksJdx4dgEAH7pIIMPYKbPz3xU1HywprzOePf7XPwB32oh5wujP1xncKRDZlyCMa8I3yR7AmIPjr+3aWHlhM63spo= 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=wa/jOA/N; arc=none smtp.client-ip=209.85.167.179 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="wa/jOA/N" Received: by mail-oi1-f179.google.com with SMTP id 5614622812f47-401f6513cb2so3167505b6e.0 for ; Mon, 05 May 2025 09:32:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1746462764; x=1747067564; 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=4WROtiMI3JkznTuCCsJN7sUPb4kZ+J9D+lR0Z1bHz4c=; b=wa/jOA/NHP3DVWBWRvy1j55Q3HqgvWPYklOwq18LsDHeRhuRjtWKoOVe2LXn0juAbI 0Z8wPT5yD5z+P8j+OXEc365OzSKMXh1nWyRjlqMNEYaRsyrsOFaX7vR1dP8stapLxWg3 XNpxEybv44/IlKoLdw+yq+zBc94+zQujcoI1ZX1DSwl1xO+S1i2CAldKV+ciP5gNUe/R ff3YzOZgq6SoP2M9NTN4PrJ3M8zCajphj/U16wlV1spxQK40MsxPYIv9LIraKCwVVe3p hpUCjFBPvEfKs90de0YvIsb5EngdSm7EXeo1gd9NEDufoL9zKZN+9TtYVJlQ0LYQPoMZ 6LXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746462764; x=1747067564; 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=4WROtiMI3JkznTuCCsJN7sUPb4kZ+J9D+lR0Z1bHz4c=; b=jUGZ7ucfXCd/WvnDwhWZAi+tuQOhPbqLOKwJ/E8ft8F5ns6CVo9BCd7I54VMODtTAE 8FOFtqAefZoGL3zPOOPYRkswdZmH+UQul9k8Kxsh4XOR6uvakb2JeBLiCKPueu1YKqEQ OzajBDo5K82kxFjQ9JNbpJVJubcjp63QKMeLPNo+jKfYEC2/dC8k68mW/AtAxvQOgfS/ tCN3wEzGBe2nq8U3gIdexmA25rJBm1K6vVYFzL5Xszom3ql4Gthax0IU6VGNmH68zda8 5u2cEgZuou+MSjufKk0kf3ZubIqxOT9ebq7Tb4VF+nFRSfdleodsjd8EUzkxIXKAewzN NDnA== X-Forwarded-Encrypted: i=1; AJvYcCVqqMPdoMzDSkzjZ8sUR7EoD7g5dmWQxrphzVJ5ugdisRj0UrJUhxcrcTbInkAiAdN7joq7u5HF49sl3iY=@vger.kernel.org X-Gm-Message-State: AOJu0YwGHaPfMSJll4M5nsI4TCPIW4PHJ7vwXJeIW/OrqzOU0haYuR2O 5+OKYpJtDZtU5/hVXoYdQ9MmqnFJr6tNmq6GbLYk3mN/vYNZeqspwxc8piV8rPM= X-Gm-Gg: ASbGncsxK6pnwcT1FGbvV53Rx77SsUX3veV6/kG3Zhn6/kBnPn4+gZABb3VaiAKd716 VN6hXDDMyNyRn8K6hn7iBPmjjihptqjLpowTHNhCgSfM7nYyFx5xjFIzypTTF/ihBTLOfMQVYx2 c7llSe6ryqbDIw/bLP/JLUsutfrOz1H6M8kmO3/obqi+9v6A/sodVWNCHvK3OrY+LWhUCHdiysL Rw+DYQD3VItMIGWb9/SSYImG2v6pJfJK9IAspI+A5XZo2p52K0YrgghMdwbhbJLnpy8B5EG79w6 PW7ItOG+Q+ZDaVhFgm1xoOc8qqKVkhHzdCcePrmaXByGcw== X-Google-Smtp-Source: AGHT+IH4vRVlspiASheOc+rcVxaOiPunx6fBx8WC6lVUIUaD6fiU25D8/3I8EBIEW8Ys5r+61fqW/g== X-Received: by 2002:a05:6808:22a9:b0:3f6:a851:fe85 with SMTP id 5614622812f47-4036883782fmr91855b6e.14.1746462764436; Mon, 05 May 2025 09:32:44 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:2151:6806:9b7:545d]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4033dae68f7sm1971854b6e.26.2025.05.05.09.32.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 09:32:42 -0700 (PDT) From: David Lechner Date: Mon, 05 May 2025 11:31:43 -0500 Subject: [PATCH v5 2/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: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-2-814b72b1cae3@baylibre.com> References: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-0-814b72b1cae3@baylibre.com> In-Reply-To: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-0-814b72b1cae3@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=4179; i=dlechner@baylibre.com; h=from:subject:message-id; bh=GqiFVLFxgn+LBBWQlIorwUyITU4RwfalpSjWWDvcdCo=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoGOf+Ep/O4CcQfg5E/1xbTSnTa0LnJINU/61Bq JnFrh18IZaJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaBjn/gAKCRDCzCAB/wGP wLpcCACBNPKqIY74BOKllvhWFKdD323FZ7oXSTwtI2y67stm46e4owBkZHCPcibWab2zgd31LdN ACchPsBpYGJXX99sZIZnt35PumsAo7QlwvGPaAfa7CHGsc72prktudnAyu7WPtzLf65ls710pME QFeZY2xcjPxTZQ8ScbtBNdlvJ4XEs/qlo1d9ZEufQX+pq7joJ6wF7D++vNtcAj63PaLexc+m5BF CwYchx1Iz86maVtt+QVKFe+LNLJSyy7n771W48FxK2ZYvrCNknwctl7jrBxOOaYmzZlM5pnyuhn Go5Tsa+atkz/BAktK95G0godMRFp+uFmqp1muRBEUqrB1Yuk 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 Reviewed-by: Nuno S=C3=A1 --- v5 changes: * Revert back to __align(IIO_DMA_MINALIGN) as IIO_DMA_MINALIGN now has a minimum of 8 bytes. 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 | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h index 7e1e3739328d103262071bd34ba5f6631163c122..703ade71483803c0a335343d5a7= ecaefd8bc93b6 100644 --- a/include/linux/iio/iio.h +++ b/include/linux/iio/iio.h @@ -7,6 +7,7 @@ #ifndef _INDUSTRIAL_IO_H_ #define _INDUSTRIAL_IO_H_ =20 +#include #include #include #include @@ -787,6 +788,37 @@ static inline void *iio_device_get_drvdata(const struc= t iio_dev *indio_dev) #define IIO_DMA_MINALIGN ARCH_DMA_MINALIGN #endif =20 +#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) __aligned(IIO_DMA_MINALIG= N) + 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 Mon Feb 9 21:28:35 2026 Received: from mail-oi1-f173.google.com (mail-oi1-f173.google.com [209.85.167.173]) (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 453B226B949 for ; Mon, 5 May 2025 16:32:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746462770; cv=none; b=t4bPrL8qz8BDDxnSIHTiLReSl5KxHC5eRA1oSb6um6Wd7QMbbb3KWQPieMS3F/pg6aFLCWoOw4ziCSfmW7E6i9XCJEAgObsgopVGhLqnD0GMrSI+eULhD+EUU6aKLWmn513NWqzyvdPasgt2z1YJl2fI0OcU6OmhOyXWLtDnb7U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746462770; c=relaxed/simple; bh=Bss/MM4pMUG+funKZXn/aR/hWEcoDzCMv41P7cSelc4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oLkCk7fAl4Vol2pJ2vEKt1uieMST/7tDetxA0BxnU4ohK0Xdt6Ztcmds7Gg+iN5flQzDVEKykx8y2Sdx0Me/sysFI2ED7tHm7VxstkRb3PFAzk7zQgS0pfAj/clutGtwRb1OX1OEVwSpT71fYxalvxDXd1OwAuF72fZbm/l3QRE= 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=H89KeW32; arc=none smtp.client-ip=209.85.167.173 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="H89KeW32" Received: by mail-oi1-f173.google.com with SMTP id 5614622812f47-401f6513cb2so3167523b6e.0 for ; Mon, 05 May 2025 09:32:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1746462765; x=1747067565; 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=7IPN5zjvUiujE84L8mSRQW14VNC1zQsKq5wxQYikpNA=; b=H89KeW32J1qnUSkjhYSI/XAKbYwGBTd+SoyXLHkXq9ftno8563eqh/qVpWZmOH1oJy 7oNrqzHuTodQ7G0VGjtCVIaudUOVUQPhEPct9KDpVxyV5JAYzI9eHX/QU84mGuR8Lqu3 pzTCbzMFm3tRg6aBx5qTYRloYfZVu9QtIniMy9DFiROWpy4njvYEorO0Ctpgb+BOgwi6 vu1dTOlzBhLwDbX5Wk5xUhPBmtihPhjmFeBUDj9RTS0tFwQzZx0qbeVGsMGA46Mqk23s hCDJVdOXULZtnul1VONcPWyoaqGYUoZjbz53TsK0l6N/sABMdsONlpP038clononqvI6 wX/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746462765; x=1747067565; 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=7IPN5zjvUiujE84L8mSRQW14VNC1zQsKq5wxQYikpNA=; b=WR+C1eXMB9nuzs/OKFOXEa7BuL2WExl+DNAQpfkUFYAR+GaYq7Vximf0UxtXsu4pWi CgXuReY0iYYH7eYkmj3UCzhVxPsiq3Vt3aT+k98/ufIYrSWoYqvfvyiZxfzZ/J/hds9a ddkkBNHOpeaccU4ithh95R89LtIWrCqC6lA8jgPcibpB6BFDrp+jiq4VlRDe7sgQA7ZO l2x5YSQSiTZAHbRKv1aa3GJW5GiHyK7ujJbUAYGzqZkp1QW2hCFumZHBTSxBi5Dxqjnf iSvj2S7KLXaKIJnQcTPtp6BYNj2PGtAQtmQkycgRVOrcj0dz8PatyN900Q+sdo4s33wn zVSg== X-Forwarded-Encrypted: i=1; AJvYcCW2kTwxVILempZzR+UKJFnkzCvgTNNx8lUQlWalIzpjQIs19z5950cdQv3gWXv6cHrmBWz3w53jHnTDyE4=@vger.kernel.org X-Gm-Message-State: AOJu0YxdaBZrFfV7WFAvhFxgc95w3IXT/iMa8z0JKlSb62qnwseRU8Fb DB2Vc0h/dqUHifKdyRhWp/wCYBiRSoShkQJTU/lwil74TGgEknrKRom1hp4nf6Y= X-Gm-Gg: ASbGncvXX7uRt5lWIXSV3kt1tunS3pPyimwQInkYa/ZzNV1PFYl5F86JM+j/HaT+CKn QeL9oTicFodEMFqe+3pcMqOnk5xmF3gA3pM2IqHoh/cKRziw2v36loGZ4+BfOxDHfdWdYbGn+7v XXOY2fIGpTmlwPOaiGAItXhJ6rVjfZBaKJ/oMJUzdARnTuMX+/hIXbXOznBRSjfErtmI4lUIi0U 6eB2izvnKKraa28ZyUKUxQxL1OMn/GHfNFRHJuckRaRIy10sh9miVBlI4UnMNBzR16Nvx7Zg/8M 223YKelmBCI2Ls+X8iIdnDdf3hhx5fRQw92Cz/fXLj1x+g== X-Google-Smtp-Source: AGHT+IEFUEDmgHRmBqQ8B5zxNYM6/HsizxzM2vpvn/QoFOlX3G5WG8djuuoSv4JBpEGGSMZ04czZcg== X-Received: by 2002:a05:6808:22a9:b0:3f6:a851:fe85 with SMTP id 5614622812f47-4036883782fmr91899b6e.14.1746462765301; Mon, 05 May 2025 09:32:45 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:2151:6806:9b7:545d]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4033dae68f7sm1971854b6e.26.2025.05.05.09.32.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 09:32:44 -0700 (PDT) From: David Lechner Date: Mon, 05 May 2025 11:31:44 -0500 Subject: [PATCH v5 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: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-3-814b72b1cae3@baylibre.com> References: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-0-814b72b1cae3@baylibre.com> In-Reply-To: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-0-814b72b1cae3@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, Trevor Gamblin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1074; i=dlechner@baylibre.com; h=from:subject:message-id; bh=Bss/MM4pMUG+funKZXn/aR/hWEcoDzCMv41P7cSelc4=; b=owGbwMvMwMV46IwC43/G/gOMp9WSGDIkXrBxrO9yZ/pqWRHQ8+feW2/xBhe5u73nF/cwMRSpf s7OfLe/k9GYhYGRi0FWTJHljcTNeUl8zdfm3MiYATOIlQlkCgMXpwBMZNZr9v+5ruc312X+li+y 53IzV7yYuM599YuoKcu2/XI0yuUq855i+PprWPxfrkph/lY92SlPy40auDZ0cdj2Rif6fKvL37t Yi229QKSzaMUktTWPJNg+bn9du1W6W7CDteO5kkXVT/fS+nVKFdfdp15XXThbpn1Hho/rDrPXve sEveMcTuxR0OuQ+JA881pgRk/Mq2vWW+z+G0gVu2QlXdVbZcXAslFh5TPVlbmsH4RTkp4I2wewH DYKcFatVTihbLL3bcsfHTeDWQ+qzJ496rg+57DRLIOHSZVK/kpPvKv5eBjYF25+oPPBzCRqw7z/ +i6Ou85q5rq/S7X9eutV7tK/md5Pd57uzTGInHFD/mojAA== 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. Reviewed-by: Trevor Gamblin Signed-off-by: David Lechner Reviewed-by: Nuno S=C3=A1 --- 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 Mon Feb 9 21:28:35 2026 Received: from mail-oi1-f179.google.com (mail-oi1-f179.google.com [209.85.167.179]) (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 189B726B0A0 for ; Mon, 5 May 2025 16:32:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746462768; cv=none; b=YtI9HJ1UGRKyxgE0nPXl3MAWdJAFfnWjZvL/tTKLDQu7W7h7yOHJBmD8w/tfJIA7+lFMx9hAbe6MHGuu5cuOCa5W1oiV3/0em678u32YB8w30Efh06ya0ANcjwPo80n1xN3AKp6tDiU2JKrKTD/1Gh15CSqDc1Gld5gX4eEiwvc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746462768; c=relaxed/simple; bh=190oW7EKQBK2cT++cC5GYqS0UzCs0C8IHqrc3B+wC/U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OFG7JIG0PkNiYFl7Ydm/GPq2UlB6xvu/RTqT7H0YbR6OO9lP8LyxWSXX+p9objStDCauC6stq/9avkV2XY8kFuKdMgunnMxZwkX1K8bVXZ0RNDVeK4y72kSw7tzFKlXabWLjCLnoPRqqHTBB0o0I5sNNin+O7UMIRc8xvqeSGs4= 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=yvhX9XcI; arc=none smtp.client-ip=209.85.167.179 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="yvhX9XcI" Received: by mail-oi1-f179.google.com with SMTP id 5614622812f47-400fa6b3012so3551440b6e.1 for ; Mon, 05 May 2025 09:32:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1746462766; x=1747067566; 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=CbiKfNCGbqClWfG31adrWThk5ngEJnmGvuTSBtroQo4=; b=yvhX9XcIcO114fo8TKt5QlM/0PRLD373HsY2rU80rFthUgoFuqKMKFXQzS4C9s3nbk kzkAdBioxv9KiljVeiv5g4vlLXf0mo+u7So1ulXyCItewo3JtFcLwrAWdqj7dBasxMht 1frgFLQcgMMqjkZ5IVf8bd1Kc01/f2BQHPtDVj6UdH/M4ytAV67A5dGYWK6I8fice56S YIu6BlbcaBpoJ1UQtIMx+EoSQQnvWuj7aTdgvV7SHme4yZWVdjVzM1MfWyZqd5K3X3lj dy6ad2eIeDb+PaCImKfcJAdJFu72KO3YtsjvJmBjdBvOWlBDBrLdW1xR3SrsCPNEqb4/ XIcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746462766; x=1747067566; 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=CbiKfNCGbqClWfG31adrWThk5ngEJnmGvuTSBtroQo4=; b=cC6s6PBaEymOFYhc1tOOLTY7sLVi1m0lHb1qk+bEr4HGhCLNzQWIg+cGP6ColgUSyy nlxKZrTFUPum5g6WklcPiBAcV+yhDCu+Xa0fgLOw/YzNShXzj1a9pJ5gjrJpYtI8FzRp pA/KoMLtXmWc0AiHHhpfW97a1WotI41lW5OkwfNAFgYT95zdUkRm0KAP52aZdVqMYkQc JmpLEdoNnZooBJKmQAppnMFbuxqbfpm816Q9QhTItUdO+WeDus6tIZV3YIEv41O+ZlxW uUYXqmpIEImYe2LXsRLZosFZQkSWNv1BAAvGilnO40Xa1LQIFMF21Wwx2JYFg73XE+Oe X6Zw== X-Forwarded-Encrypted: i=1; AJvYcCWzTIMqNswG+SkKCknvO4ekNc7o1PjMtqe3nMCgLqUme52PoI1y2qJhG/Q77MvSBqPOHQ6IVwJc2syxSoc=@vger.kernel.org X-Gm-Message-State: AOJu0YxSC4jchdE0DZYqDOmlQkZ6BLKJuvrkLHfNfVS3WMBeCPHQkrfE RVkQtyTlzHq1ui6x7mOSfIPgBi87a9VgSBdoP6Un2EyMogulZZRNnrn5xxnGUaU= X-Gm-Gg: ASbGnctHTeaJ9lBiqLlAnk6tgcG1iYtJwx3JhDHttiqr3sBPuJBYWYwnC/3nF4JHB0K h+4ZVpnr/1+dPQq4lBJzfvcP82NFGK1No3BaR0jsMo9ATll8dwYr63UW8LnX6jHBuiI+8lxRyX7 MsYeCIhbA0HTP8GzS9+1FVUN9ElzV5w3wThgjLGo6zotBtIVxMDbbSne3Id4fhedUv9uDov3WTA cmWD1zaOKSemedfkvWIojoeQlX9Vtqv7HoM7UMweacWLv9+NGiOmhoJq9rGDehOAQfowBHHRe09 Kt56PTyC7VIQeMHedZK/5E3HkWLi+1XvdXkQVrGWR45cTQ== X-Google-Smtp-Source: AGHT+IGjVvx13O/rf133nL3urpzlzpZTfLRHIzG/5ZXSnqMUPazyvAzh0R6WlxrPiFRp18aa2mb6Tw== X-Received: by 2002:a05:6808:200f:b0:3f6:ab0d:8db1 with SMTP id 5614622812f47-403687e92a8mr106932b6e.3.1746462766163; Mon, 05 May 2025 09:32:46 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:2151:6806:9b7:545d]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4033dae68f7sm1971854b6e.26.2025.05.05.09.32.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 09:32:45 -0700 (PDT) From: David Lechner Date: Mon, 05 May 2025 11:31:45 -0500 Subject: [PATCH v5 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: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-4-814b72b1cae3@baylibre.com> References: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-0-814b72b1cae3@baylibre.com> In-Reply-To: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-0-814b72b1cae3@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, Trevor Gamblin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2003; i=dlechner@baylibre.com; h=from:subject:message-id; bh=190oW7EKQBK2cT++cC5GYqS0UzCs0C8IHqrc3B+wC/U=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBoGOgNgp+O5onlvKdwSMSAuSxVRXfym9gmQnerJ CwXAjJsRDGJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaBjoDQAKCRDCzCAB/wGP wCzGB/9tkNAu3L/NYL4jUrJdPuq4kd5U92kII2ncj9G+E8nygqUsgfvB8ZVCttp2uIGhWPa0KjU L+FgFikSr5TpwK+Dx+I9xp0oHZvKGMWhG+vFSImOX4ddssY87CnMto24juggEDAIVO0Nr1SDTRN pqYXD31idseN7tLXHs0YRZr2jqf5pzbj4eaFAi5HOhZ3EfH4MmFFNvkhbfsA1CcKGL7LYJHc4ty LBDkdk1VL2vTv2TVXt1cw6t4a1oyRqhzW0q10pgQuwzxpjUH1bOmENiAQLTKWqntQFXOlVBfKwF SwTPdAUlIgd+3/HpuvBvsIAik10kcLajLaNABIAPw9tXT4Hg 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. Reviewed-by: Trevor Gamblin Signed-off-by: David Lechner Reviewed-by: Nuno S=C3=A1 --- 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 Mon Feb 9 21:28:35 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 E5BA026B2D3 for ; Mon, 5 May 2025 16:32:47 +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=1746462769; cv=none; b=s+EhY89/orip67OYYYNcIWjPnyTsW2E+918cVdY5V1bmqmluicubqNw6rcTKGbgJhjf0/tOEyfRyavSdRRYpvzzLud7ZjtW52YVBN/hF1G0N3I+FqLWErsSw2Op51T3WbfEurTQa9dJAdMg9c9ZkMthtQsbClrX27oNMDLdDICE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746462769; c=relaxed/simple; bh=Vr9wDkA3SNoSLT9FCnDYkBa0JumGawTzg2ZkCcTYUYM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qTKdRTPIDLMsswKScJHSkeiaCMDgRvxTrsGtVYYnB3H5gzsqEVoQMqfQ6KWZdD7VjVbODJMX4AYxbyGNTQqDiv5Yc85T+EI6isvVU5rNR0PfpU+pYCb12cRF9DLYmTAbQjgqkD9jc0j09SeN2SjilkaBSSSDNrV0wQba6CcQY5U= 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=kKUvEXwK; 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="kKUvEXwK" Received: by mail-oi1-f175.google.com with SMTP id 5614622812f47-400fa6b3012so3551450b6e.1 for ; Mon, 05 May 2025 09:32:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1746462767; x=1747067567; 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=kKUvEXwK60vUpsDcCOHT8oYxSFX5YIX00JTItEVWHLAsamRFhDjJfvlLrj7gXld0Hy uvnaPIgigILjYZHJ+XLMY+6gqmEO7NYw1BnKpvybrq08ykOhbZbvDuur7NSGMUiFa8aZ gRBBLb/k8r7f5pCQO5T8lYcB6vLlvjUBrMHX0+p5sUmqvQPto9/jYoXYKuKYQno9wmpB LJIRXpUkW9UTx0DivyccjfbM7H4WVCKJfJ+Ebe0aG16cJP7j1NeNBZRFqIhoMFwav3st WraRXUsiT8GAv3vmrl1jFZduJM4mDBrsRmQneXGTSHRBvNlgr6z9vimkFgjTESu+taow ff9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746462767; x=1747067567; 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=loLMIv7oYXpO+5aDafgzheFndcMy3PXJlh1fuy0Ql7nENbcuHHvzBbBYTyLrKtWtpS 8IH4FhjAHulbg7jOjPe4788TrW5xvxVXnSbFqC+/fTJCuq/tPwjGEL9r9HFbLXvXMOL/ QskYaWeS2hfoH0bN6BYJzOq+kgPxBlwtP4zI48pi7CM6mJMRZBCO5ptSun2VGeyog3Gs rg9hf2NgdIL1TTwUVRPlBafNgtgIfyfJIoX3ThllQe4fambYuT1DKBW8jQImMzCrwjRF KRVswsGakRQf4FR5xrnNVdxDqiAOQ4FUPstBxfU+p0waOo0UVF7Nuw5rrbjZvWNu9QPw +Sew== X-Forwarded-Encrypted: i=1; AJvYcCXyiIqCFo38t34LawSRe4VJOFjUgX44lqktqk37EFL/i6WC/EW/XtXjvmVSfqVoMFnQiYVz8id3DRm8TMk=@vger.kernel.org X-Gm-Message-State: AOJu0YzXY64RkIBTjEp1Ay9XSh4Fi+e3Dj0Exiy3YzwnYHYqc2Xk89bm Qzfb8tknpjlDQgzEw6i8fqdd75Ge6IB1+H8L1gM/EqM820Zu72KI3cBXsdfmzzg= X-Gm-Gg: ASbGncsRpJ1KuRwr2DiLmJ6josWHfLEdgDVqWuLFeQ2J58v7N/G4mxULGeXydPDXe0m rDVVSly9mAyGw30oEnoBPkfPyDiw0r2WG+lCuPXD/nr1o435MhN17gMlyvGKh8cF4Y1PJT//yv2 HpHJM3KbTWHX6Me06gGChzaQZMYkWpwmDuAWgmz0KMXJkuAsm4I67EBX4p6TcRWPOWGqMEACJmD TTkKmwXOXxjSHd0cG69XgaivfdLj5Z9sIcNz72eidJQV1UnURGMYQmrlyyqyutpLhZ3AV8QQ0i0 MC7xhaPRCbWM5BCKdxQ2c+4beJOKYMWNTP+dFdBsoDJI2g== X-Google-Smtp-Source: AGHT+IFozkxNYc+TkZ/Dl7Rtx6+wVKGzltkaPmqSwC5J4g3ybHlUKPIa71hZXXNMAqeUFbgBk2ljNw== X-Received: by 2002:a05:6808:2217:b0:403:3192:385 with SMTP id 5614622812f47-403687eeba7mr98841b6e.4.1746462766974; Mon, 05 May 2025 09:32:46 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:2151:6806:9b7:545d]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4033dae68f7sm1971854b6e.26.2025.05.05.09.32.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 09:32:46 -0700 (PDT) From: David Lechner Date: Mon, 05 May 2025 11:31:46 -0500 Subject: [PATCH v5 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: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-5-814b72b1cae3@baylibre.com> References: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-0-814b72b1cae3@baylibre.com> In-Reply-To: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-0-814b72b1cae3@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/AAcsmYgBoGOgTCR6lEzYtZByvCH+u97cNW3EB5n2Er5uth 2EUH5CDdrWJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaBjoEwAKCRDCzCAB/wGP wPbbB/9F7PFPzkzoQ0p3LiG5VHOqbAw7G90nYahGDdDEobzVJ8JTUEsMqCWq+ewG5pPXhgKRTwf ORcWEUcY3IzIs48HpY3THjfD8eJlJ+VdJIkSw4II3q8KfyQyJErBr2p5xtd/2bV+HdpptcIg6M0 uDEWtTj8NSd3vFiZodyhdFToWiiXAgJnvkIbwJnzHNDSHq9ufyj9m/nM6xgV1ia6jnlhybT9NEf TCUj5HDyM7+ZrzFk/WnrcvO9lv93/9xCEeqmJ0sGTz0hdDvWnIy0nek77Mrk/If+7NwNr0/waZK VAm35vK0LffyNySOEDgC11RS5l0RxFLHuDgltBidEC+zewSb 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: Nuno S=C3=A1 --- 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 Mon Feb 9 21:28:35 2026 Received: from mail-oi1-f176.google.com (mail-oi1-f176.google.com [209.85.167.176]) (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 ED47326B96B for ; Mon, 5 May 2025 16:32:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746462771; cv=none; b=NY7hUu3UDZn728cDPVHp8rxgdiC4r3q4w2wrcvnwcgWms1TzTQ3r5rqgC0OruWw2ZGsMZvFsz1+cDUHvAqGoxW/m85GK4l12EgsOIwkKwmD1r346RvwaXfhDPyLLeIFFX/ZB/k3Ga66KTcKkj9+laGOdROwvSUXh6vREOlQ1j1M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746462771; c=relaxed/simple; bh=htzNMPXlRVfXDBCUzoC72qPIY7Dbustt/aeF0u587HA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ncdrmLNeCuzM3uxfhVFul5xvfQr/a6NhvY5D4RbQNYyiSrhBKiCf4rqJHDl0otp/Eq4lprgGznCjoWvG0mjLnXdmvyoodw0bBCG/TdHBV52XCbJxSFeNf/UEAyeaPWCKhCftdS6ZA6cGQ8bCUNXLyeyrBZUIgKJxjuI7yHt3XUo= 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=loPvF6DD; arc=none smtp.client-ip=209.85.167.176 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="loPvF6DD" Received: by mail-oi1-f176.google.com with SMTP id 5614622812f47-3feb0db95e6so3053450b6e.1 for ; Mon, 05 May 2025 09:32:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1746462768; x=1747067568; 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=loPvF6DDnO9/xm/Q1A+M3DX79qMT7SZrDWxkQguhqTbioBifu3vAgzMMz7vXeeGVEr PC9qroyVKvabae5DjaCXDJCpxXYC9rxHDBbqX7RfgHIyNDM55p76rlRuzklBi4gfCAyN lvgVKaTsActX24OrunZdZ6OrA3utKJvvx9SAvR+nGWZQY93oLnnFQObjWytfeNZcF9BA I/RfnIOYvmheABYCD4Ox06udCpVbv//zjSYQ/vZAs4+Cehrh/tCt0q1Mn3J6OnUMGr1x H7Wl08ouwJ6tkLC9lP3WUFhN4ih3UyyJD2pKWyw8C235Kn0YCgZWQECpkna2+NkhSLyF j2/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746462768; x=1747067568; 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=VKtfj4nJM0TikdlKwcm/cbga66XD3lCh2vdp8CVibVR8yLLyiJJiBI+52aRHAesHzV CD9hpXugpGOw8h6juW+QhOiySaoRkIJqVQIRmY65oYTC8QZCqMUSTkdGuuHxXrvoPhgM L6IqwrGEvts55Oon3CSuEapkNhvDtUTzCCjUfYn6ttBALhhHUgc7s+5iGAMheYKJbPuE eSntfYCyJWleuAKzCHi6mVEyWsnTrOgdxuPMjiAMQ8KS9AtcdVCu/R1l/zHSkv+fTqJ5 mNRVApedbJpjvVzSzPueQaG1JcpRBjXFXLtqVAYfpFBBKeMdRGFOm9JwLnnLs/GLSjze q6lg== X-Forwarded-Encrypted: i=1; AJvYcCVFBfsaXPyfVDK9KRKwxuWRM8EGdjZRmnGbni+KezGB/iif5bxz+rdN7D+PZs5YJwliesAA/G2kQhjpq5Q=@vger.kernel.org X-Gm-Message-State: AOJu0Yz3fhsFEIeGRXnSsRf7CJ4sm/xzB7kwSiEjET4fAQ6za6+9U76q 8gFFEBr79/U7HRHs3D1uUDKA+PIsaFGgFeKehqdgBweYO39eq68/b7s316Kv0XU= X-Gm-Gg: ASbGncupsKA7EICbW6ZvmTPdSzwa6v/WbFhpnAYPyPC4SvUmVI0nItgLvoThfGo8DP5 Dx0Ch2sbseuv8nMv6xzfTzinhAkb+4MEPp+dTKNGY5NYWjx+omGq3GowGI5IyMu28csRqUKp0te eBzwUDzFckLPqHOnnNwUy0dpfZviMY9EtbDormV1A2LZ7B1wMbrWrj+/2ql83WzNtH8D8oIE0YI a4ShA02MDSyLbSMol9D0x4RIdYI1dUZRxs/CcgCn3l4W33/RMJSFpQ0YA0488JBegN0PoToAlS8 WHGp+KarVvp0u+9OKBbOp8OyIBqIOI34ClOHHr2EIRssFQ== X-Google-Smtp-Source: AGHT+IFqKHGasE/q3CxHFccgze4kDl9/B+uNOjperFB7eOc3YOSJklsXFoHknccNnTyE5kIJNN+cEw== X-Received: by 2002:a05:6808:f10:b0:401:e721:8b5f with SMTP id 5614622812f47-4035a548133mr4310632b6e.2.1746462767858; Mon, 05 May 2025 09:32:47 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:2151:6806:9b7:545d]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4033dae68f7sm1971854b6e.26.2025.05.05.09.32.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 09:32:47 -0700 (PDT) From: David Lechner Date: Mon, 05 May 2025 11:31:47 -0500 Subject: [PATCH v5 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: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-6-814b72b1cae3@baylibre.com> References: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-0-814b72b1cae3@baylibre.com> In-Reply-To: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-0-814b72b1cae3@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/AAcsmYgBoGOgaCStXP11tomR1UVCYdZrN8uLnoILCaVV4Z BeCxDvcs2WJATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaBjoGgAKCRDCzCAB/wGP wBf0CACDz7JX5f7i4xgLS2PbJoMxYM+RRs6unBD67Ezb/eqc2RApwNtQ3dsCjG6QkO6AuH25Cfu X1K9VzIkl5hWdyKAVX6JBT9mO4sFv+yMplB4ZxzxIUzF3Yv+VR4OsgjtSbxNUF5CFLLNFSnLKrV tqe5q9Op5uDxpH7GR74XoJBGLtIK1qqCXQAPxF5rAzm9JPVIgCvRjttmLxM1MuDUtBpT5/JyoSH Vs1mZwrLz5T86vOHRXArdldRfbFG+NDH9qCmtQzPErbVO/R7q+iccd4AC7Rm33SVGdQ/PILqux3 y0FbJEDW7xYXrJV9pscAhM/3jHQmtYdNtMt19Fr94L88A3Vg 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 Reviewed-by: Nuno S=C3=A1 --- 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 Mon Feb 9 21:28:35 2026 Received: from mail-oi1-f173.google.com (mail-oi1-f173.google.com [209.85.167.173]) (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 B11F1268C6B for ; Mon, 5 May 2025 16:32:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746462771; cv=none; b=O/Jbp3htrBTpxPdTki5L94IQUPCQsEqnG5FUMv0dUBClCspr8cBUDIyoNE0fT859qCppDi8I0QXUplP5bnTKB3Ju4MiVOiwhT2DiEK42zUUmWtRb9Qf+TJy56N3T54u2jmbNyL7ADtw53xS2Q+BEM6plilzWHyOLSbayjZubFXk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746462771; c=relaxed/simple; bh=eFnLQvdsVmKraQh8aq+xo4eSFo2W/BSjPzBiG7P/W9k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=riBvUp12CIiPyvU6VWMdPRXeOJetiTruFYKVluUjv1G9+EgpdUdkpvolOH+aQw0tjv7qYF7wg1aZgJ3BDDaZFvNkEVcqdG57cOgKDkKgZPmDLgu9pPBSvE37on6i+HPXHUI4G26ckgeArGOAL6q3cCcDmh16MJkmtfI5OEZ4ftE= 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=BWq9WfPJ; arc=none smtp.client-ip=209.85.167.173 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="BWq9WfPJ" Received: by mail-oi1-f173.google.com with SMTP id 5614622812f47-401e77e5443so2876162b6e.3 for ; Mon, 05 May 2025 09:32:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1746462768; x=1747067568; 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=NoTdUTbEoyHl0+vrXiyaUVCxUuEGKzeZRmULGNvEl7M=; b=BWq9WfPJVDrGRKTFgS6SvbjdZVaKZTMykdzdeqCq06NPAF0o90PPfmOvOjfgesDhQu YtwIwpOHENxxTdmW3aJhWEzjrzCNxWN44Q1l1HNouWyipYZdVaR26ef+9oEDktoNEuN6 Cu2BT6yUHY0omY5jpkkh3863Og6R6JMfA5AtBb96YoS2PvBkpSKrvehasLkLDigR97BN X8QBQix5z/f7uvWeS7jSxbKMCgNe3MnMJdfk2YcJnl5lodjxXZ5opBbU71GD0Qt230g4 +qyFIhyuSuQUA0fyNckRZAN3GFHPYZtkKcVCXYjNm6Az9BXLcdBlwNKbF7NhloGGjhVU fwXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746462768; x=1747067568; 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=NoTdUTbEoyHl0+vrXiyaUVCxUuEGKzeZRmULGNvEl7M=; b=OO8WjmKhT4YZxQ+YDUrtsJ3GEk0em5U4lJrJXOC8HDEsusEIVf4jVRtAPwCwW/V7ea a5ZyfTWv9Ma/D9RoULdqpz6+AYxe0DdGK8BnRRQur0yf3cKMRE+P1177YXtQXg0zKXzA 4TmkQKioZuTgXz+KchH+A1eF4whC8DX9Uy/i9l7aTaU3q0SILClyA9/hjSKpex5G4etz TckB2pr2I4nA/U3KL7iUWxy6gbYRAiSbOIfy7JlcGcU//KrJerGa05f6X3ooetWqhGnu 5AYFcQDOSSxjATvhQ1Fkfm+1yVkqnXw+D/ebjd1Snfd79s6Lqgi+cHpsXXytA2S/elXS Y8Dw== X-Forwarded-Encrypted: i=1; AJvYcCVjrGt+CefuJZWwfjAtFbU0Q4V/wQmVnHxqAwfZViaq07hw+PhlvaUgaQakO5Vyq97sPeec9BKJJuXPCZk=@vger.kernel.org X-Gm-Message-State: AOJu0Yw4bdtlaXIB8q8hAkGBi2/ZVucbfsRZx5ejmqbw3w0INHCbMGrl Fbb9iwwceosjpsQgwm+phOPY6lpJL3K3vJX9PFrGf7V4PlKH/8xe7eDaDNUnHlg= X-Gm-Gg: ASbGncsIOvuoL/93y1V0kxAibq+Y146HHn5/YRvZBi0YzZCJaaBbpgtv0ZXQAtHlaKG stK4J+Y2CB6JHA/RpSYIGWR+vsORa0/2K5UjQdP6uUm+fQL07gIsshFoynK8ZGIeVLLIWnY0Di6 FS2+/BH8DTIpfN2zoFjXIQlduA2stuqzbMTmR9a/DDowSnMHlcCB5yvVWXOR/rpkt2+uRCxxadM TSYU6jzokUdiTDlUdkYp/xeiSjb3Qi3/jA1K6s/LgaF2JAzluPeJ0NrtfuHIJPArkflT16/ydD2 9hV0Nlr8XNWecVK0V69SFTD7H8paYsN2WRQBMpCOUTFs5Q== X-Google-Smtp-Source: AGHT+IHi1BqJMwn2+ePu/bE4tm+OAhNfcyLxdr7TQkYJqCf+3YKLVqRO9ann0RXlkmT0oNmwsKWWAg== X-Received: by 2002:a05:6808:444c:b0:3fe:aecb:5c49 with SMTP id 5614622812f47-4035a584bcfmr6037754b6e.21.1746462768685; Mon, 05 May 2025 09:32:48 -0700 (PDT) Received: from [127.0.1.1] ([2600:8803:e7e4:1d00:2151:6806:9b7:545d]) by smtp.gmail.com with ESMTPSA id 5614622812f47-4033dae68f7sm1971854b6e.26.2025.05.05.09.32.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 09:32:48 -0700 (PDT) From: David Lechner Date: Mon, 05 May 2025 11:31:48 -0500 Subject: [PATCH v5 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: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-7-814b72b1cae3@baylibre.com> References: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-0-814b72b1cae3@baylibre.com> In-Reply-To: <20250505-iio-introduce-iio_declare_buffer_with_ts-v5-0-814b72b1cae3@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=1736; i=dlechner@baylibre.com; h=from:subject:message-id; bh=eFnLQvdsVmKraQh8aq+xo4eSFo2W/BSjPzBiG7P/W9k=; b=owEBbAGT/pANAwAKAcLMIAH/AY/AAcsmYgBoGOghEdJgEI8ojT+f7QjlFDY6MQvZNWiXIAZEE nX4deedFwCJATIEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaBjoIQAKCRDCzCAB/wGP wHgbB/ioLShqxO7D+Edwq5N6S/xksypDEeWYWgeqd58uDkS3sWFGok58Ummx8bHd+QSXm4fmNLt 7RczIGWSscvNnlTnqXVve8vv0hxKCkoT0oskVJ2J9/6WdrjU69XMJRbOSZn2YcgGTgOQwaWHmHo f4Xq9kbDYbkW+QWFtIJ40Ox7fqCK2Mv73rsCrsQeyc0riR7qbsCL2LO/PrZCzRxv08PNHrXvMY4 gflzTcE8HvZsw9KILWQRiL8HL1U+5ztA97fs7ofw6HmkxalS0rny0fPxaf+e+/j12vO/JaW7ka1 ROOR8pSMG+DyiD1+fL4zz5CkIQTdQqo6LpT/eXDllIwFABk= 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 Reviewed-by: Nuno S=C3=A1 --- v5 changes: * Fixed missing space at end of comment. 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..c3450246730e08cdacc975ed19f= 46044dc76848f 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