From nobody Mon Sep 28 17:48:02 2026 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (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 3DA9A3B531D for ; Wed, 19 Aug 2026 10:37:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787135874; cv=none; b=jUPysdP8ATG5SzvCwJUbGtcXAWIfJlQdZWZpjciP2eb2VRbBWcycp1E3zb7hDvv1uc/lwACJO3eYSA2u9HKFYI1mONqi5gNybGg9skpUut5SFVRJXWDwMX8ikfB5r8ejqHohJtLl6sJaL74RjJogHIc4zy83AnafKM3JXvgT4rg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787135874; c=relaxed/simple; bh=c0R41hvx1GFcVYIKU+06pMPrMTmvcjlK9rOaHI3JxOA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NPiSPt+CKI3dB+q5IsqooeY3Euig50kbdh3A0IxSmymx9QcciXlB7Anga/iNGnwOYQfIWanu8E1TMaoEdMMdeQUgt2z48Zd4WtjidqXerlDzuQ8ogMNIIMJEWkQavTOxUqovYXKqHvjdYyQqmSSFKX4OahXVhWhoh/m+8i89fC0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=MXr/kNBe; arc=none smtp.client-ip=209.85.128.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MXr/kNBe" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-4954a9e8490so12250405e9.1 for ; Wed, 19 Aug 2026 03:37:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787135871; x=1787740671; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=eMCrthaBVfWDJd5B2dS2stVmvpF4m+uEhT3/lYlUiTY=; b=MXr/kNBehPJlj4IyrjH3vwQ3mWOKeRUaFF+st3AnicQXlhxP29O5taS4FmTzisZSie hCcSv5tE6Or0+GcSg6cm513tHOtbQkRxi8FUNeWl6JMbp49lDSiZf9cbyHUqp+zxF8J7 WoQBauI1hPAKsZk/wts8d5E1jnzefBg0gKPwtVQb7QZehCtQnZnJ579KM3nYRN2BjT0O 7aq1LyxTBgWIrVvMA3PzpBU7QLsggS5x97ykiVJbCkkQ7p66DBs8R5uXQ/95EEonUcM1 4vxmUgZlXgoV7TB6rVqT4sWVNOV0iGZF5DMGYfSCE8Ns/KpNoRFAMbmYpj7nd2zQMy38 +Akw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787135871; x=1787740671; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=eMCrthaBVfWDJd5B2dS2stVmvpF4m+uEhT3/lYlUiTY=; b=c+4KTh8qGM8Xs8Pxx2R0NABLk8Z1mSFNA2uwuQiobol+4DLgEQY0FYuFgrmWK822Ob 7i2wU1yNcl9k+7u6CuWXWo6hq9TThD4quekOJtZyndRComJYD5g03EJ6IsTdhyfbz6nw cwHpnWY/OZRGNophClrwjboT+LWD931pxlNb1q32amApK/xL2ayYPOjFDqE7RuoEpEw1 DRW8RR2OeRJnLPfaBgcIhzOpJAtTtzPjuD0PvyK77vO1SE4IyDUClGQr+cMsHWY2Js0j oSG0bqc/OaQhQpXKtjXcLp//qVxHy/hLpvuV/CDOF7FLTCEfti+k6P1/TuSbkELipZY+ MVsA== X-Forwarded-Encrypted: i=1; AHgh+RqpbuEJ6qgD6mqxX4JKdpuvB8xvlQ6QyJfFSxYOsVdt3Hx/4w/PoZbtWe9TByiyGpiErv1WcHuqvw9/rTk=@vger.kernel.org X-Gm-Message-State: AOJu0YzRfriNA9KyZAQ/9uzwsptApqSpPalMcNhITHQJ71x+049xbdJl 850m1zR6F9aLEWRFGGDea/l6H4eafNDYhdCrH9no5uiv96+MBqQ5eghI X-Gm-Gg: AR+sD13cy8hyGhgz2MmiZ0nXHd1OE6jHSLCLyco+0/bqgxbZPwf6GRc6URwqXcCllQu WN/5DgQ8cHvgzw/pvj+E0tY/GXC0P88ftMIz6qHjq59hHvlpO0vdTrRT+Jimj9oZGW4a+zv5hC5 pYKlsX3V3ZTJeUlTTb0AIA19VRDyfKXeK1dSNa1uYQHOEvoAwcbK5e0wYW5qjEOMrK28kNDKrPv JC8rcdhkhD+f05pG5r5UKK7cBUC+s4Vu3BWMvxgFukkrEr1IohRTd7+oCAq1x0TcJNLVX7qaayA DoWqkPieUJZI+TIq4PMhKB0EPjfYhpTZOk76ALsTRYtfk22w2GiR4EM1SCNWcsNHNdmODm8XgxG BvG0yC9S4GLMITuWn2MtFuY74ms/E+ds36z7JJyJ73gLBNNl3SAjE7rD71y+NQDPOWJrwdGjC3B 8c8DW16bkZmyned2MGJrB8R7rr9LR7XWary0xUd9dHPXQIu2FQDWMSYCZEIrwkKQyHaqUsXwnv+ UMqGCSsSrpa84S+ierRztRHiuVAO84JVA== X-Received: by 2002:a05:600c:19c7:b0:499:a5cb:b7c0 with SMTP id 5b1f17b1804b1-499aa0e7cfcmr46654315e9.3.1787135871251; Wed, 19 Aug 2026 03:37:51 -0700 (PDT) Received: from MacBookPro ([2001:8a0:6c97:6700:51db:1c3:6be8:694c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499aa11f832sm50175655e9.7.2026.08.19.03.37.50 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 19 Aug 2026 03:37:50 -0700 (PDT) From: Gabriel Rondon To: Matti Vaittinen , Jonathan Cameron Cc: David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 1/2] iio: accel: kionix-kx022a: use scan struct for one-shot and trigger reads Date: Wed, 19 Aug 2026 11:37:45 +0100 Message-ID: <20260819103747.31722-2-grondon@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260819103747.31722-1-grondon@gmail.com> References: <20260819103747.31722-1-grondon@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The driver kept two separate staging areas that hold the same thing: buffer[8], a DMA-aligned area used by the one-shot read in kx022a_get_axis() and by the triggered handler, and the scan struct, used by the FIFO flush path. Both are three __le16 channels plus room for the timestamp. Drop buffer and route the one-shot read and the triggered handler through scan.channels, so the driver has a single staging area. Move the IIO_DMA_MINALIGN alignment onto scan, since it now backs the regmap bulk reads that buffer used to. No functional change. get_axis() only runs via read_raw() under iio_device_claim_direct(), so it cannot run while the triggered buffer is active, and the triggered handler only runs while it is; the two never touch scan concurrently, exactly as they previously shared buffer. Suggested-by: Jonathan Cameron Signed-off-by: Gabriel Rondon Reviewed-by: Matti Vaittinen Reviewed-by: Andy Shevchenko --- drivers/iio/accel/kionix-kx022a.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/drivers/iio/accel/kionix-kx022a.c b/drivers/iio/accel/kionix-k= x022a.c index 02dd1db7a646..93104fdc74b5 100644 --- a/drivers/iio/accel/kionix-kx022a.c +++ b/drivers/iio/accel/kionix-kx022a.c @@ -301,11 +301,10 @@ struct kx022a_data { __le16 *fifo_buffer; =20 /* 3 x 16bit accel data + timestamp */ - __le16 buffer[8] __aligned(IIO_DMA_MINALIGN); struct { __le16 channels[3]; aligned_s64 ts; - } scan; + } scan __aligned(IIO_DMA_MINALIGN); }; =20 static const struct iio_mount_matrix * @@ -611,14 +610,14 @@ static int kx022a_get_axis(struct kx022a_data *data, struct iio_chan_spec const *chan, int *val) { + __le16 *buf =3D &data->scan.channels[0]; int ret; =20 - ret =3D regmap_bulk_read(data->regmap, chan->address, &data->buffer[0], - sizeof(__le16)); + ret =3D regmap_bulk_read(data->regmap, chan->address, buf, sizeof(*buf)); if (ret) return ret; =20 - *val =3D (s16)le16_to_cpu(data->buffer[0]); + *val =3D (s16)le16_to_cpup(buf); =20 return IIO_VAL_INT; } @@ -1029,12 +1028,12 @@ static irqreturn_t kx022a_trigger_handler(int irq, = void *p) struct kx022a_data *data =3D iio_priv(idev); int ret; =20 - ret =3D regmap_bulk_read(data->regmap, data->chip_info->xout_l, data->buf= fer, - KX022A_FIFO_SAMPLES_SIZE_BYTES); + ret =3D regmap_bulk_read(data->regmap, data->chip_info->xout_l, + data->scan.channels, KX022A_FIFO_SAMPLES_SIZE_BYTES); if (ret < 0) goto err_read; =20 - iio_push_to_buffers_with_timestamp(idev, data->buffer, data->timestamp); + iio_push_to_buffers_with_timestamp(idev, &data->scan, data->timestamp); err_read: iio_trigger_notify_done(idev->trig); =20 --=20 2.50.1 (Apple Git-155) From nobody Mon Sep 28 17:48:02 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 149B244BC91 for ; Wed, 19 Aug 2026 10:37:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787135876; cv=none; b=ZFI5Vbov7918aKNY4ywBhOpL7FS2NJJOxDtL8NpDeHjAgs16qBUChOdoSRKzShXeVHwUTrgE0e4TpNNbv5lZFDX8Huob1b50ZxHrHMmpFrYk3hS6ohi7O6RRc1RyeR8i+gEMBwSRUgR6muFrkgqYIyS2CD4PKIgWvHP1EEGlO0o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787135876; c=relaxed/simple; bh=++TIoj3A+M0JZYDAhLxTeZGLyZXNpK4xhfOd+Cc89Jo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mm/P3/PXAWRiDe6ryc/mPIytOIAeZX8MOz/gK7p8c7htXUws8vji4wUdY7778uljKiOA+NIpsWDSNDnEgldO0z6XLyxm6Hnog7CrxUOR3yslWIgrrfHF2U8zDlPv5cchOjOY1mgmKmfpxBrzi/XZldrYeBgY4w5RmenbaNbHSHQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dDKwgUB/; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dDKwgUB/" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4957eefd361so6538275e9.1 for ; Wed, 19 Aug 2026 03:37:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787135873; x=1787740673; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=vRygmPAwDhxGh7gR4IpZ9izP9D1E2/GXlaAymzaHHWE=; b=dDKwgUB/pckPOZdI5/tF3T3LI6X/kF0xZOoIhzRC1tUU6UeR38kpyGhWnVKQ+UfEN5 tT+JzzYJWRXxTj7FyqT04zI6fw/8kOYSt2tDILKxO195VDus8hZYTQ1Uz9IVpWS6RTX3 uvMwt2Zyp1w1Gw5U4yuta5FlcFeFUJTlhcv92VElqYOMstbcLF0AOqDW1pOuPVnYCmEG bEu3jKaySNn7LywEvrYMtpx/c3jgkQDw0Z7adKS+KzTrQ+30jHR8q4Z00pgwXp6lpy64 S3nog8kqi+bbfTYsRFuyoQ/9dkxCXblwtCmCyyICY28EofCBekUe3Peisx1S89bhO7f6 qV8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787135873; x=1787740673; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=vRygmPAwDhxGh7gR4IpZ9izP9D1E2/GXlaAymzaHHWE=; b=lyEbxA/bMF15TIZoFhzsGYTAnCZP/TvnUMpHMFAdtYIfY+nPp8h5fXMOOPIEJ7bT2k exz8z/7/x2V/xMUV5aaDKQp0d6X8l1EUq57WB9P568wvmNodYPdxNxNjFAfKW38NSX6U TTv8+fSzzFLF4KBHpoQj9USSqQ1JrL4vuqQjYU5hKCLQuIJB//Kd8zvaApuT1Kb8PmjQ I0OMmU2DBifx1IIgxObjBxuC0bCMEAR1Mca929Q98ydfN5PSVlgbY7DPCQhfrxbreyZF 2t/bDzPgEpSv5wQYEZrz/YQb2EL15dKHcs5MFRpZ8g2qgS68oAscPSSH2jQBgFBnqKlD 6xvA== X-Forwarded-Encrypted: i=1; AHgh+RqngxDYOSYj/bIbKpAaP0C/usjgsfS9PFWd72PRhlukVDlZJlk4Joe+Vj2ZT6tYf4cz/wULcDG4XVSkFMg=@vger.kernel.org X-Gm-Message-State: AOJu0Yy9bnrL/tgM8u63vxXPQ3R1lnHEkpGJdDgTcg3BXkKXbxgjhmbM YtW+Fey9SJbOahZUZoGwzfaa8OrECkDW2dqRxTCIoGYO0WxHnihLhC0w38JuQe94dKI= X-Gm-Gg: AR+sD126idAKGlbe3+h8Lmf2XzccjmEMNWJl6HN2WVoE5DM7/AmHu/4miP+O/Z3PxHP 4dO3fxKXno5m2A7d9wE4nUrec7YhVkwYNUYaKuAvi3pclRPca80GTMLosjjxypNzLVNumdDtkWt RbghbtbMUntxuI3AT9+UpTo4K9VMuyyjtFcBXoqJd7hMIr5YEDjOR+z9vmTllkugE5zw5dCEKzy joJBrbsir/+HIvO2osN36/WzaCOGLvW0v8aQ1joN4Byzn910ENSJDq48zmVGyu+N7nCro2PGpLC wP9NnnnC+N6tpnWqm4Xqx6MOiG4vx+0qknJE6VlQw8h5STosXST/YtMGBs9YWsscCNFcs75MwG3 k0fdsJIcDXEwv9adR8WcnrCbfe/QeMS1WgJNUJOZ5snYQhG5JIJaOQQ+NPxd2/NDP/nhTBwBwxi U2fhrt2GOj4PxgyzOyPqxqnfmJU+D0HR30C9jRcuOIwNYoMlf0LZ2lKsSf1IxPANrs8IvGurUXi pA4n0SXjNblCL1BeH9pD6YDzpdVofbDqwfir11pIGR9 X-Received: by 2002:a05:600c:6990:b0:499:8c68:a3aa with SMTP id 5b1f17b1804b1-499aa1c53bfmr63160515e9.13.1787135872768; Wed, 19 Aug 2026 03:37:52 -0700 (PDT) Received: from MacBookPro ([2001:8a0:6c97:6700:51db:1c3:6be8:694c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499aa11f832sm50175655e9.7.2026.08.19.03.37.51 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 19 Aug 2026 03:37:51 -0700 (PDT) From: Gabriel Rondon To: Matti Vaittinen , Jonathan Cameron Cc: David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 2/2] iio: accel: kionix-kx022a: use iio_push_to_buffers_with_ts() Date: Wed, 19 Aug 2026 11:37:46 +0100 Message-ID: <20260819103747.31722-3-grondon@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260819103747.31722-1-grondon@gmail.com> References: <20260819103747.31722-1-grondon@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Replace the deprecated iio_push_to_buffers_with_timestamp() with iio_push_to_buffers_with_ts(), which takes and checks the buffer size. Both sites push data->scan, so pass its size. Signed-off-by: Gabriel Rondon Reviewed-by: Matti Vaittinen Reviewed-by: Andy Shevchenko --- drivers/iio/accel/kionix-kx022a.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/iio/accel/kionix-kx022a.c b/drivers/iio/accel/kionix-k= x022a.c index 93104fdc74b5..06ae7e540ee6 100644 --- a/drivers/iio/accel/kionix-kx022a.c +++ b/drivers/iio/accel/kionix-kx022a.c @@ -863,7 +863,8 @@ static int __kx022a_fifo_flush(struct iio_dev *idev, un= signed int samples, for_each_set_bit(bit, idev->active_scan_mask, AXIS_MAX) chs[bit] =3D sam[bit]; =20 - iio_push_to_buffers_with_timestamp(idev, &data->scan, tstamp); + iio_push_to_buffers_with_ts(idev, &data->scan, + sizeof(data->scan), tstamp); =20 tstamp +=3D sample_period; } @@ -1033,7 +1034,8 @@ static irqreturn_t kx022a_trigger_handler(int irq, vo= id *p) if (ret < 0) goto err_read; =20 - iio_push_to_buffers_with_timestamp(idev, &data->scan, data->timestamp); + iio_push_to_buffers_with_ts(idev, &data->scan, sizeof(data->scan), + data->timestamp); err_read: iio_trigger_notify_done(idev->trig); =20 --=20 2.50.1 (Apple Git-155)