From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.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 286F837418B for ; Thu, 15 Jan 2026 12:24:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768479877; cv=none; b=GImPnwUOH5pDbwwzvomotiOodTwgLytiypy4NhqdBz5mbf35n/Vzve9/2T+N52e4++lCHcNN1PP4EToyY4fz/6PnJ5pe/z1h+h8IXzPQIVcmXPtLwEXJ+NAV/dnQnPsrYb6rBRRERoQhvoSzF2pRnn2pcVaonTGezA1KCRlxLs4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768479877; c=relaxed/simple; bh=q/+MOscl/md1a2Q943dhUJRpXKCdXx95NGeO7wjX/c8=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=aRL8TwjujII5fp075g0HkkJ3C2iPZuglO2OnHPI22qXRLMBT6dlvoxubJ77qnJuni8rfcgGgWiOq3P5SN3LYheRhhqXdU215k7ftSp0uPGuwpHieTzGUZC4zMkAjZvW3KQP0mE/UtCDJvHzACIBhr44VJBUryxs7tMCtuaCLKnk= 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=ITJ/R6iV; arc=none smtp.client-ip=209.85.208.48 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="ITJ/R6iV" Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-64b58553449so1428549a12.1 for ; Thu, 15 Jan 2026 04:24:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1768479873; x=1769084673; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=lGyEKRHJB6WwePDhwb24jiceYhPUCYfTIdehJWyENAg=; b=ITJ/R6iVK8vv2XYvkT0jN/s4W1z8RTRtsnojBN8Il/F7oQE7TFMIrJ2DPswKv3yCd9 8fltRHF2ab9ixIeUNOgmzqloBxFdfeHW0QuYACOzmaMg6BcISe3vvGX4XXnyPu/tkw7u 2ResfM67mUmYP3VBWjUDk6kEbLbcWqC8agB0+mfMRsn+onpJ2LnVBO0H5DeAxUpI4uGs u2cmhhqsllhZ9axHPKudgYRjv6JGJle/nMG2Gm7ufHRvuxxxVzB1rQSz0b0DAARS66W1 uXh2dUFRodgBu+QKOnUHuH6WBcX37d9/b99dKwTPTaE5QY9i3J3jqu/Px6PMODJ6dUmV U76g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768479873; x=1769084673; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=lGyEKRHJB6WwePDhwb24jiceYhPUCYfTIdehJWyENAg=; b=vwUJMiWBkXOYUnzzYtdoTcCFJ8qGHKo5YFoR/J7rg2VSRlPIaYBbVKkizdVpXjc6kV cWBSW12seCjSz6W6EZCDtvxk1TuccT9zXgPy0vFw/dr0hP04Bcxyde/5FdL9r0SxPSoj Ur8gMb3CebsPK3kBO1O9Bu3UUfQX9DAJIjn6nl1l9BDojm2IiL7889Q7q8bnchNX1E2o 1qB9jMr7J353oajDdY6EL+wpFb+BkdEw/eFYLGGk9vBLmrmAOeRWfL7IHYm5CETkgx1n 0+EjgdbF56XwtN9cAsFXOiU1e0R1jW+/k4g/dCDSAE0fy8Zpz5jyJLzbwk+Ld94e+43n UfOA== X-Forwarded-Encrypted: i=1; AJvYcCXPG8nbnFpVUfPMTukaVvzqrDv8q1y5wgmFmv3MykyhRb+uPlCpA5XW9FZc9+He+VzStGpkSSAsMIuLjbA=@vger.kernel.org X-Gm-Message-State: AOJu0Yw9SXATxAnTFFNtblSxhcsRdM9cHQsuHqQtyBCBx1qMqEwnaR5w 72xB/XnINzYDIXIFiW56THvS8DAxRnTmXR5ZZWtGAFaO+opa/VNNJt6r35Ktm9XP3HY= X-Gm-Gg: AY/fxX6S26ZYmS3siXioTjMI/OARqauxfX9dtIpPWizkxCNWmLdxY3flYwtHU6IjS81 g19IV4vtYbYzLiPMgR8pENU76Fj6qMw+SYbapCrLCNGdiPT5MW7SfA3ggcx8tum9LxYrrf/zDos WFx5ygfaRDIZ6itZiQOdhqbeUO0BMQwFWL2dw5w6Xn3FirIyrtEN8rbPo8eCOHxrcTMxy/HZjzf fAn47pEsy3pQrH0qJt9DeDedO7y4lT9TEGVVT0pUnYH5Bi8zbIm+ubNBM7keSbE9b4Da64jWEx/ 01DwSw7rfPy5/IR4ZDqccl916AcVoRX7g42pYf7jWgSo6cOsYhKJ8SLf0HNZ+1anV1SDrGkuDXF yHyK7BJDa++8lQIEwdsgJVgBOOu7j+tCWdnsptMdsEoPMYsI1T1tKPyC89FBTf0THfd1W X-Received: by 2002:a17:907:1c14:b0:b87:1ffc:bfbc with SMTP id a640c23a62f3a-b8760fde847mr586522866b.12.1768479873526; Thu, 15 Jan 2026 04:24:33 -0800 (PST) Received: from localhost ([151.47.157.182]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8713416418sm1288982466b.49.2026.01.15.04.24.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jan 2026 04:24:33 -0800 (PST) From: Francesco Lavra To: Lorenzo Bianconi , Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 0/3] imu: st_lsm6dsx: Add support for rotation sensor Date: Thu, 15 Jan 2026 13:24:28 +0100 Message-Id: <20260115122431.1014630-1-flavra@baylibre.com> X-Mailer: git-send-email 2.39.5 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1935; i=flavra@baylibre.com; h=from:subject; bh=q/+MOscl/md1a2Q943dhUJRpXKCdXx95NGeO7wjX/c8=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBpaNxiT5zsmxUWvA0EOwPEyVnC2ev0kmPBEAyph KGKkwo4ZI+JAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCaWjcYgAKCRDt8TtzzpQ2 X03EC/9jvk1oC4AauAPL2Mrbi6ex4yXVvUfEx/9Eyyp/ta/LPbVM9Wsi9cyOxR8TmOZKO8odsbe fpxLW5ALiI7q34nrMqO+JRtQ3pFF6rZ83pfMjFBM63gUd9bXcqMRxOEAqIciO19mtvAfuqU0E7N DssyK/VLc7D2VCjxKJo1rgmejvFW8zQclA0gm964er1IXfqMnBhThdPX+ZtiMSH2hyZuTsbsyBO Xoui3PB3+m9K7vrfznIZpvJTKrWU1iIix0AfeaECKftR+uBnivB0U8S2cjmom9ubDX6ui+d6zGB GNU3oo5btzh2AhAR/RrkHILiPYmr5TlwauxnTM/3jFJSQ1LWR8jVEXp8i3IDEFPE5Z5FCeEdbaD e3KBRzDpXB+lOsGfBvmAIEUahR748mfrWASG1Ka54oLQzlhZB/5vNmeMcwkzqli430+ym4Ru518 WWYL7KnAEsN8bIc5mAoUuQXY1t9CzR8QngzJr9yg58JlIjFoUCMWOaEuipiGuPEacg6J4= X-Developer-Key: i=flavra@baylibre.com; a=openpgp; fpr=8657854F953BDCA31EC314E6EDF13B73CE94365F Content-Transfer-Encoding: 8bit This series adds support for the rotation sensor functionality present in some chips from the ST LSM6DSX IMU family. The second commit is a fix to a previous commit of mine [*] which made it to 6.19-rcX; the fix technically changes userspace, but this should be OK as long as it goes in during this release cycle. Tested on LSM6DSV16X. Changes from v1 [1]: - swapped patches 1 and 2 (Jonathan) - miscellaneous stylistic changes (Andy) - fixed usage of MICRO and MILLI constants in st_lsm6dsx_sf_read_raw and st_lsm6dsx_sf_write_raw (Andy) - replaced scnprintf() with sysfs_emit_at() in st_lsm6dsx_sf_sampling_freq_avail (Andy) - replaced scnprintf() with snprintf() in st_lsm6dsx_sf_probe (Andy) - clarified in a comment in st_lsm6dsx_set_fifo_odr() that only internal sensors have a FIFO ODR configuration register (Jonathan) - modified patch 3 description to explain justification for the extra IIO device (Jonathan) - moved page lock from st_lsm6dsx_sf_set_page() to the callers (Jonathan) - s/magnetometer/gyroscope/ in patch 2 description [*] https://lore.kernel.org/linux-iio/20251017164255.1251060-3-flavra@baylibre.com/ [1] https://lore.kernel.org/linux-iio/20260109181528.154127-1-flavra@baylibre.com/T/ Francesco Lavra (3): iio: imu: st_lsm6dsx: set FIFO ODR for accelerometer and gyroscope only iio: imu: st_lsm6dsx: set buffer sampling frequency for accelerometer only iio: imu: st_lsm6dsx: add support for rotation sensor drivers/iio/imu/st_lsm6dsx/Makefile | 2 +- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 26 ++- .../iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c | 29 ++- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 58 +++++ .../iio/imu/st_lsm6dsx/st_lsm6dsx_fusion.c | 212 ++++++++++++++++++ 5 files changed, 320 insertions(+), 7 deletions(-) create mode 100644 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_fusion.c -- 2.39.5