From nobody Thu Apr 2 23:57:06 2026 Received: from mail-oo1-f50.google.com (mail-oo1-f50.google.com [209.85.161.50]) (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 DC056313552 for ; Sat, 14 Feb 2026 22:10:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771107053; cv=none; b=NkhGJxbKG1D2MdHufNtQ5SdvCzSACwe2Qha60ORTS3NmcaFJSuyv/nnhUaKtaVxFVI9afD5goCOpJRcZQhB4jECh2Jm99XmMZ+e6G0eOsJVRJNdbhBAMb2TXuk+OT4H7/i7/vW9EpTbefnYkeiiQWa5kSV3LVI2CgMCQwWLtXB4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771107053; c=relaxed/simple; bh=ODrZgpweP48EKYZknvbUzaE4n0zuYcFxL/c5awbHz3U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=mCLxjIyreo3kSzzJUp82ASD/Ey4P0XiGZPiDq2KOizXBGK1E1cNd5NWKGtHdpCeNFoSSf/k1zH36QSTzyHHqxW95uGDWXq2ulpL90qUCqrrW/ards9tNURtqwxdceQR2301DOalWNCDuKnamslrHXiL8ZSDlrEcNF5WJPYBWmCo= 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=f9fnhETm; arc=none smtp.client-ip=209.85.161.50 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="f9fnhETm" Received: by mail-oo1-f50.google.com with SMTP id 006d021491bc7-6726f320b54so1078978eaf.1 for ; Sat, 14 Feb 2026 14:10:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1771107049; x=1771711849; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=I6BugSQ/CL65rE3opDOxux3g1OYZ7rPOULymJCM9Yvw=; b=f9fnhETmAqmnjznEUX8PVTRqHYecBaJKcZR04WSnZsioYpwVr8d+qYLNIsodAR1S4P edtfAeH57bhrRx8KTu59xoXKh1MzXDvGjCl1SLPMN6sVQfdWPtiERcP5ZY0IR6eD/T/r vtapsowSnkidSfkGgg4cv9bl1ridgfocjDZ4IRw56IRyp8O4WSyt0wKwlm3tppr+pl71 m9eU4bRNueaKiReKtp2vY4SHhy1rRv2JuHz6ocAwbbe/vmeoNMYOlsOm/C3wZnRdaW+d UPtqEK2wOuEiRJ28Ch7RERwL2Lq5dY4Mmian0mufM4BOHYF37k+OXhFd6HbzWPjE6quk yHjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771107049; x=1771711849; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=I6BugSQ/CL65rE3opDOxux3g1OYZ7rPOULymJCM9Yvw=; b=gmEaVoY1CqoRROUwAsDuMa1mKWiSEjVzqWfEmY7vKRJ1rHqY7o9gA55noAwzpOQhFf pr3bCckMIjsifSgWZQgjIajbdYwxEACbWZgk7grjIhr1wP10cvxu20zO8DOXX2zhHbjw 4BdwxBpQkpR86gceSZ4Ve1pxhCA06HwgCBKVg2XRgzeYSWLYvih90Akqr6nSbnGjRKyI 3TFHzOg9REmC5HwQmWH6ubz7VU0uK8iwuaoGtaeYcmzbDJ2760fvH83Nnxn14QpvdvCZ Sf2xLrTztIYI9XH6xbj/aX354U/h64Q1JWZAA1oHityGLLIAOIgkQEAtlEcDlcib8D9H CSRQ== X-Forwarded-Encrypted: i=1; AJvYcCWYediHNLy2S+3dMgh8muLzFp2BhjzTGqbAPTEdbeS/FObYKC5ai+7Z7Gp7XiDgDW1p1mE7t9M+tY7LpGw=@vger.kernel.org X-Gm-Message-State: AOJu0Yy0aM+rhLrnQNyeAS+fVGPVK/qSjq/eIptS2NcfBY0OFiccwuVn M0o3wpuA81BEZj288epeWDw7QpUPhLf0u8AiLpSmtB4S1uO2v4FrYLee9kzEZyCnNaR5J48eC0M mTHmv X-Gm-Gg: AZuq6aKoBeVMsVCAazV3NeYOwaezg1yhBKju7IOEPCtF6+tBKIPdKSpHJrgnonga6d8 d/ZZJuzRELNZXddQ9eNF53oy4Y7v3FX9y7uxrE4xPYWiPl6qazMLy/w7LjBIMCrMb5ul5/Qr4qe 1+UmW0DKwVE3f8FQUEo2O5j94w2MSctYlY7AAmcCTw1W7i1oyfD+88I1d0pnglBdNQIWYjMYDch /jqpkRFtPh8K00dP+RxscBUDaruuL2c2+0dJ9J0EKecgHzvFwsECCeTAvC4u272DvdNWbVKiASi D6Mnqtw93ajIUPWq3Q8IuCaNBpq04mo62iC9IdmMB1RCCxvAM3jdjXgvE5U/O4TiSg/beVqSpRw /nai1fFwIXkRzmRCQzGTkGhYcLbbtdYGl046Fkyi80dA5f5SJgvHObbfzSErlscfMKvIwmtkgzv UEGZvV8ltDe8QDuvkUHkDoVNWNoA== X-Received: by 2002:a05:6820:450f:b0:65d:88b:c00d with SMTP id 006d021491bc7-677694a0f8emr2397144eaf.66.1771107048786; Sat, 14 Feb 2026 14:10:48 -0800 (PST) Received: from [127.0.1.1] ([2600:8803:e7e4:500:109:393c:254e:962e]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-40eaee45d12sm10686339fac.1.2026.02.14.14.10.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Feb 2026 14:10:47 -0800 (PST) From: David Lechner Date: Sat, 14 Feb 2026 16:10:38 -0600 Subject: [PATCH] iio: imu: bno055: add explicit scan buf layout 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: <20260214-iio-imu-bno055-repeated-element-v1-1-b57b08efd566@baylibre.com> X-B4-Tracking: v=1; b=H4sIAAAAAAAC/1WNywrCMBBFf6Vk7dAkNIr9Fekirdc6YBJNogjFf 3d8gLgazsA9Z1EFmVFU3ywq48aFUxQwq0ZNRx9nEO+FldV2ra3piDkRhyuNMWnnKOMMX7EnnBA QK5nJOGfhN90IJZZzxoHv78Ju+HDG5Sqh+nn+On3zV5HZV0/+xHN8693GjXbSegvr+pt5FUZfQ FMKgWvfSK20GSGJvRVLK7dynNXweDwBjWK22u0AAAA= X-Change-ID: 20260214-iio-imu-bno055-repeated-element-1c1552ea74be To: Jonathan Cameron , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, David Lechner X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2194; i=dlechner@baylibre.com; h=from:subject:message-id; bh=ODrZgpweP48EKYZknvbUzaE4n0zuYcFxL/c5awbHz3U=; b=owEBbQGS/pANAwAKAcLMIAH/AY/AAcsmYgBpkPLg23z87PbR/7sLSokPCvF3KgUEMzMenMyJn +xBaOZPdy6JATMEAAEKAB0WIQTsGNmeYg6D1pzYaJjCzCAB/wGPwAUCaZDy4AAKCRDCzCAB/wGP wFuXCACBGoa1XPdvLFz2zU1wlb689rUGm76QE7w8BWpsyH4FFpC+fquDNGAx+I2zUckZth75tOw HGG/krBudEhBOgo1NJlmDoIqJFg78CuhzI/oO2ARgOn7831Tsi/DuB8CzY6gWFWoeiv1RhUdHb2 XqtwGPg0kIqgCVYt1IW+iNlcSxJu2x4w+XYt1ou+zmNJ58qHXYGq5+vRpO//mOt5uzzKv7xTT0v 4sdx+NnaQxIva2t90Z899A8KrgeQUt+XjDr+TwX9tF37ZOIlaU+HRvI5esGLttB3MxYl2caa9AV rTujGmGuoQwzEjquaqeUMWXJBah9EJz00/cP0EmegsXUMNB9 X-Developer-Key: i=dlechner@baylibre.com; a=openpgp; fpr=8A73D82A6A1F509907F373881F8AF88C82F77C03 Move the scan buf.chans array into a union along with a struct that gives the layout of the buffer with all channels enabled. Although not technically required in this case, if there had been a different number of items before the quaternion, there could have been a subtle bug with the special alignment needed for the quaternion channel data and the array would have been too small. Signed-off-by: David Lechner --- This depends on [1] that introduces the IIO_DECLARE_REPEATED_ELEMENT() macro. I didn't include it in the same series because the other series contains a fix and should be backported while this one ins't a fix. [1]: https://lore.kernel.org/linux-iio/20260214-iio-fix-repeat-alignment-v1= -1-47f01288c803@baylibre.com/ --- drivers/iio/imu/bno055/bno055.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/iio/imu/bno055/bno055.c b/drivers/iio/imu/bno055/bno05= 5.c index 303bc308f80a..47afda01229f 100644 --- a/drivers/iio/imu/bno055/bno055.c +++ b/drivers/iio/imu/bno055/bno055.c @@ -211,7 +211,25 @@ struct bno055_priv { struct gpio_desc *reset_gpio; bool sw_reset; struct { - __le16 chans[BNO055_SCAN_CH_COUNT]; + union { + __le16 chans[BNO055_SCAN_CH_COUNT]; + /* + * Struct is to ensure proper size in case any padding + * is needed. Technically not needed in this case, but + * better to be explicit about the requirements. + */ + struct { + __le16 acc[3]; + __le16 magn[3]; + __le16 gyr[3]; + __le16 yaw; + __le16 pitch; + __le16 roll; + IIO_DECLARE_REPEATED_ELEMENT(__le16, quaternion, 4); + __le16 lia[3]; + __le16 gravity[3]; + }; + }; aligned_s64 timestamp; } buf; struct dentry *debugfs; --- base-commit: 0713b26190addfa3a774b386c8658952ef9f7faf change-id: 20260214-iio-imu-bno055-repeated-element-1c1552ea74be prerequisite-change-id: 20260214-iio-fix-repeat-alignment-575b2c009e25:v1 prerequisite-patch-id: f7d2b3c87791f50de610900f5680d1b9b503702a prerequisite-patch-id: 28aed7da5bbcd16f83256bbe2d4c209fc26888bc Best regards, --=20 David Lechner