From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (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 02D2130171C for ; Mon, 1 Dec 2025 10:00:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764583227; cv=none; b=r6t61ZfwLITTvUEHuN7zDi1KnzfGV9mZsiGZhDeHmirz0Qjj2MNm4dJceYXQYah+ACZKAc3fIK2rPgSRMh9XqBz8U1upYXCxEgA5HTmlTYJHzX05vwZA9YDz178XuDV+zJC5X1qEUdm8k8HK/kyKMrVyTUTxmJ8DoarI18+adP0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764583227; c=relaxed/simple; bh=9Q2kCetJBspvXEjVrZNjLnp6UqBrBYcYFATmzPfcsfA=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=W8OLhTSvHfo/660Rb0vZekjQxr1DES+6iCgc9FtXAeV1lCoQ5+tMwwxCykj1vuyIpSHNek+wz+JHU4Aqgq49yHHNJgojWtgGKRqrgNkkY/LIOqwpQcncPQcwmsYiH7lsIrvE/KwqoMMHpKXs7xvAZ4pWB/xKKcGVQ4Ku6pTn5xo= 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=iJvgpq3C; arc=none smtp.client-ip=209.85.218.44 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="iJvgpq3C" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-b7277324204so629330666b.0 for ; Mon, 01 Dec 2025 02:00:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1764583222; x=1765188022; 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=3EOy5/Vs1lxCsDjXUXvZcQx7XzjV6m4h4yl0RiepsOI=; b=iJvgpq3C7nnW5dfrEUbzJv/RLcuVNG8QthS5+jWRqlF/niXcnYFH7bQCh1xecZMo6s ihRzUBjwY7OrrO2f3qeCXpjyAyJswpm3ujZKriIjlO16TkGoNhv/tHF4YHV8BM4bTQ6B i59obk1ecGYy2XJpqUza4fPYn1fZTNjs16WOjY92HrDhbS7TifONfXMye37jm35ycIGs lcfjPsYJh3ligkqbDPM6D2YKIyzJomUL14Mi7ebyH65nYFjwcifHOby1gLK+egND/v52 flO5cIq5Iz9bauoPgBvQsWY4ZvnXKAl7Y0DllPss7psFTTg4rZUG2NzGQpVf5809+7dq LAYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764583222; x=1765188022; 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=3EOy5/Vs1lxCsDjXUXvZcQx7XzjV6m4h4yl0RiepsOI=; b=IfbFcAEQq4eW1WPM3uacDkBTBs6AB/VE0o2Ibjv8pxlkeGwl4B36oQSzefRk+nL7kq 2b4UAVkDjB4UqgwEWYvLvd29ofDBM5N0af9q7m6YwZaqv+72WdDJtfOZ/0NK9BWInNi6 E8/4XVfVbDGwTihj0yDMsDmYhgYMoQTdFJnfe0Cx/jdjTpt39rkRNdXVwEtLEhWzgGBF xshBrg0PpWVQgt8YSLthdSFxXV4EYXmk2k0/mQnNTlUYy0Zz6NsyGfCPmjsxBWSLmZK7 lZ6G58ehwWu7fy4k0JA0y1WCa/C52ofZEfsywHdOUk25z7XFT9D1KpH+cY8M1IdDbiZz Y9RA== X-Forwarded-Encrypted: i=1; AJvYcCVn9OFgtoyjIbusrnEGNJ6wkY0HVDZPS4fBzcEN3zoxMz1bCewWjG8yYvsyRkyLLCigmHjyWw6ElFzeekE=@vger.kernel.org X-Gm-Message-State: AOJu0YyryrcGS01HICPKRG5YmrA2nbcY41O+ua2JkyIPOtgawMxaDWAZ h4kq+pRMXQM5/NRKf1hDOo7S+Yj59sZEVfbRyxaQY9LjuaOMqs5+rGP2BYepsgV6Pkw= X-Gm-Gg: ASbGncuCKkB6w/E7XvBdZqSZurlPvYIORdtdqVe3VqYWjZv66GGXTGruRTHc+oG98Du v1QWSOhMgw3lIPiKhxZFHCzCRTDDQ7NEUZ6DBLpK0MAekk4ezkNhJBPiryKHsr8o/LDq5PrsATP tuxA5v4+RriUGtYhq4Qh25AoCNv+7mYd+jXCmI2CLxA6I8K9xUedy0tQfgLV6j/2zPvQIUnPpBg keEC69oQPjYPx+gkgZL5vfUuT94PHczQHlrZOBQn1lHSj0ePoIq8R0AWB7REPR2RIWNq+us1XtZ wbdLzWQpf8UDLx9fYV1Q6rhzSYRxNUQ1nyCsQcyK6TBxMLsPSC0/VVaErdfsA0+KOdZWdXohQsJ WeNp5dn/jc0XmJIVRO94N07PIx6nxZhZdFxWhZOUdickexppBtyGV7udo X-Google-Smtp-Source: AGHT+IE8NA7QQWwTh1aXf6jzSsKy5HNJTQSxLoVpgErH0gR/cugKZVg4bGIpSkGpvSkKDaz4WK6pEA== X-Received: by 2002:a17:907:6d10:b0:b77:1964:1881 with SMTP id a640c23a62f3a-b7719642737mr1210853066b.58.1764583222212; Mon, 01 Dec 2025 02:00:22 -0800 (PST) Received: from localhost ([151.35.151.28]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b76f5a265d4sm1175348066b.60.2025.12.01.02.00.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Dec 2025 02:00:21 -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 v4 0/9] st_lsm6dsx: add tap event detection Date: Mon, 1 Dec 2025 11:00:09 +0100 Message-Id: <20251201100018.426749-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=2645; i=flavra@baylibre.com; h=from:subject; bh=9Q2kCetJBspvXEjVrZNjLnp6UqBrBYcYFATmzPfcsfA=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBpLWbxaR7WOMFd8J5PF/JeNwBaKCgXQO6kw+r/I rnNDLrdBE6JAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCaS1m8QAKCRDt8TtzzpQ2 X4lgC/0aqsJEf9WJar3L7LNM5eUo2x8Aa542hnfBARPckweJogg3ua2l7rHbwai6B9oSjlAru8A dX78G6Gfe0lhSmrMypLzRHJgHUMDlYutHNslIgbUFfAH45dPKQdBHZi60CiM4WmiSmkOhoXvzi4 ezo8CfmbrLfFW3iXaI/dq2hipwmJ2/KVs2I9VPGxZxn2vdfM395qoqoDikX0cL7BcidNpwvVQkd mCHBlo5fWWgboeb9z19JVOk/nPjWZktvIytpnTkceygr6Y6bcIjndPxNAlfvmU6S2y7ANzLsrt7 EvSwAP4hHU2QBkOiRKc9XaAHaA/3ppCo9aoJLpEyhSZMi1Y//gJPkSx2XKl6SfXwoSL3pqvS/1G 4dw5u0nANBWC4NMW6O3rNNtqOzIWm47arR7JFG647n1h73pOYWIKVq+7ohy2CZbwkEwbLtUIRCT PItm1h7GAN+f8BjD+vlDrUHhh6RYGP/IoElyeb91g2EJTEIGjHnDirRHU5eAiFnoQo9Ks= X-Developer-Key: i=flavra@baylibre.com; a=openpgp; fpr=8657854F953BDCA31EC314E6EDF13B73CE94365F Content-Transfer-Encoding: 8bit The bulk of this patch set consists of reworking the existing code for event detection (which supports IIO_EV_TYPE_THRESH events only) in order to make it generic to accommodate different event types. Actual support for tap events is implemented in the last patch. Tested on LSMDSV16X. Changes from v3 [3]: - replaced double negation with single negation in st_lsm6dsx_event_setup() (Andy) Changes from v2 [2]: - replaced status_reg and status_mask in struct st_lsm6dsx_event_src with a struct st_lsm6dsx_reg field (Lorenzo) - dropped new local variables in favor of directly using fields of existing struct variables (Lorenzo) - added blank line after return statements (Lorenzo) - added Andy's Reviewed-by tag to patches 1-6,8-9 - added Lorenzo's Acked-by tag to patches 1-3,6,9 Changes from v1 [1]: - added Fixes tag to patch 1/9 (Andy, Lorenzo) - added st_lsm6dsx_field_get() temporary macro, to be removed once the generic FIELD_GET() macro lands (Andy) - refactored st_lsm6dsx_write_event_config() with the addition of two helper functions st_lsm6dsx_check_other_events() and st_lsm6dsx_events_enable() (Andy) - replaced dynamic allocation of iio_chan_spec and iio_event_spec arrays with the addition of new static arrays (Jonathan) - changed line wrapping to 80 characters (Lorenzo, Andy) - changed line wrapping for commit messages to 75 characters (Jonathan) - added comments to st_lsm6dsx_event_setup() and st_lsm6dsx_get_event_reg() (Andy) - miscellaneous stylistic changes (Andy) [1] https://lore.kernel.org/linux-iio/20251030072752.349633-1-flavra@baylibre.com/T/ [2] https://lore.kernel.org/linux-iio/20251120082615.3263892-1-flavra@baylibre.com/T/ [3] https://lore.kernel.org/linux-iio/20251125202307.4033346-1-flavra@baylibre.com/T/ Francesco Lavra (9): iio: imu: st_lsm6dsx: fix iio_chan_spec for sensors without event detection iio: imu: st_lsm6dsx: make event_settings more generic iio: imu: st_lsm6dsx: move wakeup event enable mask to event_src iio: imu: st_lsm6dsx: rework code to check for enabled events iio: imu: st_lsm6dsx: remove event_threshold field from hw struct iio: imu: st_lsm6dsx: make event management functions generic iio: imu: st_lsm6dsx: add event configurability on a per axis basis iio: imu: st_lsm6dsx: add event spec parameter to iio_chan_spec initializer iio: imu: st_lsm6dsx: add tap event detection drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 56 +- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 538 +++++++++++++------ 2 files changed, 395 insertions(+), 199 deletions(-) -- 2.39.5