From nobody Sun Feb 8 05:59:58 2026 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (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 88B3D218AAF for ; Fri, 31 Oct 2025 20:19:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761941958; cv=none; b=et/mm/eES4WAj3z9AJyG4Ee+FgC3SQ8vHcwnlsF0uO9praqfNsqryctyXHc9t3+ohz7snuJ35qW1JBERjcWeVLfHF6zfXFDQMP0eP6uhsoDR884v3wrq/NOBkZ33ZmTaPZ0DmFOIKJMS3ct5jtjEOdhKLMv1mE+wn+jcdR30yCQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761941958; c=relaxed/simple; bh=OZnlu/P99xD39yEM/jQRo9EzFw+5pTj6Xfv5obqJg6g=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=LdFwI63Cph/lXQWNv2urrMeQyjwbtKgIJkSHquIJdEt982pbZrC30+kqo5XIpirDYZ/O7XUYQY63p00fbGFo9EJKH133rO+2h2rS7DipvGdgXAuzxAYppU/ZmFlYEWZiwoUXVWEEgS+oZhYu/R8mtGN+3WU3gqeqVH6R4Wtk4So= 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=QM5s2fhu; arc=none smtp.client-ip=209.85.221.51 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="QM5s2fhu" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-4270491e9easo2284989f8f.2 for ; Fri, 31 Oct 2025 13:19:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761941955; x=1762546755; 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; bh=hLw1XhVo8Zz7HuWEutrVtWa4JpGlKfK4BOy5Ht7RQiI=; b=QM5s2fhugYTsnep0gmIb6RyQyQO8hh6uAW9wRRrbs/YrH4O6FPANIZOTHKhMXiXhI7 KDhsOgEK+S2BIlQhGnN1Odc2s2pk4sLYeEKCn8jR30y+oLxBQvx73tqEJlIaETz+9IRt tPO7Qsj1bY3c6OMJ8ppfsnhwoTuUiR6AK+tjHTPi2J8akYljMXbd1vbihxlj9iOl7//v KwA3aA634vrjE9NcGsHG4YMOrX8hJ9OhryfELMoNQBJGeJ6utkc5beXghS64KjQ+1oj7 B8ycDTzAiiQ1dZGPsfNrkckHZOyot2wV+k1cGBPi7t6ID9kqxrScpz+Xb/cEYA93Vr6o FfhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761941955; x=1762546755; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hLw1XhVo8Zz7HuWEutrVtWa4JpGlKfK4BOy5Ht7RQiI=; b=dr4X9gMz9sljnPLcA644ZAgWoMhCP5pRQWUh6gLT1hPGYxpxL8AA4TtMkOP+w4MUXu ASdMXE8TOvBIXwOveJ3D18PRm8LVlOsXVDNt3vgT16IVodyzuWdI+pW5zkfi00TqSB9Q GOaUbD4JuXCrMGyS+4jGowBlieGuwniRx1wt1E3w7X/D+gTuObINkTZvDtsiLn32msc9 p0+4NTlmiyE+LyUfEMJyKTVYlr6b5rJVG3hBYB8GGvsObD8zI/LiafeVc1sM9KiKjLMX ADg4FZkkpDN3SXvbe3HzbaApHy97rtt/5YN4jbs+L8r92dx+eWrCl8Bp5b6/K1n6gZuE EhAQ== X-Forwarded-Encrypted: i=1; AJvYcCX97+CG/x544TRcwIQqQldQclYPauqx0wI8PzZcORBGsVXPqqLtTMSpgXB6uigkzEsiB7utnMURty68oMw=@vger.kernel.org X-Gm-Message-State: AOJu0Yx52rNnkcHniPbvEht96rEP4ODKO44Eoy7X0hHMANSt4Qytn+2m k5RywIxHUsggKCvbDjAaD10be+yvkuXzyPoYWuMQTRgU7bVbicUOgWfq X-Gm-Gg: ASbGncsdLn8xM8aJ7kiZJqaEB21NxZLsDO+t+jBeLuYyoQjScI+rm7Tf1/6MuNxrRwy ikxPGKC4ALAyqQwMA/1UR+1JrQbGqeaXnocc7FmP+CBBvUsijuppdb9zwZKyelK5LvRnHZCZNLJ n7w3cIme4PLyyGdjvL77OROOtKPGY6luauTHKE55R36SNPNbyIVq6wOrIdORPdyKqjxYwHJ1O72 DKgZ8eWXfOBvnGRFCx95aXgoVxVNtyzfL79igH0+0//+EC9zPmpgoSzyPoW+GdRZyw8Jobyyul1 UZMnxG+6WlkUPWFaqAe0feMq55c+ibd0vuaF7+ZFyOyY+nbe8xat9jzkESXIDsLOaiD9tm3s1TV 6IHhkIJjYaYtlrJFqfvAcpBSeJBL3WOvHZX9GxIUHlMRd2ecemG0dLvYJ9FlJGRr89/GyhbQtmv VV3+7uzN+eKQn1jEk= X-Google-Smtp-Source: AGHT+IGGvXRnvMpYHfAemzINJevBEcBKmkv9lJaQU/L/ZBn+pwhaExUSqk59TmzFv9/u3WrPlu0tAQ== X-Received: by 2002:a05:6000:25fb:b0:429:c0f1:fd38 with SMTP id ffacd0b85a97d-429c0f1fde2mr3628468f8f.59.1761941954656; Fri, 31 Oct 2025 13:19:14 -0700 (PDT) Received: from localhost.localdomain ([78.212.20.24]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429c54efcbasm1800360f8f.8.2025.10.31.13.19.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Oct 2025 13:19:14 -0700 (PDT) From: Antoni Pokusinski To: jic23@kernel.org, dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, marcelo.schmitt1@gmail.com Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Antoni Pokusinski Subject: [PATCH v2 1/2] iio: mpl3115: add threshold events support Date: Fri, 31 Oct 2025 21:18:22 +0100 Message-Id: <20251031201821.88374-2-apokusinski01@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20251031201821.88374-1-apokusinski01@gmail.com> References: <20251031201821.88374-1-apokusinski01@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" Add support for pressure and temperature rising threshold events. For both channels *_en and *_value (in raw units) attributes are exposed. Since in write_event_config() the ctrl_reg1.active and ctrl_reg4 are modified, accessing the data->ctrl_reg{1,4} in set_trigger_state() and write_event_config() needs to be now guarded by data->lock. Otherwise, it would be possible that 2 concurrent threads executing these functions would access the data->ctrl_reg{1,4} at the same time and then one would overwrite the other's result. Signed-off-by: Antoni Pokusinski --- drivers/iio/pressure/mpl3115.c | 219 +++++++++++++++++++++++++++++++-- 1 file changed, 209 insertions(+), 10 deletions(-) diff --git a/drivers/iio/pressure/mpl3115.c b/drivers/iio/pressure/mpl3115.c index c212dfdf59ff..472e9fd65776 100644 --- a/drivers/iio/pressure/mpl3115.c +++ b/drivers/iio/pressure/mpl3115.c @@ -14,10 +14,13 @@ #include #include #include +#include #include #include +#include =20 #include +#include #include #include #include @@ -30,6 +33,8 @@ #define MPL3115_WHO_AM_I 0x0c #define MPL3115_INT_SOURCE 0x12 #define MPL3115_PT_DATA_CFG 0x13 +#define MPL3115_PRESS_TGT 0x16 /* MSB first, 16 bit */ +#define MPL3115_TEMP_TGT 0x18 #define MPL3115_CTRL_REG1 0x26 #define MPL3115_CTRL_REG2 0x27 #define MPL3115_CTRL_REG3 0x28 @@ -42,6 +47,8 @@ #define MPL3115_STATUS_TEMP_RDY BIT(1) =20 #define MPL3115_INT_SRC_DRDY BIT(7) +#define MPL3115_INT_SRC_PTH BIT(3) +#define MPL3115_INT_SRC_TTH BIT(2) =20 #define MPL3115_PT_DATA_EVENT_ALL GENMASK(2, 0) =20 @@ -56,6 +63,8 @@ #define MPL3115_CTRL3_IPOL2 BIT(1) =20 #define MPL3115_CTRL4_INT_EN_DRDY BIT(7) +#define MPL3115_CTRL4_INT_EN_PTH BIT(3) +#define MPL3115_CTRL4_INT_EN_TTH BIT(2) =20 #define MPL3115_CTRL5_INT_CFG_DRDY BIT(7) =20 @@ -83,6 +92,7 @@ struct mpl3115_data { struct iio_trigger *drdy_trig; struct mutex lock; u8 ctrl_reg1; + u8 ctrl_reg4; }; =20 enum mpl3115_irq_pin { @@ -306,6 +316,15 @@ static irqreturn_t mpl3115_trigger_handler(int irq, vo= id *p) return IRQ_HANDLED; } =20 +static const struct iio_event_spec mpl3115_temp_press_event[] =3D { + { + .type =3D IIO_EV_TYPE_THRESH, + .dir =3D IIO_EV_DIR_RISING, + .mask_separate =3D BIT(IIO_EV_INFO_ENABLE) | + BIT(IIO_EV_INFO_VALUE), + }, +}; + static const struct iio_chan_spec mpl3115_channels[] =3D { { .type =3D IIO_PRESSURE, @@ -321,7 +340,9 @@ static const struct iio_chan_spec mpl3115_channels[] = =3D { .storagebits =3D 32, .shift =3D 12, .endianness =3D IIO_BE, - } + }, + .event_spec =3D mpl3115_temp_press_event, + .num_event_specs =3D ARRAY_SIZE(mpl3115_temp_press_event), }, { .type =3D IIO_TEMP, @@ -337,7 +358,9 @@ static const struct iio_chan_spec mpl3115_channels[] = =3D { .storagebits =3D 16, .shift =3D 4, .endianness =3D IIO_BE, - } + }, + .event_spec =3D mpl3115_temp_press_event, + .num_event_specs =3D ARRAY_SIZE(mpl3115_temp_press_event), }, IIO_CHAN_SOFT_TIMESTAMP(2), }; @@ -347,15 +370,45 @@ static irqreturn_t mpl3115_interrupt_handler(int irq,= void *private) struct iio_dev *indio_dev =3D private; struct mpl3115_data *data =3D iio_priv(indio_dev); int ret; + __be32 val_press; + __be16 val_temp; =20 ret =3D i2c_smbus_read_byte_data(data->client, MPL3115_INT_SOURCE); if (ret < 0) return IRQ_HANDLED; =20 - if (!(ret & MPL3115_INT_SRC_DRDY)) + if (!(ret & (MPL3115_INT_SRC_TTH | MPL3115_INT_SRC_PTH | + MPL3115_INT_SRC_DRDY))) return IRQ_NONE; =20 - iio_trigger_poll_nested(data->drdy_trig); + if (ret & MPL3115_INT_SRC_DRDY) + iio_trigger_poll_nested(data->drdy_trig); + + if (ret & MPL3115_INT_SRC_PTH) { + iio_push_event(indio_dev, + IIO_UNMOD_EVENT_CODE(IIO_PRESSURE, 0, + IIO_EV_TYPE_THRESH, + IIO_EV_DIR_RISING), + iio_get_time_ns(indio_dev)); + + /* Reset the SRC_PTH bit in INT_SOURCE */ + i2c_smbus_read_i2c_block_data(data->client, + MPL3115_OUT_PRESS, + 3, (u8 *)&val_press); + } + + if (ret & MPL3115_INT_SRC_TTH) { + iio_push_event(indio_dev, + IIO_UNMOD_EVENT_CODE(IIO_TEMP, 0, + IIO_EV_TYPE_THRESH, + IIO_EV_DIR_RISING), + iio_get_time_ns(indio_dev)); + + /* Reset the SRC_TTH bit in INT_SOURCE */ + i2c_smbus_read_i2c_block_data(data->client, + MPL3115_OUT_TEMP, + 2, (u8 *)&val_temp); + } =20 return IRQ_HANDLED; } @@ -376,6 +429,7 @@ static int mpl3115_config_interrupt(struct mpl3115_data= *data, goto reg1_cleanup; =20 data->ctrl_reg1 =3D ctrl_reg1; + data->ctrl_reg4 =3D ctrl_reg4; =20 return 0; =20 @@ -389,15 +443,22 @@ static int mpl3115_set_trigger_state(struct iio_trigg= er *trig, bool state) { struct iio_dev *indio_dev =3D iio_trigger_get_drvdata(trig); struct mpl3115_data *data =3D iio_priv(indio_dev); - u8 ctrl_reg1 =3D data->ctrl_reg1; - u8 ctrl_reg4 =3D state ? MPL3115_CTRL4_INT_EN_DRDY : 0; + u8 ctrl_reg1, ctrl_reg4; =20 - if (state) + guard(mutex)(&data->lock); + + ctrl_reg1 =3D data->ctrl_reg1; + ctrl_reg4 =3D data->ctrl_reg4; + + if (state) { ctrl_reg1 |=3D MPL3115_CTRL1_ACTIVE; - else - ctrl_reg1 &=3D ~MPL3115_CTRL1_ACTIVE; + ctrl_reg4 |=3D MPL3115_CTRL4_INT_EN_DRDY; + } else { + ctrl_reg4 &=3D ~MPL3115_CTRL4_INT_EN_DRDY; =20 - guard(mutex)(&data->lock); + if (!ctrl_reg4) + ctrl_reg1 &=3D ~MPL3115_CTRL1_ACTIVE; + } =20 return mpl3115_config_interrupt(data, ctrl_reg1, ctrl_reg4); } @@ -406,10 +467,148 @@ static const struct iio_trigger_ops mpl3115_trigger_= ops =3D { .set_trigger_state =3D mpl3115_set_trigger_state, }; =20 +static int mpl3115_read_event_config(struct iio_dev *indio_dev, + const struct iio_chan_spec *chan, + enum iio_event_type type, + enum iio_event_direction dir) +{ + struct mpl3115_data *data =3D iio_priv(indio_dev); + + if (chan->type =3D=3D IIO_PRESSURE) + return !!(data->ctrl_reg4 & MPL3115_CTRL4_INT_EN_PTH); + + if (chan->type =3D=3D IIO_TEMP) + return !!(data->ctrl_reg4 & MPL3115_CTRL4_INT_EN_TTH); + + return -EINVAL; +} + +static int mpl3115_write_event_config(struct iio_dev *indio_dev, + const struct iio_chan_spec *chan, + enum iio_event_type type, + enum iio_event_direction dir, + bool state) +{ + struct mpl3115_data *data =3D iio_priv(indio_dev); + u8 int_en_mask; + u8 ctrl_reg1, ctrl_reg4; + + switch (chan->type) { + case IIO_PRESSURE: + int_en_mask =3D MPL3115_CTRL4_INT_EN_PTH; + break; + case IIO_TEMP: + int_en_mask =3D MPL3115_CTRL4_INT_EN_TTH; + break; + default: + return -EINVAL; + } + + guard(mutex)(&data->lock); + + ctrl_reg1 =3D data->ctrl_reg1; + ctrl_reg4 =3D data->ctrl_reg4; + + if (state) { + ctrl_reg1 |=3D MPL3115_CTRL1_ACTIVE; + ctrl_reg4 |=3D int_en_mask; + } else { + ctrl_reg4 &=3D ~int_en_mask; + + if (!ctrl_reg4) + ctrl_reg1 &=3D ~MPL3115_CTRL1_ACTIVE; + } + + return mpl3115_config_interrupt(data, ctrl_reg1, ctrl_reg4); +} + +static int mpl3115_read_thresh(struct iio_dev *indio_dev, + const struct iio_chan_spec *chan, + enum iio_event_type type, + enum iio_event_direction dir, + enum iio_event_info info, + int *val, int *val2) +{ + struct mpl3115_data *data =3D iio_priv(indio_dev); + int ret; + __be16 tmp; + + if (info !=3D IIO_EV_INFO_VALUE) + return -EINVAL; + + switch (chan->type) { + case IIO_PRESSURE: + ret =3D i2c_smbus_read_i2c_block_data(data->client, + MPL3115_PRESS_TGT, + sizeof(tmp), (u8 *)&tmp); + if (ret < 0) + return ret; + + /* + * Target value for the pressure is + * 16-bit unsigned value in 2 Pa units + */ + *val =3D be16_to_cpu(tmp) << 1; + + return IIO_VAL_INT; + case IIO_TEMP: + ret =3D i2c_smbus_read_byte_data(data->client, MPL3115_TEMP_TGT); + if (ret < 0) + return ret; + + /* Target value for the temperature is 8-bit 2's complement */ + *val =3D sign_extend32(ret, 7); + + return IIO_VAL_INT; + default: + return -EINVAL; + } +} + +static int mpl3115_write_thresh(struct iio_dev *indio_dev, + const struct iio_chan_spec *chan, + enum iio_event_type type, + enum iio_event_direction dir, + enum iio_event_info info, + int val, int val2) +{ + struct mpl3115_data *data =3D iio_priv(indio_dev); + __be16 tmp; + + if (info !=3D IIO_EV_INFO_VALUE) + return -EINVAL; + + switch (chan->type) { + case IIO_PRESSURE: + val >>=3D 1; + + if (val < 0 || val > U16_MAX) + return -EINVAL; + + tmp =3D cpu_to_be16(val); + + return i2c_smbus_write_i2c_block_data(data->client, + MPL3115_PRESS_TGT, + sizeof(tmp), (u8 *)&tmp); + case IIO_TEMP: + if (val < S8_MIN || val > S8_MAX) + return -EINVAL; + + return i2c_smbus_write_byte_data(data->client, + MPL3115_TEMP_TGT, val); + default: + return -EINVAL; + } +} + static const struct iio_info mpl3115_info =3D { .read_raw =3D &mpl3115_read_raw, .read_avail =3D &mpl3115_read_avail, .write_raw =3D &mpl3115_write_raw, + .read_event_config =3D mpl3115_read_event_config, + .write_event_config =3D mpl3115_write_event_config, + .read_event_value =3D mpl3115_read_thresh, + .write_event_value =3D mpl3115_write_thresh, }; =20 static int mpl3115_trigger_probe(struct mpl3115_data *data, --=20 2.25.1 From nobody Sun Feb 8 05:59:58 2026 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (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 55288327205 for ; Fri, 31 Oct 2025 20:19:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761941975; cv=none; b=cuTGmS/OntFTn51qOpnijijCbR8KUHGm05QeoB+ojFunZx1sS7OLDX2fGMnKt+ZqK/pz7N1YxR3sUhmv0P889TgbRnrF/UmyKOVwhcXdW/fuGcIDjTjd/KG5RlzSiba9YSDfTR7ggRfQhAYJYBTmtjHdNjqx6XyPzCJbdJpW6z0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761941975; c=relaxed/simple; bh=uhtPyUARMh6iqTL6T+FkCm4KL2BKQJC1wSSAlBNThFs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=BqwwYgu6pa58PgT2SI4piGwnojrNFuxGN+k7tv+PbyXQVIlx/0Yd0eFy9dORrSTiiUPI7wNyee2Mx7PGTgrLh8lj7NAhk32ofAkIAsvOt9vBVsx0UDtLuWpQYKhyaUD7z1Hm08cHFC+RKpJ2vOaFWpwg1xMAETQaOIkpi2yr5P0= 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=WrRWhDoe; arc=none smtp.client-ip=209.85.128.51 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="WrRWhDoe" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-47114a40161so29888205e9.3 for ; Fri, 31 Oct 2025 13:19:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761941971; x=1762546771; 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; bh=vTXisoAd0Dg/UVvUO2lIGrX9MKyF/plfDMYlzBba5Os=; b=WrRWhDoeyhDHnRIXVxz9G8+vheiHkGEmibp4n0PBAPRmb+49ZrL6WsRiRZD0T8hEpe e+Dk21UghZjwc0M5reDZ+iF2cTDutncCepE0zrVm/A2YLvi/YU4h20LhNeuvYZa3bK9z wF98ehcGxaaSWhvrqJdfl1Db+fOGPw5H9W/Ko9xWjcwUoDTTib2YSzdcTcXl6U3eLx8v xJWG8HtJWhESQjgfjFFxTbiWawx8E38rQ47Zv3jB+YATafv70ps4aorlWQhWhl/d3iIB 2h9AfQkaEbCaiimNO0s5Nme2rLv6AFuoN2urJnQEMpM4BVYpEdjnTq70iGqnAMvloqpy xV+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761941971; x=1762546771; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vTXisoAd0Dg/UVvUO2lIGrX9MKyF/plfDMYlzBba5Os=; b=My3G1bWf6cKye9TigZencoVZKceMhMIF+VBR9W1vXBSWkPVyalRwPa4ZC9W2CD1aXH A5acoHBrqDIM3b1WnnWedqNNJE/ZH5rtpztGIEJsHrMPb2soVhQj4ouOPCjBWd26//77 X0JzqsANEYnmK+lvTaCUkwokqkT5NJDGDNdZhXZ2QGHpK1Is+DpZRxpjZwghu3d4RyCi f5irxNNE/XdGNd7r2sDgWPZV3pLrQZmERHAS+ypUqKIPq5DAfsvJBqNu2+B0MrNTAODZ 1wvvCqwTTnwKa6lKV9ctAJLnPDqVT4TNZIOIvvByQWjRODZTfLF848+J7C4GXpcbL1Tv u1xA== X-Forwarded-Encrypted: i=1; AJvYcCUbDXyN/P0JuZO8b8wD3CW9BsQFFN5/5uDHbqD8fXTRlt3yLwiQfLIC4tFm2sSbkSrF0P7nmZfJ0Yc9bjc=@vger.kernel.org X-Gm-Message-State: AOJu0Yx4imSJlepphX9/3I9ibwApsrpTgQIA6lnCuDUeusGP+k1+AfNn wNWmXJhlKyEP3FBYFMGti6qXra2Vin3ocZ+f7ZfuBLDxg71rt70xscd2 X-Gm-Gg: ASbGnctobupV+uRRhBBedTpfsaGC3xfSp/D0fQsbRtbTlZ/Z1uIL7iYGlnOjDxTMFAT Jfr6nEwQnpp8rgdXup1nduy/fMoCKxTQkhQ8JfnfmY9vFfwblijoj4fZAX9Zvzr0PJ3AOtNYidN T+6VrTGquqg38ygbkPA1DFjcsSioSRrOnQvJommesDBK2VqDTHUXwxYklHd8u1Bc1j6F4NQhS85 6vHjBmnQ1MYti/CLKhAmQ8HB7vlO0UHqE4v+kTsbUux9dVOe9kzD4QdTK7rEy0lq+7BimjrVrB6 dyGSLAZRqZoEw6RndgD2c35HHmcbw4PvXHH3zNPd4UDH+kmOwcXdIERhXqYm+twGe8Udygaexk9 EXg4Kde5zX8K57iOwUwWaCqjgpD9JKW8nzto17qanEoUYvGsVuLDySbP6/At5mnziDZaiOXh6BU YPgIn36SkXmPQrvco7TYDgFhsy1Q== X-Google-Smtp-Source: AGHT+IHjclgRnjfrDGQzSRybsOxGI4fC6nX630RldNdxkLC4PcHK1n/8rSaA7MFSbLuneEDWUGjtcA== X-Received: by 2002:a05:6000:40ca:b0:405:3028:1be2 with SMTP id ffacd0b85a97d-429bd67c38bmr4338005f8f.11.1761941971429; Fri, 31 Oct 2025 13:19:31 -0700 (PDT) Received: from localhost.localdomain ([78.212.20.24]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-429c54efcbasm1800360f8f.8.2025.10.31.13.19.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Oct 2025 13:19:31 -0700 (PDT) From: Antoni Pokusinski To: jic23@kernel.org, dlechner@baylibre.com, nuno.sa@analog.com, andy@kernel.org, marcelo.schmitt1@gmail.com Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Antoni Pokusinski Subject: [PATCH v2 2/2] iio: ABI: document pressure event attributes Date: Fri, 31 Oct 2025 21:18:23 +0100 Message-Id: <20251031201821.88374-3-apokusinski01@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20251031201821.88374-1-apokusinski01@gmail.com> References: <20251031201821.88374-1-apokusinski01@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" Add sysfs pressure event attributes exposed by the mpl3115 driver. These allow controlling the threshold value and the enable state. Signed-off-by: Antoni Pokusinski --- Documentation/ABI/testing/sysfs-bus-iio | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/te= sting/sysfs-bus-iio index 352ab7b8476c..5f87dcee78f7 100644 --- a/Documentation/ABI/testing/sysfs-bus-iio +++ b/Documentation/ABI/testing/sysfs-bus-iio @@ -898,6 +898,7 @@ What: /sys/.../iio:deviceX/events/in_tempY_thresh_risi= ng_en What: /sys/.../iio:deviceX/events/in_tempY_thresh_falling_en What: /sys/.../iio:deviceX/events/in_capacitanceY_thresh_rising_en What: /sys/.../iio:deviceX/events/in_capacitanceY_thresh_falling_en +What: /sys/.../iio:deviceX/events/in_pressure_thresh_rising_en KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: @@ -1047,6 +1048,7 @@ What: /sys/.../events/in_capacitanceY_thresh_rising_= value What: /sys/.../events/in_capacitanceY_thresh_falling_value What: /sys/.../events/in_capacitanceY_thresh_adaptive_rising_value What: /sys/.../events/in_capacitanceY_thresh_falling_rising_value +What: /sys/.../events/in_pressure_thresh_rising_value KernelVersion: 2.6.37 Contact: linux-iio@vger.kernel.org Description: --=20 2.25.1