From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (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 BAF711E9B35 for ; Tue, 25 Nov 2025 20:23:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764102193; cv=none; b=S3qbQ8CbwRZmten33S6EOSKYgEFUopMO45RuI2cS7ZvJ0NeYnVDC3pTMHpxaWc6gYJ5OIHwIsv6L/3Whxi3fLODUvxxXHilmItIcJQX5hZ6JFEwP+aWctJBOZeBpDMK0Sc2SWDlOrXKbYM1UfTW6OF8Nc0HVYg4N0jO+x+RNwUI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764102193; c=relaxed/simple; bh=NeqCVQGg5qT1aYQwYOfhby3FJklWkiVsbk0k6PcqOjU=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=RIprzEtZbgdlFRp3ieup5Mf0UZLEt7UQYxiXfJYf2wpNT6wyh8YdZfZ8YdHC/z/KgktCSx5/HXsM51ckWlVV6gzrPgNYwuhyFVwdgqG27FfIU/c1U0HaYdu9Haf2gBp9niey7TAkPDCegKmrn8GCRkcnue8LZaoUXcg8BYWhqmQ= 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=NfLKCRYw; arc=none smtp.client-ip=209.85.208.47 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="NfLKCRYw" Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-6418b55f86dso10077350a12.1 for ; Tue, 25 Nov 2025 12:23:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1764102189; x=1764706989; 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=DFe0G2+EmVdbEh2bmdGGxP4y2UuZO0CW3KK/wYTXjeY=; b=NfLKCRYwAWIE7u6ImKQU8NHc0bH/Bmog3ivduKIoXMDZFVYxWtlBdZLL1QKp72IoWJ O7XoGYJppKD7ZYCB3wzfXxFJFlqdH3XqweSK+iC5dMY2ggO6RC6iPl46HQ91BYjqUU0R v4VqxAudhIiZQCtMzNpqlN4Iwb0i499dI7uS1rJ1eKoQURAx6T75h7zJ40TMWt0CJD2R 4RoTY/qEeGuFJZTOvcGYF4oWaScpmmXgjiPXFkCcmvwnyXU0D5qunkJX4PPE+Xc+ZcX0 gz1xJOfNfSxA4Gk32zznM4yym1nJDeY4zf5piY3j5ZZBczm1FxRGBOpm6O09ASj5eTZX maBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764102189; x=1764706989; 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=DFe0G2+EmVdbEh2bmdGGxP4y2UuZO0CW3KK/wYTXjeY=; b=rLbctc3mvAv126ilImWCZgD3tT37gkePxazRSrzub5tzrbUKeZCaTauhoP00WgiUUn YtX5UtDf2aajvu7x/l5f65nWLr8vCSDiYF0mM5ASGtfjiGUwaPogzlScJkF0GQe+1T2H VrMwP0jP85w20WHaonGPik5OpbKfYNakGCfW+F9ahVNuuG25PCw/+pfze2aFLQ7W2PxE U/lvPV/HpceZGZ6IJXcUNePGclJptf4pyCqWNA8kGvVTLnSFq0a9rUp6xRloqU4O9NnK 62YFmBeuTgG5P1cVNYiq/Tq3Rop4OSVAx2yrDphjjlCgYe6F2SoTXvp6MtB+v1DhOKMU Autg== X-Forwarded-Encrypted: i=1; AJvYcCXmI3Q74cvkjCqLrzgafEqW0d6eqEVGh0R/SR2cyMcjXmnN9TlDwz9huV2189d/2WIDVXA0NquP+vweLr0=@vger.kernel.org X-Gm-Message-State: AOJu0YxdBdJ0oinhLmxTLftedtkXk49TPd2RyOBTF3N2HU7afLV5I48D 2cfnkrHz9JEg/5xEfMXxKH7DOIudx30D3IUwnpA28TcUyL58IzKN9RemKc4CMhmREgY= X-Gm-Gg: ASbGncvjIG3l/ZWs0ANVZRb6W6xeDSH4md8+oFbXkH6SCUV5WU1uS5g50jXbdBIHC1L CRHddBamHcAv7YkEWaQPD61LmmmUzOWFuPBE4rkl4A6F/QztC+R4NTLi+o9Y+40s6tReTJ/ku6d k1kOwBxoq7OLJY+kUrDkCIu9rPJdv+ViaCBO6q+WE2VKjQJ0LoZ4bqUNHgweriMxWBq7XP6DTUY 1TnxjEn1UfbzMlaHLEJmCbAUTbjmIytC65dSPp8fv7rNVNltKSUlqETiQYSKewhyjpAsXXFddYb HM0O4P1d56hDUVfTCwFUF3SKV69oEwrdRpb8ILrYEL5pvOlVSQglFUrs1O9fSiNKs0IPs6D08Le irV+nYHrr/61AGTecZspg8xxJklemRpYVpxzwKGloMli0RtCncuNR40Sd0Ap4DPO6pQ7blztDe9 xzCQ== X-Google-Smtp-Source: AGHT+IF/z+2yeKjjDxF07ijR874tTzM0h2cLI9XrL/kaOfCtNyB3kX9BvQH3+Op7yW527F5YMffdEw== X-Received: by 2002:a17:907:7248:b0:b76:23b0:7d6f with SMTP id a640c23a62f3a-b76718cef3amr1688216866b.56.1764102189036; Tue, 25 Nov 2025 12:23:09 -0800 (PST) Received: from localhost ([151.35.128.119]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b7654cdd60csm1677336566b.3.2025.11.25.12.23.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Nov 2025 12:23:08 -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 v3 0/9] st_lsm6dsx: add tap event detection Date: Tue, 25 Nov 2025 21:22:58 +0100 Message-Id: <20251125202307.4033346-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=2446; i=flavra@baylibre.com; h=from:subject; bh=NeqCVQGg5qT1aYQwYOfhby3FJklWkiVsbk0k6PcqOjU=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBpJg/9P/TX+7ynskpYl5KRVi1zx/MmtHcGM5b2y QVMDTfx+xmJAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCaSYP/QAKCRDt8TtzzpQ2 X1oCC/9ayrymZybUS8mTvGSveFbD5Z8zyvGAotHNY9rA55ek5/Q8rPj/uiq5DoeVlI7nG7L2oOC kJFNmK5fBreIepGFPdTnSf+fvFb9ZK8SiZTtssrKfXgomdZssYjixw3ZLACF9KawOXgEBcNZWOt 0W28viOptiK0a0NvdtVGqr+IUVNb+UnzpZRILd/sOlemnhVOyMt+BsO48NaDnj5h3sxpShxQJcE uVOoH3I/z6+jS20WYJFy67S4Dg48Iyrek5/4rQULdaA6mU40RX2cD6FjOlL8raZyofACQ1pllDL VxAmMgjBCWsbO3wK/twILmNrXfTm+SciTHaoaPvtC9A76Ygbb7psQVG7WzpZpXC3rFe1bddtR6x 1zjczluwrAPcieEGs4PsPkwqf167VxAyszahtz0ut3+YqPBkOx50lNvpt89ScF+0OCd/ZCCYQOd xAHftApGpNcTifMCVX+oqhTfvLZ3dUPTLNa46tD6F8vSvAmbI003YwxJvXlEJojThxRcA= 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 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/ 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