From nobody Mon Feb 9 14:02:01 2026 Received: from nalicastle.subdimension.ro (nalicastle.subdimension.ro [172.105.74.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6B62438A9D3; Wed, 14 Jan 2026 10:07:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=172.105.74.154 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385272; cv=none; b=YChfEffec/k3hn59vxBsvxlIZPBpBHqPoA/OpR52SLEXTvG7O4HpgcgrNpESJYqw9I+JVI0W/glpJ3vrhCMOabFXrJJMtq85yj4i7qKtVpH3wd3frO9FINUWmBoHH25Ls2L24JMdtkU4mZfBKdY203csGrE0gRu1hmLrZXweGIE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385272; c=relaxed/simple; bh=7rCaX+CMv5HNdIPee0VsDwpR0x1bUWrRQRcBwyAiUiQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Y5fB0sIn6kuu0aP4fPYWgLgMWPDaIOldtZuRbO9CeODPCufJyke59ldBXhAcy8reuboAld3KFg1K0Uq99NpiN8IFlKMNKtBzB95X6FjY6OQo7+v4MpdliL8BVF4/fhbW1OszI+/2fCCq2/pvE7/lQ1MUU+LCl6keOs0UOntPGj4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro; spf=pass smtp.mailfrom=subdimension.ro; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b=2cH+TASJ; arc=none smtp.client-ip=172.105.74.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b="2cH+TASJ" Received: from sunspire.home.arpa (unknown [IPv6:2a02:2f0e:300:8a00:e2d5:5eff:fed9:f1c4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by nalicastle.subdimension.ro (Postfix) with ESMTPSA id D66BB16020A; Wed, 14 Jan 2026 12:07:45 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=subdimension.ro; s=mail; t=1768385266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5HoBv256gCYHaQi0ntlLJRTJazk23mjzSprlx97V/Zc=; b=2cH+TASJ9wBfedvA81fCCNaJHxZwuEMtiYQ9fxuL0pis2bW9jxdsvfbliwkbbb1fo33y+8 alLf2tYn0HS5cwRouOxrmlhDZTZ2Ec+H39CgMUXWD5X407OzW3fOvCiQXATQvcgWl/0SZ9 4yfiKMo5X7LcTbO60xvQLl2Q4ikxT4TLfXY8w42lBAokzicntLzJPyKLnLjearytjvW8FQ uiv7mNN7gkiTqyIzojOCZANP/1QavBIwLqWoue49FiZYFOWO/d8IPfV+n+xWc0UAojBvBq HJj6TI3+qyVR2o6fUTY5462cabqq590Q933pL62tlgOTvYHI46t5QFBT0NVzyA== From: Petre Rodan Date: Wed, 14 Jan 2026 12:05:35 +0200 Subject: [PATCH v2 01/13] iio: pressure: mprls0025pa: fix spi_transfer struct initialisation 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: <20260114-mprls_cleanup-v2-1-5868b0045316@subdimension.ro> References: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> In-Reply-To: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Andreas Klinger Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Cameron X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=902; i=petre.rodan@subdimension.ro; h=from:subject:message-id; bh=7rCaX+CMv5HNdIPee0VsDwpR0x1bUWrRQRcBwyAiUiQ=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFHSkFuYjlrQTBEQUFvQmRDc25wM k02U1dNQnl5WmlBR2xuYXROcWlUTisxZEJ4dTROYzE0bXI5bVE4CkFiR1JjZlJ3VHRxanFlTTJJ UHNwTDRrQ1R3UUFBUW9BT1JZaEJCb2ltQncrRGJ4UXBFNmlkM1FySjZkak9rbGoKQlFKcFoyclR HeFNBQUFBQUFBUUFEbTFoYm5VeUxESXVOU3N4TGpFeExESXNNZ0FLQ1JCMEt5ZW5ZenBKWTVuLw pELzlDSnBETmtqNWh3R0YvUkI4Wm42MHcyemJLa09XVUN4ZXpHK25iN01SSWtDVTFHelZkNnpBa GgvTFZZaVRSCnQ4YkdpeDNRTVZlUW1wQXhqbFRUekxRd0xGVldVUjNhQUNPdkN0Vm5JU21ab1dr SXk1aXhCM2Y4OFhQR3I4RkwKdnk0aVJrYmtwQ2E4dVEvL2xncEhmdDdhZVBRbEpxNjRESjdwRDB MQnp1Ym1LdHhtR1FMcU95NzEzR2l2cDdLZgpDYUxOaStTaUNnUVRrbVowSGZ1ZGdqTnk1cDNDNk 04SndCZy9UTWRGcFdiYlB6VzlBeENtanBJZE05MHpXQzVXCjZaODlsOFlqR0JLKzkxcGZFbFNLN WFTeUttVlJLYXhCRTFmbXprQVdleEZlZjBNazRGb00zME0rRDVUbE5KdHoKTnAzWEtvMG1xWWcw dGdWWFNiOEd4cEFNMGxRNEVWbUxEcjhHbnRSK2N3NzhzV0hrbjJBQ2pIYndNRWY1N3dMTwpiTS9 qOFdMT1BMeXNwR1I0Y3lTTFA0WktRS25jOFM5VlF5SkU4Y0Vtd2dnZzFHN1ZqQUtQbit4aS9iYy 9UcUlyCjJWMEpWaTdVOW12a0QvS2Z4WWdqOURzc2Z2SkFucUtBcms1ZXBaL3o5dHZOT3Fqc2VBd WVHckxKV2VhRUhrQ1UKYzJzQ2dFWjJLOGhhY0hYOC9QRUF6bkZpWWcwRGlvU2NKclBBUlR5aFBD ZkFsNmZtUDExblc3M3ZUMHk2MG1NbwpVZ3N6eEFseUVLY1luaGtUeWZFOVlDbS9xeHZXcmdlTzJ RUExKemhRZ2RlTEFrenVPRmZhTGlrWmpIR2RMYW1OClRpRktzYmo1MjhxZ1RDdGZadTBQbzh1Uk tTdVl0a2hnNXlzWmVsSFlYZnJVcXBOVklaWT0KPXEwSHAKLS0tLS1FTkQgUEdQIE1FU1NBR0UtL S0tLQo= X-Developer-Key: i=petre.rodan@subdimension.ro; a=openpgp; fpr=D80A7FC176151935EC3E5FA9CF269999844E7F30 Make sure that the spi_transfer struct is zeroed out before use. Fixes: a0858f0cd28e ("iio: pressure: mprls0025pa add SPI driver") Signed-off-by: Petre Rodan --- v1 -> v2 no change --- drivers/iio/pressure/mprls0025pa_spi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iio/pressure/mprls0025pa_spi.c b/drivers/iio/pressure/= mprls0025pa_spi.c index d04102f8a4a0..e6bb75de3411 100644 --- a/drivers/iio/pressure/mprls0025pa_spi.c +++ b/drivers/iio/pressure/mprls0025pa_spi.c @@ -40,7 +40,7 @@ static int mpr_spi_xfer(struct mpr_data *data, const u8 c= md, const u8 pkt_len) { struct spi_device *spi =3D to_spi_device(data->dev); struct mpr_spi_buf *buf =3D spi_get_drvdata(spi); - struct spi_transfer xfer; + struct spi_transfer xfer =3D { }; =20 if (pkt_len > MPR_MEASUREMENT_RD_SIZE) return -EOVERFLOW; --=20 2.52.0 From nobody Mon Feb 9 14:02:01 2026 Received: from nalicastle.subdimension.ro (nalicastle.subdimension.ro [172.105.74.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6B51038A727; Wed, 14 Jan 2026 10:07:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=172.105.74.154 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385272; cv=none; b=m8c1zOVJlD703zAO6W4ldXSPA0a1WFJBdyyqi/G4XRWEX8FriRkwa+tamIkL2PnTztdahfDhwT4XZmFF/MTJgRi0iiKJKabiA+6fXOau9Nusj+8tolwG5w8WRjAHeRcLpxS5QohEVyhQXWI4q0EDuZe9CzEuaH9VKqmJ4agIx4o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385272; c=relaxed/simple; bh=JZsCYvArYiw2BVJX7iMWL2ZaOKYdTaYkGif2qRc37fc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jDLRZzHlz8qQrHn2Pq9+eKOLqGvF7/3rOktxn1VvUBL3NZQ8E2X9tODoUOvB2/+N8HHFjx8Gq2uNl3vlTFd1LTdnJmLfuTdpjInkt7p9alIXyqRNgaM14AsBpaDW6rrmakuMJkJzPu6LCK2P/VzsIEv+lmAgqU70+dUsvHw9k2E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro; spf=pass smtp.mailfrom=subdimension.ro; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b=BR58bJ0o; arc=none smtp.client-ip=172.105.74.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b="BR58bJ0o" Received: from sunspire.home.arpa (unknown [IPv6:2a02:2f0e:300:8a00:e2d5:5eff:fed9:f1c4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by nalicastle.subdimension.ro (Postfix) with ESMTPSA id 532FB16020B; Wed, 14 Jan 2026 12:07:46 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=subdimension.ro; s=mail; t=1768385266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=lvD+Mz/V+BUQ9wfDWzvPQ+wQyq4iAUHqGEljuaj6y1Y=; b=BR58bJ0o5LpJ3PpAoSp7fFNfFfsXPgzfW1amKVjaSySDiOyH9MgxTPzDKsIX6w0P2IY0cn VhEKJ89x8MznUimpvL4xpfrbtyi3uoxTPg5c6VW70cDPBWJ5yc+Gvbs0MQSxihxVbL0MDo ZLPi2ApTLZD9wzGtdT5aDY8iFTlWdkjYQHFhrHgtr2Ypc9EXpu5x+mEUvAq+/YGy8L3nZY huJ5bk1si3E+jDKJAgls2tRJfSCaddhJAF8FzTS2Q7s5qHNt0OKasK7pttWkm1VUp4G4pc zVZCs+a8vdnNUehprtfPF3mgcppW6Am0C2OwkSuuNJOQKxs5X+WgKercdJ3nQA== From: Petre Rodan Date: Wed, 14 Jan 2026 12:05:36 +0200 Subject: [PATCH v2 02/13] iio: pressure: mprls0025pa: fix SPI CS delay violation 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: <20260114-mprls_cleanup-v2-2-5868b0045316@subdimension.ro> References: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> In-Reply-To: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Andreas Klinger Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Cameron X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2466; i=petre.rodan@subdimension.ro; h=from:subject:message-id; bh=JZsCYvArYiw2BVJX7iMWL2ZaOKYdTaYkGif2qRc37fc=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFHSkFuYjlrQTBEQUFvQmRDc25wM k02U1dNQnl5WmlBR2xuYXRVRjBxcGlIdVJNK0dPQjd1QVhteDZxCitpZWh4WHhOWk9PZGg0MHZR YnB3SllrQ1R3UUFBUW9BT1JZaEJCb2ltQncrRGJ4UXBFNmlkM1FySjZkak9rbGoKQlFKcFoyclZ HeFNBQUFBQUFBUUFEbTFoYm5VeUxESXVOU3N4TGpFeExESXNNZ0FLQ1JCMEt5ZW5ZenBKWS9ZNg pELzlFMTkra0V5Z2lBdzg3R25mNU9YVC9aNXJmRjF2T0pYdW5odzQvY3lLVG1QbWZSZFRyTEdZe E1IeDdBUXd0CllUNy9nQmRnNzhoRE5HVjZHZWpUdHZ0Z1J3dDloT1EwNTh6TG5Wd3hscEYvUERa ZFJLdmdGS25oc1k4QVdIb1cKdnFUTmR1UitEbXRKWmtILzBDMmhsL205WjdJMlhOaWtUNllObXh 0YlcwcGRnclpmdmhRTTVJaVNpcGFReWF3RAo1Q2FvUVN4OHFjN25VdkRLNGs3OG5yaThDNnNydn oxa3creTRoZGZNZnlac1g0MTVVT2tWd3hNK2VEaFJZYXhLClUvenk0dGc3eEo3Ky9lWGdNbnRkT kQ4UDQvOFJ0K3RwTU5nOEd6WWJTQVRUdkNMa0lxbWhrSFZwY21UYVl5aWEKUytDeWE0cDRzaDZK Y0Vib1RiMS9kMVlPRlBJakFXbEtRTjFQdmMyQVk3TWNJbUZEeE4xWGM3a3IxazV1WVQvSQpDaXo wWUlONThxKy9DVERyQm9hNVArSUxqMkw0eFlqMGwrYXh6S0RVYWJSREZpUTB6eXVuRGVoTlF2U2 V1cGxxClE2T2JpV2NKTk1yR0ZZRGx4WFlSN1lRZWVPZHlxQmw0dXFMSnFHcW04VHMzZkFId1RtZ FlDUU5GbUpzcHdrdGkKZjBJZE5LMU5jNkRrRHJoeXVCcDhiT1RQV01wVWpzcW1HSVBDUjdUcjl6 aDFSRncrRVk2bnExbXRud3N2ek1SNgpGWjZZczkvL3gzRlN3ZUJwcU9PQm1paEhGa2pzZzR4VHh WWGsxSzhtR3lZcUU0WFNoU2h3TnNMUW5heGRrU0x6CklrRElUdTVVVjl3SmFsRHFOeGNLRi9UaF ZWcC9QU00zTGhGNVhaMjVJeGQva1Vrd0pUUT0KPVVIOGcKLS0tLS1FTkQgUEdQIE1FU1NBR0UtL S0tLQo= X-Developer-Key: i=petre.rodan@subdimension.ro; a=openpgp; fpr=D80A7FC176151935EC3E5FA9CF269999844E7F30 Based on the sensor datasheet in chapter 7.6 SPI timing, Table 20, during the SPI transfer there is a minimum time interval requirement between the CS being asserted and the first clock edge (tHDSS). This minimum interval of 2.5us is being violated if two consecutive SPI transfers are queued up. Fixes: a0858f0cd28e ("iio: pressure: mprls0025pa add SPI driver") Datasheet: https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/s= iot/en-us/products/sensors/pressure-sensors/board-mount-pressure-sensors/mi= cropressure-mpr-series/documents/sps-siot-mpr-series-datasheet-32332628-cii= d-172626.pdf?download=3Dfalse Signed-off-by: Petre Rodan --- v1 -> v2 use xfer.delay.value as per Marcelo Schmitt's review --- drivers/iio/pressure/mprls0025pa_spi.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/iio/pressure/mprls0025pa_spi.c b/drivers/iio/pressure/= mprls0025pa_spi.c index e6bb75de3411..cf17eb2e7208 100644 --- a/drivers/iio/pressure/mprls0025pa_spi.c +++ b/drivers/iio/pressure/mprls0025pa_spi.c @@ -8,6 +8,7 @@ * https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en= -us/products/sensors/pressure-sensors/board-mount-pressure-sensors/micropre= ssure-mpr-series/documents/sps-siot-mpr-series-datasheet-32332628-ciid-1726= 26.pdf */ =20 +#include #include #include #include @@ -40,17 +41,25 @@ static int mpr_spi_xfer(struct mpr_data *data, const u8= cmd, const u8 pkt_len) { struct spi_device *spi =3D to_spi_device(data->dev); struct mpr_spi_buf *buf =3D spi_get_drvdata(spi); - struct spi_transfer xfer =3D { }; + struct spi_transfer xfers[2] =3D { }; =20 if (pkt_len > MPR_MEASUREMENT_RD_SIZE) return -EOVERFLOW; =20 buf->tx[0] =3D cmd; - xfer.tx_buf =3D buf->tx; - xfer.rx_buf =3D data->buffer; - xfer.len =3D pkt_len; =20 - return spi_sync_transfer(spi, &xfer, 1); + /* + * Dummy transfer with no data, just cause a 2.5us+ delay between the CS = assert + * and the first clock edge as per the datasheet tHDSS timing requirement. + */ + xfers[0].delay.value =3D 2500; + xfers[0].delay.unit =3D SPI_DELAY_UNIT_NSECS; + + xfers[1].tx_buf =3D buf->tx; + xfers[1].rx_buf =3D data->buffer; + xfers[1].len =3D pkt_len; + + return spi_sync_transfer(spi, xfers, ARRAY_SIZE(xfers)); } =20 static const struct mpr_ops mpr_spi_ops =3D { --=20 2.52.0 From nobody Mon Feb 9 14:02:01 2026 Received: from nalicastle.subdimension.ro (nalicastle.subdimension.ro [172.105.74.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A0D5E315760; Wed, 14 Jan 2026 10:07:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=172.105.74.154 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385272; cv=none; b=ir9pHsOZPGHrw4Tbnimapm6Rw18Ux9v74v/Y+1ZUe8xZluvOvHaWhGX0dfG1nbUX3uC5ywDqsIa9QMr5dV5P28O+ZaQCTs364A+Q6GxiX60d2v3ZsApXixJjUQeoKOF5yooskwmLFBPMwRrzkS9ZALou6mu28n5cuTPpIAakhQ4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385272; c=relaxed/simple; bh=uMZ/2qhZPo2FEqne2iM7O/+A6QfQmq0ojRfiwGHhhkY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Zj5pXUqaEu77jPNgBdnFf0Fs4OuZZBDRf1dYwrKj4ImnQfR79jxlyrzYW7/Tzy6cmv/+rdxsE7cbptPkUtwL+Cn8V8c1bYxiBGcHWEILGeJPLWoFopSljvZlAVQLTAD3tiEyyePHEra6lMhwN+Pi1pG5eH0OBh0svJlfoamh2So= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro; spf=pass smtp.mailfrom=subdimension.ro; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b=dYl+Sypx; arc=none smtp.client-ip=172.105.74.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b="dYl+Sypx" Received: from sunspire.home.arpa (unknown [IPv6:2a02:2f0e:300:8a00:e2d5:5eff:fed9:f1c4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by nalicastle.subdimension.ro (Postfix) with ESMTPSA id BE53616020D; Wed, 14 Jan 2026 12:07:46 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=subdimension.ro; s=mail; t=1768385267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FE8a1uFbvKrcSUxZJ2v/byh4ni47RT1TTCYr2BpWGXc=; b=dYl+Sypxr0825pQUZtl4zx9jase79QhOxqYrAGnkcZG4nr6S/w9HLymvpB7yG6F3FI77/2 FkWT8bPxPqslEm3izIuYhfUb2v9r+d0fyElBh/NoEYpIMgBvfnw/0PCA+X5ZZM7JBAjUzg xKMPy6I058Jl06FL0YYSsAycowmagiwsygNFTDcjokXF1V5mKRTG1o/ZQottk1hWttmXSE YMYdj/zdSgMgr6qmPfdwUECGKW8EVIjc2v1/+KfPfmXrwikoGL5lnMb6pph7K99sP8AnPS 1E8r6UjdFptcTNVAcae99IJuPvsfM/ceY0HzqxcnUXm7UMW+Jrw/7+4XTDiR1w== From: Petre Rodan Date: Wed, 14 Jan 2026 12:05:37 +0200 Subject: [PATCH v2 03/13] iio: pressure: mprls0025pa: fix interrupt flag 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: <20260114-mprls_cleanup-v2-3-5868b0045316@subdimension.ro> References: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> In-Reply-To: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Andreas Klinger Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Cameron X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1251; i=petre.rodan@subdimension.ro; h=from:subject:message-id; bh=uMZ/2qhZPo2FEqne2iM7O/+A6QfQmq0ojRfiwGHhhkY=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFHSkFuYjlrQTBEQUFvQmRDc25wM k02U1dNQnl5WmlBR2xuYXRkMUNUQXdEUmowdjc5QTZOOVhpYk8wCnI0QzcrU25IQkdva1hqWTBP eWtjWVlrQ1R3UUFBUW9BT1JZaEJCb2ltQncrRGJ4UXBFNmlkM1FySjZkak9rbGoKQlFKcFoyclh HeFNBQUFBQUFBUUFEbTFoYm5VeUxESXVOU3N4TGpFeExESXNNZ0FLQ1JCMEt5ZW5ZenBKWXkraQ pELzR5M29LKzBoVHF6VUhnRmd0bEowUjcrRWJpVlM5T0NQMDRsMC80bkhPUmRXNm44dzFSQmlJQ mlrdzRxUmxZClE0cHRDNVBLTytWMG9EMlcxSHorYUh4alNXSjk1aGp5Uy9BVXk5RTZZMmR3WnAz dVNKeCtqTEZTNzhKdFZ3S2wKOFo3ckVGL1Q2TERwZTR1T1FWM2dXV0V2RWt6a1loVEhzMlhWOHM 3dHBXNm41YTMzTlBVU1phN0V0OTRVYnJBaQp1c3cvQUh2bGpzdjlqMC9wcm1BMy85NWdnRk1CbV BoQi9uQ25qRm5tY1JlTStVSlA5QTUvVXhScjJkY2dIaGx3CjFrNG9KMHJheVNIdmVUVWVFN2U3N 2JKQ3ArQ29MNUJLNGdvV054OFhySmo2RXd1WWtyZGwzdzU0d1NkU0lBcUcKOEkzSVpVeElmT1l2 NGMrRktiVkpZRE4rRUpqWU5vTWNycllEc1N5TE11bDhReHZnbzJOaktMVDFrTzREZnNhWgplN2V wWXlWQWlZR1UrcEUxWHpsTmxCdE5TMFI3ZjRwVW5GdTladmY3Y0x1aHN1MzBDSnhvVkNKM01HYl BScmdvCkdUd2IreVljdUNYMUVxSVlnUmtDY0xpdFVhRHpEeWJSZ2c2akZLUkJ0bU91bGtwVkZBU klGVXZqbkRnVWQwekcKeVd3NUNOSWhXd1YyRnEreWdmZVVsQlRrSXhZUGFVdjdycXBQWTJaY3FJ eEdHZTFoM2NJZ2ZmbDhFaW16TDhWSgpvYWp6MllXS3VKdlhLN2hRcWhyUjhaVG1lVjUvUmFNaGh sd1VmdFg1RzdQc0pHdXNtbUZnR0V3Q2JXV3dLaU1FCnBETXhkaDBWa0E4NzI1SVA3YzVUMW84Zn N3Z0NRWVM1aGZqZmxaM09kc2luQmUzekh1RT0KPXIzeW8KLS0tLS1FTkQgUEdQIE1FU1NBR0UtL S0tLQo= X-Developer-Key: i=petre.rodan@subdimension.ro; a=openpgp; fpr=D80A7FC176151935EC3E5FA9CF269999844E7F30 Interrupt falling/rising flags should only be defined in the device tree. Fixes: 713337d9143e ("iio: pressure: Honeywell mprls0025pa pressure sensor") Signed-off-by: Petre Rodan --- v1 -> v2 use IRQF_TRIGGER_NONE as Jonathan requested --- drivers/iio/pressure/mprls0025pa.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/iio/pressure/mprls0025pa.c b/drivers/iio/pressure/mprl= s0025pa.c index 2336f2760eae..80985c090aff 100644 --- a/drivers/iio/pressure/mprls0025pa.c +++ b/drivers/iio/pressure/mprls0025pa.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -419,9 +420,7 @@ int mpr_common_probe(struct device *dev, const struct m= pr_ops *ops, int irq) =20 if (data->irq > 0) { ret =3D devm_request_irq(dev, data->irq, mpr_eoc_handler, - IRQF_TRIGGER_RISING, - dev_name(dev), - data); + IRQF_TRIGGER_NONE, dev_name(dev), data); if (ret) return dev_err_probe(dev, ret, "request irq %d failed\n", data->irq); --=20 2.52.0 From nobody Mon Feb 9 14:02:01 2026 Received: from nalicastle.subdimension.ro (nalicastle.subdimension.ro [172.105.74.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B944A318B8F; Wed, 14 Jan 2026 10:07:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=172.105.74.154 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385272; cv=none; b=q8yV8h9XbDyzDjU4nflkQHpYlnNFP5t44YdTGmh0VxTuoDIquK4GUxz3hG9y+Xs184PQ4kFaC3dv7vYEUq3Jxlh3NecQwCdrg8A7InpnmfRUM3FepkL8+vfwcOgIbhNdfmzGTgfBHesY/QX5ZiMFnfPhEXAZQ+2NeV88ijghNr4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385272; c=relaxed/simple; bh=MyBYpvbNZRKGwZI1cJlJc+nir1EyYhuRUsV6herZGGs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WAq+PmJ/uuv+9kQ9QGUDL1+L9IwTWjkRBuhIY8Hw6iiLEcFarL+56Vonhs098s0ATVp9UmHv1emedYZoVm3z0auUm/7Cb3cMFuuN1aHZuheOJX161O09lFpM6s7ORc981FYWdXGsOdE9g6/AbR1GDDPEZ/lgwSbPkDd+RqztkAw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro; spf=pass smtp.mailfrom=subdimension.ro; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b=B7PSLGia; arc=none smtp.client-ip=172.105.74.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b="B7PSLGia" Received: from sunspire.home.arpa (unknown [IPv6:2a02:2f0e:300:8a00:e2d5:5eff:fed9:f1c4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by nalicastle.subdimension.ro (Postfix) with ESMTPSA id 3BF6216020E; Wed, 14 Jan 2026 12:07:47 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=subdimension.ro; s=mail; t=1768385267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VeK6GWPFkFLCqNfKgRvUtjvirqJYFfpQ7IuIEdpk9BY=; b=B7PSLGiaSicEjmyrrHR2//wpvumoPyCWujevGw1yVPF5jT8kECRJ7YnEB2C3I0fK5x26ki RWzwRQiazD3YH9AQHtsjAaMuZaBWdP4qpKl4c7UR+nYDedPbOfF5W4QMrq0EADwWaMbdJY XqkcEnjO3msXx/9w5ONf4Nj3qpKMXvf2QNiFjNqMUh/QZj9T9bTvqVh8m7KIz5+pUltP0t KAg83/VhdLbVlu6+ufWrhEXU5NtNHHN/iLL0ZQbjPho15mR98sHUiEB7CvYKg5g4QDS0+U zz7yyUxfvt3U5D4MFKP8zC8vlaYCZczmJOHwcBDRglZ1zhnexbve8fhN26fhjw== From: Petre Rodan Date: Wed, 14 Jan 2026 12:05:38 +0200 Subject: [PATCH v2 04/13] iio: pressure: mprls0025pa: fix scan_type struct 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: <20260114-mprls_cleanup-v2-4-5868b0045316@subdimension.ro> References: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> In-Reply-To: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Andreas Klinger Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Cameron X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1251; i=petre.rodan@subdimension.ro; h=from:subject:message-id; bh=MyBYpvbNZRKGwZI1cJlJc+nir1EyYhuRUsV6herZGGs=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFHSkFuYjlrQTBEQUFvQmRDc25wM k02U1dNQnl5WmlBR2xuYXRtOGhKcXZNTzkrR3BxQWtUNnVFdE96CjFpaUNpZS9RUzE0WTZ5SGlT c1NsRFlrQ1R3UUFBUW9BT1JZaEJCb2ltQncrRGJ4UXBFNmlkM1FySjZkak9rbGoKQlFKcFoyclp HeFNBQUFBQUFBUUFEbTFoYm5VeUxESXVOU3N4TGpFeExESXNNZ0FLQ1JCMEt5ZW5ZenBKWXpJQg pELzloZm84TnNmaS9aMlJhQXpYdzBzdkhZK1dUN0VUcFhwWW1ZeFZ0VHZLNFBzdkFJNVlsaExNW HNWblk4SmN2ClZwd1cvYncvNE1CL0VNcGpyNEtMRk1iU1RxK2lnTk9HUUJRY0V2cDR6V1k1dzlO Y0FJeFZTUVpsSjJVZHF1YXkKSDJsclRhbmtJekI1RHRtWklKeGpoeVlQZDlTK1cxeDJXU3Vqbkd heVIzSFduS1E3cjd2V3NhT3lpM3RCN0NiWgpPVHd2T3RESXJhcFQrdThkZTRJVDF0OU9WWlJlVC 9RaldoamVuY0lVQS93ZWtCYW1lRWMzSE1wQXFBSlpqRWdEClZ0bmpPeG0vVFJzOFZwSnNTNUZQZ HNYZ2RySERXTXNNYkMyeVM4alRSTTdxOGlGU2hNV01MRHZKeWVqUXBPdUcKZUM5ZjJiRFdBTElZ MFdpZ3o2di9IR2VCNDE3Z2ZpY1ozcGM1SFBVNjlwSHhHLzVRY0FFOEhKWnNpUE9SN01BUAp3VXY 3VDNtMDcvQkpNblhIaVBxNXBxMTdqYWRZdEZRYVFVeTdPNExjWlZFSEM3L3R0R09PTk1OSXNSb0 pEK2FRCkxHMTYwcUo3UUh5c01RYmZHaWxNVzlUSE9LTE10OUpIUFBMUkJuUS91UEtYRVhWVTZjb 2xFNnhBcnRjbEtRSDYKTlE4bWcxSmM5Z3Y4WjdBR2hPSmZtQjZDRVovV2tVbmtCdms1NFFibE1t ekRpQWttYTNJbVBPYzVlaERYS1o2Rgo4bVZUdDdxT0Q1R3k2WlBHYXprbjlvZ1dGMGZNY0djekx YZFI0aWVRZU1WYVlNcERjdTAxTU9xZlpxL1owZDVxCktkQlJvNStmTzd5UC9RQVBpMmJrTTB2VW Q2OW00cjBxNXE5WnY3UWo3ZHE1VloyaEtRQT0KPWtFZGUKLS0tLS1FTkQgUEdQIE1FU1NBR0UtL S0tLQo= X-Developer-Key: i=petre.rodan@subdimension.ro; a=openpgp; fpr=D80A7FC176151935EC3E5FA9CF269999844E7F30 Fix the scan_type sign and realbits assignment. The pressure is a 24bit unsigned int between output_min and output_max. transfer function A: 10% to 90% of 2^24 transfer function B: 2.5% to 22.5% of 2^24 transfer function C: 20% to 80% of 2^24 [MPR_FUNCTION_A] =3D { .output_min =3D 1677722, .output_max =3D 15099494 } [MPR_FUNCTION_B] =3D { .output_min =3D 419430, .output_max =3D 3774874 } [MPR_FUNCTION_C] =3D { .output_min =3D 3355443, .output_max =3D 13421773 } Fixes: 713337d9143e ("iio: pressure: Honeywell mprls0025pa pressure sensor") Signed-off-by: Petre Rodan --- v1 -> v2 no change --- drivers/iio/pressure/mprls0025pa.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/iio/pressure/mprls0025pa.c b/drivers/iio/pressure/mprl= s0025pa.c index 80985c090aff..cec0bb3fc16f 100644 --- a/drivers/iio/pressure/mprls0025pa.c +++ b/drivers/iio/pressure/mprls0025pa.c @@ -161,8 +161,8 @@ static const struct iio_chan_spec mpr_channels[] =3D { BIT(IIO_CHAN_INFO_OFFSET), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', - .realbits =3D 32, + .sign =3D 'u', + .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_CPU, }, --=20 2.52.0 From nobody Mon Feb 9 14:02:01 2026 Received: from nalicastle.subdimension.ro (nalicastle.subdimension.ro [172.105.74.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8D7E638B7BA; Wed, 14 Jan 2026 10:07:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=172.105.74.154 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385274; cv=none; b=K6Pihy/Henvq4YzlZTZFwkDAjrxJBE7hLpfE25KWaJTq+PIvR5tz6DvfLwRgRYeR9Ve0MbntYedGrQyWE6sRZjLgShcF2XYnOQO1cqwR3ksehnijevztUAd+f2ibZ3YxOxMCoVgTkR2v7ynjMF0hMZ34M/fbgAmI0Ctyt6byaGY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385274; c=relaxed/simple; bh=LKvTD8aHqFRmeM95cBnwTmKJ6WfenpacionrWy/Xr1c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CfYu7/N5B623ZVChdrEimTXuUzndmA6V+NgnRcoe5HKzjOVCMQvX6F9f1TjEFs9MjmSf/tvvuPEtIdu44jUSWo2e5HHDmxJD/XaH2HUp5r4BHwFV0os7eZvfBuOsJAVWQt3DNXAaIN2e+eZdyKnFeKH3B33Ztt73nZeQNwlH0u0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro; spf=pass smtp.mailfrom=subdimension.ro; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b=ehac2Mah; arc=none smtp.client-ip=172.105.74.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b="ehac2Mah" Received: from sunspire.home.arpa (unknown [IPv6:2a02:2f0e:300:8a00:e2d5:5eff:fed9:f1c4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by nalicastle.subdimension.ro (Postfix) with ESMTPSA id AE7E516020F; Wed, 14 Jan 2026 12:07:47 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=subdimension.ro; s=mail; t=1768385268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qu9/knj6FOADhot47Dbp3LbH8d/8Y+l67aXoXVo8IKw=; b=ehac2Mah9ZjWMzGO7P4mSH+3OeTEGk5Kp47qYj+IVaLXW9oWRe7+FigrHVIRxrrJMlpLae g+je8M894X6KYkCAj75lOSHZDsRhbsFq8BhrqqP1cK5qYd//YiuBBMf2s01joFt9SUwL54 uyue9V6VDJhUEw1Pok33jFThC608TiFyysbXG6AXouYeSbpb0RYXPi0Lbi0FR6vbvvz/3V k3yVNVIt4YmqDzIHbOyxC6DlRm/Zf5rrsuDxrYUqybnZdnURmNWPRUtm9TlFLmr27krC/g lg0hahAEYFYCJtMr/SxaXMRe7nAm9HYpbAi/++j/mk3/GjK22dc2zEL9ZCa+xA== From: Petre Rodan Date: Wed, 14 Jan 2026 12:05:39 +0200 Subject: [PATCH v2 05/13] iio: pressure: mprls0025pa: fix pressure calculation 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: <20260114-mprls_cleanup-v2-5-5868b0045316@subdimension.ro> References: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> In-Reply-To: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Andreas Klinger Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Cameron X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3697; i=petre.rodan@subdimension.ro; h=from:subject:message-id; bh=LKvTD8aHqFRmeM95cBnwTmKJ6WfenpacionrWy/Xr1c=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFHSkFuYjlrQTBEQUFvQmRDc25wM k02U1dNQnl5WmlBR2xuYXR3YVNpMk1JYXR2L0htT2lmTWZZdFlWCkxwWEtUQ3BJR20wWDVzSExD ejZ6NjRrQ1R3UUFBUW9BT1JZaEJCb2ltQncrRGJ4UXBFNmlkM1FySjZkak9rbGoKQlFKcFoycmN HeFNBQUFBQUFBUUFEbTFoYm5VeUxESXVOU3N4TGpFeExESXNNZ0FLQ1JCMEt5ZW5ZenBKWXg3SA pELzBVWUJOSTFyNkMrZ1loNWZwblJNK0lDN2lxYU1ETXg3Q3pVbmxacmtDd2hJT29TMThvckc1N Ul0NGQzNUNSCk50VWZpTHpwYTBsblNSNTdnNzQxbk95L2p5aFQwNFFDeTgxOFlkNHAwRnJPSGto UFBpSUthaU1GZ2YxYVN3QWoKSThEUzZVOUtxWE95RFJTNmxNR2ZCZy9lSnl6SWRKbkp5aTBtSHl 6OFkzV2h6V1F4eHhHeWZHbCtrZW0vRlNsRwpBRHl3d28weld1MTFoM3lqVWhiVmRzZkVsWlVLS2 tncSttQWd3THREVVJWcC8wNVM2L3hLZk0wbGViUXZyeTRIClg0c1lvTC83OTBNRFkzdkFvRjRET TZmOWFnSlRXNVJaWjd1aWlrVGEvQjBKODRYVmcwdndzdWYrY0lFTmJRKysKcHpVeTdvL3llYlJ1 THczamd6QmdYRTZEYnBwUHZEbno2Vmd2M1hSU1l1eGR5YVNnMzE2cGtvZWdVVVFTWFgxMQpQQU9 HRGVjaE40SFJ1c1kyQmpzQzNZaTdPN1p1Q3BZSHREL0lpZ0JmUHhXemNoU1plSmFQRnF6bzFsbD EwYnlqClduV003MnlvTlRxK0g5YVhwQUZhcENrdVM3cWMxeGVibEpidU5wbkIxV0FiY1FqeWo3O DdDWjF2U3lvRCttQ2YKeXlOazN0clE3NUhlWHVTRkNQQUFTRFA5S2cyNUhKRnJKTjl2OUVpdUlh QkkvU0NUVDExTXp1aHpwTkNhZEllTgpWS21uaENsZWZ5dUtSeG1VWEVRSms2VjVYVG5YbkhnS1F ZaHhrQ0xORnRQT3YwM2s4dVFGVUxxTThlUCtPNWdJCjljeVVxbW9EbXJtNEVEWHZjT2N2UjhwUF FUOXNXeDBnL2xSOTdvRC9mZjNXVi82WEloND0KPUtCL2EKLS0tLS1FTkQgUEdQIE1FU1NBR0UtL S0tLQo= X-Developer-Key: i=petre.rodan@subdimension.ro; a=openpgp; fpr=D80A7FC176151935EC3E5FA9CF269999844E7F30 A sign change is needed for proper calculation of the pressure. This is a minor fix since it only affects users that might have custom silicon from Honeywell that has honeywell,pmin-pascal !=3D 0. Also due to the fact that raw pressure values can not be lower than output_min (400k-3.3M) there is no need to calculate a decimal for the offset. Fixes: 713337d9143e ("iio: pressure: Honeywell mprls0025pa pressure sensor") Signed-off-by: Petre Rodan --- v1 -> v2 slightly changed commit message, added fixes tag --- drivers/iio/pressure/mprls0025pa.c | 26 +++++++++++--------------- drivers/iio/pressure/mprls0025pa.h | 2 -- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/drivers/iio/pressure/mprls0025pa.c b/drivers/iio/pressure/mprl= s0025pa.c index cec0bb3fc16f..2142df7932e8 100644 --- a/drivers/iio/pressure/mprls0025pa.c +++ b/drivers/iio/pressure/mprls0025pa.c @@ -60,7 +60,7 @@ * * Values given to the userspace in sysfs interface: * * raw - press_cnt - * * offset - (-1 * outputmin) - pmin / scale + * * offset - (-1 * outputmin) + pmin / scale * note: With all sensors from the datasheet pmin =3D 0 * which reduces the offset to (-1 * outputmin) */ @@ -314,8 +314,7 @@ static int mpr_read_raw(struct iio_dev *indio_dev, return IIO_VAL_INT_PLUS_NANO; case IIO_CHAN_INFO_OFFSET: *val =3D data->offset; - *val2 =3D data->offset2; - return IIO_VAL_INT_PLUS_NANO; + return IIO_VAL_INT; default: return -EINVAL; } @@ -331,8 +330,9 @@ int mpr_common_probe(struct device *dev, const struct m= pr_ops *ops, int irq) struct mpr_data *data; struct iio_dev *indio_dev; const char *triplet; - s64 scale, offset; u32 func; + s32 tmp; + s64 odelta, pdelta; =20 indio_dev =3D devm_iio_device_alloc(dev, sizeof(*data)); if (!indio_dev) @@ -406,17 +406,13 @@ int mpr_common_probe(struct device *dev, const struct= mpr_ops *ops, int irq) data->outmin =3D mpr_func_spec[data->function].output_min; data->outmax =3D mpr_func_spec[data->function].output_max; =20 - /* use 64 bit calculation for preserving a reasonable precision */ - scale =3D div_s64(((s64)(data->pmax - data->pmin)) * NANO, - data->outmax - data->outmin); - data->scale =3D div_s64_rem(scale, NANO, &data->scale2); - /* - * multiply with NANO before dividing by scale and later divide by NANO - * again. - */ - offset =3D ((-1LL) * (s64)data->outmin) * NANO - - div_s64(div_s64((s64)data->pmin * NANO, scale), NANO); - data->offset =3D div_s64_rem(offset, NANO, &data->offset2); + odelta =3D data->outmax - data->outmin; + pdelta =3D data->pmax - data->pmin; + + data->scale =3D div_s64_rem(div_s64(pdelta * NANO, odelta), NANO, &tmp); + data->scale2 =3D tmp; + + data->offset =3D div_s64(odelta * data->pmin, pdelta) - data->outmin; =20 if (data->irq > 0) { ret =3D devm_request_irq(dev, data->irq, mpr_eoc_handler, diff --git a/drivers/iio/pressure/mprls0025pa.h b/drivers/iio/pressure/mprl= s0025pa.h index d62a018eaff3..b6944b305126 100644 --- a/drivers/iio/pressure/mprls0025pa.h +++ b/drivers/iio/pressure/mprls0025pa.h @@ -53,7 +53,6 @@ enum mpr_func_id { * @scale: pressure scale * @scale2: pressure scale, decimal number * @offset: pressure offset - * @offset2: pressure offset, decimal number * @gpiod_reset: reset * @irq: end of conversion irq. used to distinguish between irq mode and * reading in a loop until data is ready @@ -75,7 +74,6 @@ struct mpr_data { int scale; int scale2; int offset; - int offset2; struct gpio_desc *gpiod_reset; int irq; struct completion completion; --=20 2.52.0 From nobody Mon Feb 9 14:02:01 2026 Received: from nalicastle.subdimension.ro (nalicastle.subdimension.ro [172.105.74.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8D8A038B7BB; Wed, 14 Jan 2026 10:07:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=172.105.74.154 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385275; cv=none; b=dPEYFtzI0nejBwDb0VMuCiZPMw8J9q59r72JlHEowJdIfZRJRjxNP/O48qLZZqSTx7kgVe36R8alWMdDaLV6OVnjt9A/ScShAbCb6QZ/95tR9swpZFfBx3Aaj2RnMnrw6oIki4IEr6mVu1Vz8diKvwk7b+a9GBfqZy7EXQ+f4s8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385275; c=relaxed/simple; bh=iJp9Vwll+ifz/Yk9h4SORJYOakpvJpU30w8HkxpTYcg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=itpiqBOLh9Q65M2MPYne/3pKC73TV4mMzPXxwHhjimv1+2RDdKVU51G/1Nt2174ycTxSbpl7EQFY9nE0MPDBKvQn81eBrmyhMFh0TBqA0J1r5bgysp1AQ/BP/YuQfqhAKo1mGcEVz3NoaOqL+bqX61/ex+YJ5HXiUcdlD0vlBjA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro; spf=pass smtp.mailfrom=subdimension.ro; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b=Sb4tqubH; arc=none smtp.client-ip=172.105.74.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b="Sb4tqubH" Received: from sunspire.home.arpa (unknown [IPv6:2a02:2f0e:300:8a00:e2d5:5eff:fed9:f1c4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by nalicastle.subdimension.ro (Postfix) with ESMTPSA id 3C663160210; Wed, 14 Jan 2026 12:07:48 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=subdimension.ro; s=mail; t=1768385268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UWKSNN7QH3PspslsIKj6evISg3OUPDOE5OBK66GNqpg=; b=Sb4tqubH6zCfw81ch6C0bsn54jirS6mP6ftVraTj9ALS4P0QEphA4ThVfPLteu+A1/6Fo/ fKVQddYJbNbrqs3Aj9hVjxGz2r4ERqP8BgOgzZE4QutmzO+TcQ6yTI3DehQnqZfFo6hE9N TzPlA3PplkKp5Ro3ZuTDbnMps4uC/xYAq1UdaZ9/PklTTy30B9YLeqiLaaKYPQSPmeHIVS wNL2sfSmE3WE95bmzYaYpPqcOFThEpb4Eycb+ZOaC7nOBEbbxDfN4teMveHEWMHAb5ecky nzJBJYXOaJkoiyS6Y0+S//e2MBjWt82HPPxgT5bWrBBN9/QgyUF3/+my+pOOqg== From: Petre Rodan Date: Wed, 14 Jan 2026 12:05:40 +0200 Subject: [PATCH v2 06/13] iio: pressure: mprls0025pa: cleanup includes 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: <20260114-mprls_cleanup-v2-6-5868b0045316@subdimension.ro> References: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> In-Reply-To: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Andreas Klinger Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Cameron X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1582; i=petre.rodan@subdimension.ro; h=from:subject:message-id; bh=iJp9Vwll+ifz/Yk9h4SORJYOakpvJpU30w8HkxpTYcg=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFHSkFuYjlrQTBEQUFvQmRDc25wM k02U1dNQnl5WmlBR2xuYXQ1emJmTmFtcEtEMS9rN2htcVB3TWpICm04eEx5VTgvOEh0bXZUaXcr dlAvRUlrQ1R3UUFBUW9BT1JZaEJCb2ltQncrRGJ4UXBFNmlkM1FySjZkak9rbGoKQlFKcFoycmV HeFNBQUFBQUFBUUFEbTFoYm5VeUxESXVOU3N4TGpFeExESXNNZ0FLQ1JCMEt5ZW5ZenBKWTMrQQ pFQUNETnhNbmliTUdBN1VPR0RjVlJUWWY4b3NRMnJiSUVVTjVIRXJDZUR1eVpuYk9GVmZCLzFOM S9idVZML0t2ClFoMmhBbG5hWCt3SzJKUEhuMFJSMitPcTZ6Q1NIMlhXQmRhU0dFcit1Y0pCOUta a254cENuWnZXWGtObTFJNEgKUmt4OXc1bGpEZlFQVEFpRVdZbGxJUFlWblhtSnZzS1M4MkZoaFB 4U3NHTUpTdXh0M0QxNlJVd01MOVE0dGR6LwpEOVRvUGUrRW5YTEpNYkNRUlZ5WXVqM2wxSWNtUk JDNlVWL0pEbHJ2KzZyY3RMaDRzR3JGYkF5L2V3dldQenplCkNBMEN5bEs1ZjgvUkZiQkxFWUhuV 1NrY1ZBbUlLckhEcUlZWmFMMTVLcVUxNkZBNkovZzZRZ2Z5OXRTeThJUFUKLzFkNmVHVGlGVEdX VENFaXFUYlp4aXdBeXdJYWw3dlNJQ29KNi9CdVViRmdKajFJR2dmRzRMdHRBb0wrNE54UApVR3R CTGM2cHA5SjBtTGRyd0Q4QjgrdmlWakFIbFpDWHhoS241QmtWd1BJWTV0anUyTzFEb2NLaFdGcj EzckVvCkhFVFYwZGk2QkYzbmtQU1RSazA0YWlLanVWaXdSbHhhR01iV0NRZ2pYNGFDeERqdVdhW mFLVWJJSlZPRkdhK2cKT0pxVGNFRU96cDBNZlNzNFFEd3htMTI4aVl2V3lLcUxGZjNqaHl0dWpZ eE9vT3MweDRsNmR5VHF6WWs5OEM5MwpFY3I1bjNZMXZZVFgvbGRYeW1PQ3BjYzB2NHVRd3Rtc1k yNzZPTzQyeTlvSlJWT1NOWnFpYW1OL3dHenN6Y3dBCkVhbmoyMmE0T0hQbUsvN3VhTXM5R0o0cm dReFJtUlUydDJJa1d2TXVYa09manh0SEtUOD0KPW5FZ0IKLS0tLS1FTkQgUEdQIE1FU1NBR0UtL S0tLQo= X-Developer-Key: i=petre.rodan@subdimension.ro; a=openpgp; fpr=D80A7FC176151935EC3E5FA9CF269999844E7F30 Remove unused headers and add required headers as needed. Signed-off-by: Petre Rodan --- v1->v2 split based on Marcelo's request --- drivers/iio/pressure/mprls0025pa.c | 6 ++++++ drivers/iio/pressure/mprls0025pa.h | 3 --- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/iio/pressure/mprls0025pa.c b/drivers/iio/pressure/mprl= s0025pa.c index 2142df7932e8..b0f70c9b503c 100644 --- a/drivers/iio/pressure/mprls0025pa.c +++ b/drivers/iio/pressure/mprls0025pa.c @@ -12,7 +12,12 @@ #include #include #include +#include +#include +#include +#include #include +#include #include #include #include @@ -22,6 +27,7 @@ #include =20 #include +#include #include #include =20 diff --git a/drivers/iio/pressure/mprls0025pa.h b/drivers/iio/pressure/mprl= s0025pa.h index b6944b305126..eab877da3451 100644 --- a/drivers/iio/pressure/mprls0025pa.h +++ b/drivers/iio/pressure/mprls0025pa.h @@ -12,10 +12,7 @@ #define _MPRLS0025PA_H =20 #include -#include -#include #include -#include #include =20 #include --=20 2.52.0 From nobody Mon Feb 9 14:02:01 2026 Received: from nalicastle.subdimension.ro (nalicastle.subdimension.ro [172.105.74.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5BEE538B989; Wed, 14 Jan 2026 10:07:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=172.105.74.154 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385275; cv=none; b=J+/FbRb+Exmf1akJ74sCz/YftNJOGYEneSoKsNiixgFucQPQhjMQxfhFwlazn1n68ns8S6haUwIn6sD6J+7G2e6x8kvDjUPMjK9L77K5BhnIYkr3w+C65QNwVvDgPOgndMbNJnrhBHfRIGX6mZbPwDW8b4P9xF7F7sioZs/pOvw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385275; c=relaxed/simple; bh=K6fvhnsBPRpbmlGfScciuaTpzFhOGbFk4c7hDf3rrtk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QjUqhmsaOlmIhtq9j6C4pWXh/1DPU77qTcBv2wM7ilnXaSNb1eZ1yxpkR2PHazWcyEFCt1KHwsoArzUK51TqBeI6ybE7WHZ0HRm1rldpXPebLxjGI11wb0CAYdncs5hHFki+8WD4bN4SK+MpwAHcFnp9vo/9iFgtdu9G5NkQB5Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro; spf=pass smtp.mailfrom=subdimension.ro; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b=JTuZkQhR; arc=none smtp.client-ip=172.105.74.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b="JTuZkQhR" Received: from sunspire.home.arpa (unknown [IPv6:2a02:2f0e:300:8a00:e2d5:5eff:fed9:f1c4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by nalicastle.subdimension.ro (Postfix) with ESMTPSA id C6CC6160211; Wed, 14 Jan 2026 12:07:48 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=subdimension.ro; s=mail; t=1768385269; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=h4cO0bdwqYtq2NStQRC+vyXtJPhUo/iR+o2fI1FK+sk=; b=JTuZkQhRw1W7NPvmxGLZebUW1gMWJW9tr7sWaU1F0Z8rC2h3fvBxxcFtBuU5dR3JBCcxZB GSO4pqUteWVq622JBF5rCQC2j5wLTAOF2g9tgvYGEXqcnIuCd54cO+m+p8f/noBOhYdEOT HHH+KHDCjm1/TNSh9630ZHn4ArLFqKXxEOP7J4W3Oy3GhxhJPXXC2mZqKWPjX17dPs4WyZ 0wzjAhKnor7BJY0PwIzGuCLO97H5pE1TYvUCwqXORWcmq1iKnxesC3PjRXtPNjm+AA1BnF iVnB6EAqmiq/7iWqmgD5H8LTrgIySXbXI8Uc81tXFJvqMxJdZILKgDsN0FXKJg== From: Petre Rodan Date: Wed, 14 Jan 2026 12:05:41 +0200 Subject: [PATCH v2 07/13] iio: pressure: mprls0025pa: remove redundant declarations 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: <20260114-mprls_cleanup-v2-7-5868b0045316@subdimension.ro> References: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> In-Reply-To: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Andreas Klinger Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Cameron X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=649; i=petre.rodan@subdimension.ro; h=from:subject:message-id; bh=K6fvhnsBPRpbmlGfScciuaTpzFhOGbFk4c7hDf3rrtk=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFHSkFuYjlrQTBEQUFvQmRDc25wM k02U1dNQnl5WmlBR2xuYXVDUlMrMll1T2ZtaVphZDFmMEcrYXVzCnp1aStPODB4NFFrVXlJRGRS c2pEVm9rQ1R3UUFBUW9BT1JZaEJCb2ltQncrRGJ4UXBFNmlkM1FySjZkak9rbGoKQlFKcFoycmd HeFNBQUFBQUFBUUFEbTFoYm5VeUxESXVOU3N4TGpFeExESXNNZ0FLQ1JCMEt5ZW5ZenBKWStLMw pELzlLY2tGWGIwQkdReFdpai9JVVoxWmtkck8rYk9SOVI4Wi8vU1g1T254emR0dE93MUZBSzhKS 2VHek1TNTVwClRoWVJWcFp0RDJGWUwzOVR5cy9lQVRyeWhWQjA5QVBoNS9sbkJYSFdWNi8rZW96 R1IrdWxOWU9hU1UvUjBmT0cKTG1JSXpsaDBscVc2K3N0R1FRbHhMejJRTmdydEdwMmJhQkpGQTJ lcjVJcTZJT1RaYkhUMHgyOWR0VnRuRkFCbgpSWU5JVFY2UFJ2STAzekpLeDZLL21pc3lKZ2ZqZU FCMTZxejN5OEhkbXhCdk9ucnJkWjV2aXg2THFqZUdiY09YCmhFTFRuRjFvcmZPT1gwQ2tSTVFxR k5vWkdUeDYvUzlRejh0THY1MWVkRklvMkFRZHJpRUpBZ3RzWWF4ZDZ2bXUKM08wM0lkQnVJL3Bt M1ZweElYTDdoVlZGdC9hemJ0L3poOXNGaFRIZUJXaEx1a2hFZDlUUVdkS2x6ZmI0OWhBVQpxekt mQ0dPQjRRVGNOQVdLVExIVlhnSTZNVHFOK1cyQnM4ZmJ2VENsL2Y1bXFyeWVINnpHblN2bkR3TV B2NGgwCmxzc1M4dkNVUm15VkJkWlF1UDMxNzlxekp5QkxXcndlcGVOWFZHN3gxU2l1alVqNThYT jRaSjEwdTVaU2hROFUKd1hMWkk5MmZpeC9hMU1QcXpRV3MrSzBMNVl1NDJEN3poam1vQWU1ME5h a0kvUVlQOTF0cDJ4WEhOcFdOVm44cgpTQ0Z1bmlTb09hZGV3djJVUFJpNUJiU1FvU1ZiYWVXMjg vNkVNTjdoSXpmUGdwbndHL0NLMExIWEFvbkxSQnhvCklqVTkvU3ovOUpNM0xCcWJVNmN3SkU4OX hIdkZLenhCcnFlNnRRVlpENk5qL0pzcExzOD0KPUkrUjcKLS0tLS1FTkQgUEdQIE1FU1NBR0UtL S0tLQo= X-Developer-Key: i=petre.rodan@subdimension.ro; a=openpgp; fpr=D80A7FC176151935EC3E5FA9CF269999844E7F30 Remove the iio_chan_spec and iio_dev structs which are already defined in the included iio.h header. Signed-off-by: Petre Rodan --- v1 -> v2 split based on Marcelo's request --- drivers/iio/pressure/mprls0025pa.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/iio/pressure/mprls0025pa.h b/drivers/iio/pressure/mprl= s0025pa.h index eab877da3451..e34253af8e23 100644 --- a/drivers/iio/pressure/mprls0025pa.h +++ b/drivers/iio/pressure/mprls0025pa.h @@ -25,9 +25,6 @@ =20 struct device; =20 -struct iio_chan_spec; -struct iio_dev; - struct mpr_data; struct mpr_ops; =20 --=20 2.52.0 From nobody Mon Feb 9 14:02:01 2026 Received: from nalicastle.subdimension.ro (nalicastle.subdimension.ro [172.105.74.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5D6C138B98B; Wed, 14 Jan 2026 10:07:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=172.105.74.154 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385275; cv=none; b=B4H3YTUFmVf5BryETeeDHzJe/U5KLsPlDTQK8uoH1IZKObcETmZnrK0JI3R+j0s1495n6GKIhg0O58rytW8qCheVxam331RIpKLYTJDir210srNHOQOqhUd5iL0KViLun2rx2Qfl9sGz/YpN5kwt8RDOF/0NiFFSG3aC7vvVrV8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385275; c=relaxed/simple; bh=F7QdlnZXr1YFo0d62ot4N6Uu1lCneEx3/osA687r0oc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hS434Jj9kOLg6w+wuzh4JOUBMjPdQF2Jpjj9mRwaJlTUnJZxiQkBGAw+3raLJopzx2bw2DSEOsQMMfvjm1PhViWgCVQtbg3Ov3cusP6gEurNPC8rmdUosKOMs3TCVQuYkgudscliO64mTJwnErtFGoedefNOZbj5Iw91JnYibrw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro; spf=pass smtp.mailfrom=subdimension.ro; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b=ohMzwctc; arc=none smtp.client-ip=172.105.74.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b="ohMzwctc" Received: from sunspire.home.arpa (unknown [IPv6:2a02:2f0e:300:8a00:e2d5:5eff:fed9:f1c4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by nalicastle.subdimension.ro (Postfix) with ESMTPSA id 4209F160212; Wed, 14 Jan 2026 12:07:49 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=subdimension.ro; s=mail; t=1768385269; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LQiBm8/EVxjFZgRPWykvrrYwBnm8p+PJbdIHgiGhIEk=; b=ohMzwctcM64WdUK6lzl/qqVhT51lzX77yeC/Y10oZ/QCYmigmq0mKW9xFZZ+V33tDBoHMF 74DEkam/ybv1DgDg9FfED4R04Sf7zWvdqgUEBG4HicSXlv9JsOPd/9+oz0swMXLUuj3tQs ELntFG96LQ1bkqvNXMNyyFhIbrLSmELvBXQGlonP4+Z0rXNonvwm/tAN789LDDri5g+BX6 RFvzknSny4tXDK6ij+3a/jrJvAg04ibVt0TPAOCYeSE+bV2GGD46lVoA37QqlGZYBbMrqh sypkAbtdY0w4P7DojOZ6zsww6r7KMKJp+9nHcvE0gr4izwebuQEwjpAMS7pTnQ== From: Petre Rodan Date: Wed, 14 Jan 2026 12:05:42 +0200 Subject: [PATCH v2 08/13] iio: pressure: mprls0025pa: rename buffer variable 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: <20260114-mprls_cleanup-v2-8-5868b0045316@subdimension.ro> References: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> In-Reply-To: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Andreas Klinger Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Cameron X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3565; i=petre.rodan@subdimension.ro; h=from:subject:message-id; bh=F7QdlnZXr1YFo0d62ot4N6Uu1lCneEx3/osA687r0oc=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFHSkFuYjlrQTBEQUFvQmRDc25wM k02U1dNQnl5WmlBR2xuYXVNeEVJRWJlYmFKVG1kQ0tNbmFjRERrCm9RdFdtMWYxYWF4WGpaNlF5 N1NWRm9rQ1R3UUFBUW9BT1JZaEJCb2ltQncrRGJ4UXBFNmlkM1FySjZkak9rbGoKQlFKcFoycmp HeFNBQUFBQUFBUUFEbTFoYm5VeUxESXVOU3N4TGpFeExESXNNZ0FLQ1JCMEt5ZW5ZenBKWTZqRA pFQUNBNkkwWGhHeXZvZTZ1eE1ueXhGTXZiVmlvTmtrcUQxTHBNc0VVUEdQWCtTZWdNOEFzdUZEU nJCSGNnUWtXCnhBdjRlOEh2M09pcEEzV3dXbGxydi96eWVXaVZvcE9FcmwvMGtTclRadjQ3R01Q VStQdjFSZCtHZXBNSmRERU8Ka2tTOWMxRC9rbEc5dHg4UmJoWGV4bnZKQWRwekVScDZuZDNvTEt OK1VkVTVBUkJyOVNLMGhFMHByb2pvMUY1awprQjFaRkZKSVhNU1ZuZVFMU2hqQkppcjU3SStHMm NESkl4V0Rmb0h5NW9zSVJncjVzMTFpRnJQcVRpY0x4WFRRCnpOY3ZMMFM0MXNwQ3Z5TFFvdmQvK 2h6d1RVM3ZzYndCUzdmVEdkL3VzRlVYVnF6TEE5eFN5N01yTlA3TGxWRmEKQlJzSEc2cWROd2Na MHdLclNZS3h6VjArNnowMm5pbllnKzNYUnY5Tm9ZbzZFdEZsNmhMRk5RN2xyNjJra3QyegpRVzJ CbEVpejNxUXVqYy9CbHMzQjhPS2Q3Ri9HanhoVHlhaHJsUTMrQnhORG11cW9yNUJhYkJoQ0xzNk R2R1E3Cll0MXlvcjNZU1BOVlFLemRjL08zVDFSQmhoMkJHWlhLZlJxQThtWWw5cUFLSXh3YnNzd VZ6TUhkS0M5Mm1QRVQKTGF4SkhEeXRNVkJnSzJOeWFETGhsRk5CYmphNjVITG5QZmlMMlc4TTRy cVNkZVJxQSsyOWpDNTRKQU9IWkJiNApCMnpudTZDNzE0SERTV3VCWkYxWjVKdFUyeE1MOEx4bVV ra2l1dm1zSVZXTTNhUUVPZVMrN0wyaktFUVM2MjF4Ck92Mk13a0I2QVJ6ZjRITkRyVlEweFJyZk 95S1dPWFVtSi9wUlpOZStCRFB6UzQ4Y0s1bz0KPUc5TWUKLS0tLS1FTkQgUEdQIE1FU1NBR0UtL S0tLQo= X-Developer-Key: i=petre.rodan@subdimension.ro; a=openpgp; fpr=D80A7FC176151935EC3E5FA9CF269999844E7F30 For the reason of better naming consistency rename priv->buffer into priv->rx_buf since tx_buf will get introduced in the next patch. Signed-off-by: Petre Rodan --- v1 -> v2 no functional change --- drivers/iio/pressure/mprls0025pa.c | 10 +++++----- drivers/iio/pressure/mprls0025pa.h | 4 ++-- drivers/iio/pressure/mprls0025pa_i2c.c | 4 ++-- drivers/iio/pressure/mprls0025pa_spi.c | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/iio/pressure/mprls0025pa.c b/drivers/iio/pressure/mprl= s0025pa.c index b0f70c9b503c..fd9c8ea61eb3 100644 --- a/drivers/iio/pressure/mprls0025pa.c +++ b/drivers/iio/pressure/mprls0025pa.c @@ -238,7 +238,7 @@ static int mpr_read_pressure(struct mpr_data *data, s32= *press) ret); return ret; } - if (!(data->buffer[0] & MPR_ST_ERR_FLAG)) + if (!(data->rx_buf[0] & MPR_ST_ERR_FLAG)) break; } if (i =3D=3D nloops) { @@ -251,15 +251,15 @@ static int mpr_read_pressure(struct mpr_data *data, s= 32 *press) if (ret < 0) return ret; =20 - if (data->buffer[0] & MPR_ST_ERR_FLAG) { + if (data->rx_buf[0] & MPR_ST_ERR_FLAG) { dev_err(data->dev, - "unexpected status byte %02x\n", data->buffer[0]); + "unexpected status byte %02x\n", data->rx_buf[0]); return -ETIMEDOUT; } =20 - *press =3D get_unaligned_be24(&data->buffer[1]); + *press =3D get_unaligned_be24(&data->rx_buf[1]); =20 - dev_dbg(dev, "received: %*ph cnt: %d\n", ret, data->buffer, *press); + dev_dbg(dev, "received: %*ph cnt: %d\n", ret, data->rx_buf, *press); =20 return 0; } diff --git a/drivers/iio/pressure/mprls0025pa.h b/drivers/iio/pressure/mprl= s0025pa.h index e34253af8e23..119ebb0ba567 100644 --- a/drivers/iio/pressure/mprls0025pa.h +++ b/drivers/iio/pressure/mprls0025pa.h @@ -54,7 +54,7 @@ enum mpr_func_id { * @chan: channel values for buffered mode * @chan.pres: pressure value * @chan.ts: timestamp - * @buffer: raw conversion data + * @rx_buf: raw conversion data */ struct mpr_data { struct device *dev; @@ -75,7 +75,7 @@ struct mpr_data { s32 pres; aligned_s64 ts; } chan; - u8 buffer[MPR_MEASUREMENT_RD_SIZE] __aligned(IIO_DMA_MINALIGN); + u8 rx_buf[MPR_MEASUREMENT_RD_SIZE] __aligned(IIO_DMA_MINALIGN); }; =20 struct mpr_ops { diff --git a/drivers/iio/pressure/mprls0025pa_i2c.c b/drivers/iio/pressure/= mprls0025pa_i2c.c index 79811fd4a02b..36da0059b19f 100644 --- a/drivers/iio/pressure/mprls0025pa_i2c.c +++ b/drivers/iio/pressure/mprls0025pa_i2c.c @@ -30,8 +30,8 @@ static int mpr_i2c_read(struct mpr_data *data, const u8 u= nused, const u8 cnt) if (cnt > MPR_MEASUREMENT_RD_SIZE) return -EOVERFLOW; =20 - memset(data->buffer, 0, MPR_MEASUREMENT_RD_SIZE); - ret =3D i2c_master_recv(client, data->buffer, cnt); + memset(data->rx_buf, 0, MPR_MEASUREMENT_RD_SIZE); + ret =3D i2c_master_recv(client, data->rx_buf, cnt); if (ret < 0) return ret; else if (ret !=3D cnt) diff --git a/drivers/iio/pressure/mprls0025pa_spi.c b/drivers/iio/pressure/= mprls0025pa_spi.c index cf17eb2e7208..247b65226bb9 100644 --- a/drivers/iio/pressure/mprls0025pa_spi.c +++ b/drivers/iio/pressure/mprls0025pa_spi.c @@ -56,7 +56,7 @@ static int mpr_spi_xfer(struct mpr_data *data, const u8 c= md, const u8 pkt_len) xfers[0].delay.unit =3D SPI_DELAY_UNIT_NSECS; =20 xfers[1].tx_buf =3D buf->tx; - xfers[1].rx_buf =3D data->buffer; + xfers[1].rx_buf =3D data->rx_buf; xfers[1].len =3D pkt_len; =20 return spi_sync_transfer(spi, xfers, ARRAY_SIZE(xfers)); --=20 2.52.0 From nobody Mon Feb 9 14:02:01 2026 Received: from nalicastle.subdimension.ro (nalicastle.subdimension.ro [172.105.74.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5C6D138B98A; Wed, 14 Jan 2026 10:07:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=172.105.74.154 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385275; cv=none; b=KJ9hgWhQw+AqujgOn4STG0YT7xYR4LdUp/LEFObk6q7ajSnq72yuT/qG4B9naWHj2gJY67FpiUtbxb8bM/Q3ArMCjZSufe6SBN7/qavlDT1UU8xr5xfnwBQ5vREuQZqPARhfWXEbL4u65n0uHfvEroQM3nLRBeDgL50WPFwoLcM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385275; c=relaxed/simple; bh=r7/wsy7HB+4f1693kJN+/vfUoCR858XPerJPnyAp77Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TuSqiF2e5J31NrRrNRIiTQ3XUtviw2+VIDHkav0KxYZ/2Rp+snZahEqcsMLXgxUXDPMsX9A7uIeqy8R4W3PLBTjj/3sHGOuqvt3O0tWBffZRfjxSguwip0vnNEil0fzVLtYMNmKcB5KprT+5H5P1yk9kj6nDOYbHnIUXYWnc2us= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro; spf=pass smtp.mailfrom=subdimension.ro; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b=x+gxoIwe; arc=none smtp.client-ip=172.105.74.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b="x+gxoIwe" Received: from sunspire.home.arpa (unknown [IPv6:2a02:2f0e:300:8a00:e2d5:5eff:fed9:f1c4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by nalicastle.subdimension.ro (Postfix) with ESMTPSA id BCF6D160213; Wed, 14 Jan 2026 12:07:49 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=subdimension.ro; s=mail; t=1768385270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fu6qccZ+dkp0wdqBIfjyjgctv04oNHIa2SQYNxr+5+8=; b=x+gxoIwe6YOddeWU5MidyY514/OqWaebx7DHMTTx9IgrQPWtMjEAaeJsrffeO2RBilgz9C 99psYXr3myN1k50BbubhWHtppLPmtNq2bPl59VlgMUOPbEfZ+P2yEtD6rB5CULXekutoZ3 mLXvxLTOU+iFgZZLbq5dUVgBwEJ3X1iq/eG6CU13flK8dxjsxvGqQwbRLLr9Ytx5xx74xp SfX+QwdQ5edRDBuRR3Lj9FL1H6sXUfFZ9iMBRtSdmAR9ENc7DC0H3Jfvy1WNBk70PIe7yN ttjlEhd5CunHKUZyGzySo0OMIsANFfJKS88xWaTn9ZJu1JSog0zLIPEQKfXs6g== From: Petre Rodan Date: Wed, 14 Jan 2026 12:05:43 +0200 Subject: [PATCH v2 09/13] iio: pressure: mprls0025pa: introduce tx buffer 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: <20260114-mprls_cleanup-v2-9-5868b0045316@subdimension.ro> References: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> In-Reply-To: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Andreas Klinger Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Cameron , Marcelo Schmitt X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=4744; i=petre.rodan@subdimension.ro; h=from:subject:message-id; bh=r7/wsy7HB+4f1693kJN+/vfUoCR858XPerJPnyAp77Y=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFHSkFuYjlrQTBEQUFvQmRDc25wM k02U1dNQnl5WmlBR2xuYXVYQS9JL1JodEE2Z09sQStyYk4vc2JnCkQwTHZmWlUxZmRudE1PUEUr ZVdnc29rQ1R3UUFBUW9BT1JZaEJCb2ltQncrRGJ4UXBFNmlkM1FySjZkak9rbGoKQlFKcFoycmx HeFNBQUFBQUFBUUFEbTFoYm5VeUxESXVOU3N4TGpFeExESXNNZ0FLQ1JCMEt5ZW5ZenBKWThZMA pELzkrNXNRZWM5ZGxnVjV1Vmxhck1wNGl2ekl6TU04bXo5eWcrcnp0dmxVRXUxcHVsMW55TzFad 2lkWi9CU0hCCjA2V1NEQ3l5WjcyVlMrNEUvZEY1U0JBWVNGSVF0NlBSaUw3NjhhYmp4RjJsODVJ dE16am1EZGg0VXVnNTFack8KMnhmM1pPbmRmdkV5VEE0bm5kaVZRQjhHTDN1K3FqbERaNjFpTks rYzV4SnhYUzlQU2xsMjNvM01PWG04dzdIQgpmUlFISStiS0JUREJMVTVEUEZlZnY5YnZCZG0xQU 9kaUFJLzdwVHQzZnMrWVY4ZSsyK2RVWFk2OG1xZUVRVnp1CnpiSnZBRkVhSFJvZTdtR1FRMXFDY XpsWGhjMEFOck5LNWFZdTJ4TVVXVDVPVUtvUkRzbmRyNm5QMk9GUGU0TlIKZkJ0MGFnUFZlVlRm WGdVM2RPU0phWnNRcmZvVVpJbEd2SnVtR094ZXR4Q3BlY2dOUmpvcnp0OTJYYjBEOTB6TQpCZG5 COXlZbUZCRERuU0xod1lWZ3NBcUtqaTFhWTRVd1VLZDEvYTJCNHU3QjF2dmNIeEdKQS9VS3BNY0 pkdmt5ClVLYmdWZklqR0xpWWtaUThoL2xlSGg2RStVSDJuSElHMUFPZHQzUGViV0pUMDhSQUwzR jJTMkRmQmo4WXZGbGQKeG9QQjltaHltMVZJcTlnWWxROVRaUXRYSW1WbmlGcFFhaHpNQVcrb0NJ VW5ka0t1ZFU2N01QcUYwM2pHaUNxMAprTzVOVUlQVHQ1TkIwSHk3RW92UjJVNlAwN1phaXM0SkY 0aU5LQ1hJUnBMd08waEdPbDc5TGlIUVBGM0dXT1dyCmVHeTZ3MjdkV3RpVjJ5cGZ6R2ljZ01UcV JmRzlEOW1Xbm15eG5xRTBLR0syTk02ZUxNbz0KPTBmdCsKLS0tLS1FTkQgUEdQIE1FU1NBR0UtL S0tLQo= X-Developer-Key: i=petre.rodan@subdimension.ro; a=openpgp; fpr=D80A7FC176151935EC3E5FA9CF269999844E7F30 Use a tx_buf that is part of the priv struct for transferring data to the sensor instead of relying on a devm_kzalloc()-ed array. Remove the .init operation in the process. Reviewed-by: Marcelo Schmitt Signed-off-by: Petre Rodan --- v1 -> v2 no functional change --- drivers/iio/pressure/mprls0025pa.c | 4 ---- drivers/iio/pressure/mprls0025pa.h | 3 ++- drivers/iio/pressure/mprls0025pa_i2c.c | 10 ++-------- drivers/iio/pressure/mprls0025pa_spi.c | 24 ++---------------------- 4 files changed, 6 insertions(+), 35 deletions(-) diff --git a/drivers/iio/pressure/mprls0025pa.c b/drivers/iio/pressure/mprl= s0025pa.c index fd9c8ea61eb3..7532b2e74413 100644 --- a/drivers/iio/pressure/mprls0025pa.c +++ b/drivers/iio/pressure/mprls0025pa.c @@ -363,10 +363,6 @@ int mpr_common_probe(struct device *dev, const struct = mpr_ops *ops, int irq) return dev_err_probe(dev, ret, "can't get and enable vdd supply\n"); =20 - ret =3D data->ops->init(data->dev); - if (ret) - return ret; - ret =3D device_property_read_u32(dev, "honeywell,transfer-function", &func); if (ret) diff --git a/drivers/iio/pressure/mprls0025pa.h b/drivers/iio/pressure/mprl= s0025pa.h index 119ebb0ba567..9f43273e635f 100644 --- a/drivers/iio/pressure/mprls0025pa.h +++ b/drivers/iio/pressure/mprls0025pa.h @@ -55,6 +55,7 @@ enum mpr_func_id { * @chan.pres: pressure value * @chan.ts: timestamp * @rx_buf: raw conversion data + * @tx_buf: output buffer */ struct mpr_data { struct device *dev; @@ -76,10 +77,10 @@ struct mpr_data { aligned_s64 ts; } chan; u8 rx_buf[MPR_MEASUREMENT_RD_SIZE] __aligned(IIO_DMA_MINALIGN); + u8 tx_buf[MPR_MEASUREMENT_RD_SIZE]; }; =20 struct mpr_ops { - int (*init)(struct device *dev); int (*read)(struct mpr_data *data, const u8 cmd, const u8 cnt); int (*write)(struct mpr_data *data, const u8 cmd, const u8 cnt); }; diff --git a/drivers/iio/pressure/mprls0025pa_i2c.c b/drivers/iio/pressure/= mprls0025pa_i2c.c index 36da0059b19f..a0bbc6af9283 100644 --- a/drivers/iio/pressure/mprls0025pa_i2c.c +++ b/drivers/iio/pressure/mprls0025pa_i2c.c @@ -17,11 +17,6 @@ =20 #include "mprls0025pa.h" =20 -static int mpr_i2c_init(struct device *unused) -{ - return 0; -} - static int mpr_i2c_read(struct mpr_data *data, const u8 unused, const u8 c= nt) { int ret; @@ -44,9 +39,9 @@ static int mpr_i2c_write(struct mpr_data *data, const u8 = cmd, const u8 unused) { int ret; struct i2c_client *client =3D to_i2c_client(data->dev); - u8 wdata[MPR_PKT_SYNC_LEN] =3D { cmd }; =20 - ret =3D i2c_master_send(client, wdata, MPR_PKT_SYNC_LEN); + data->tx_buf[0] =3D cmd; + ret =3D i2c_master_send(client, data->tx_buf, MPR_PKT_SYNC_LEN); if (ret < 0) return ret; else if (ret !=3D MPR_PKT_SYNC_LEN) @@ -56,7 +51,6 @@ static int mpr_i2c_write(struct mpr_data *data, const u8 = cmd, const u8 unused) } =20 static const struct mpr_ops mpr_i2c_ops =3D { - .init =3D mpr_i2c_init, .read =3D mpr_i2c_read, .write =3D mpr_i2c_write, }; diff --git a/drivers/iio/pressure/mprls0025pa_spi.c b/drivers/iio/pressure/= mprls0025pa_spi.c index 247b65226bb9..8c8c726f703f 100644 --- a/drivers/iio/pressure/mprls0025pa_spi.c +++ b/drivers/iio/pressure/mprls0025pa_spi.c @@ -19,34 +19,15 @@ =20 #include "mprls0025pa.h" =20 -struct mpr_spi_buf { - u8 tx[MPR_MEASUREMENT_RD_SIZE] __aligned(IIO_DMA_MINALIGN); -}; - -static int mpr_spi_init(struct device *dev) -{ - struct spi_device *spi =3D to_spi_device(dev); - struct mpr_spi_buf *buf; - - buf =3D devm_kzalloc(dev, sizeof(*buf), GFP_KERNEL); - if (!buf) - return -ENOMEM; - - spi_set_drvdata(spi, buf); - - return 0; -} - static int mpr_spi_xfer(struct mpr_data *data, const u8 cmd, const u8 pkt_= len) { struct spi_device *spi =3D to_spi_device(data->dev); - struct mpr_spi_buf *buf =3D spi_get_drvdata(spi); struct spi_transfer xfers[2] =3D { }; =20 if (pkt_len > MPR_MEASUREMENT_RD_SIZE) return -EOVERFLOW; =20 - buf->tx[0] =3D cmd; + data->tx_buf[0] =3D cmd; =20 /* * Dummy transfer with no data, just cause a 2.5us+ delay between the CS = assert @@ -55,7 +36,7 @@ static int mpr_spi_xfer(struct mpr_data *data, const u8 c= md, const u8 pkt_len) xfers[0].delay.value =3D 2500; xfers[0].delay.unit =3D SPI_DELAY_UNIT_NSECS; =20 - xfers[1].tx_buf =3D buf->tx; + xfers[1].tx_buf =3D data->tx_buf; xfers[1].rx_buf =3D data->rx_buf; xfers[1].len =3D pkt_len; =20 @@ -63,7 +44,6 @@ static int mpr_spi_xfer(struct mpr_data *data, const u8 c= md, const u8 pkt_len) } =20 static const struct mpr_ops mpr_spi_ops =3D { - .init =3D mpr_spi_init, .read =3D mpr_spi_xfer, .write =3D mpr_spi_xfer, }; --=20 2.52.0 From nobody Mon Feb 9 14:02:01 2026 Received: from nalicastle.subdimension.ro (nalicastle.subdimension.ro [172.105.74.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 61B7338B98D; Wed, 14 Jan 2026 10:07:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=172.105.74.154 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385275; cv=none; b=STjbI8IbgPb2EBayoL3nhHRGXWlDIADRFcoRIFbbDVEEn7OY7RecRHnLcUkRb3ZELnMFcRr20tLAFAkXtpGGM8985/bLpvKOzEfnQ9GLYbS8Wxsr4EWPtG3O25ufVDGRlylZ9QUWvhdtBICLUArAgn/TZONMzpGkCXHD9gR35fA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385275; c=relaxed/simple; bh=LNYRbWpUSpQ5HqaUhe3nMKQLB0PShCOY0dkwhJh6i4I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ndc6oWiaDgUEIY1os3Fz1czsGkFzSzSs2gMVkLUVpPYCVdCNqCk7b8gccS1l2WkkPPTxPJrxT20zPw3YD0govTgD16ID4vAtG6XRt1dai3Qo374dsfcQUDCPe3ddHJhKlk9Ix8i+3kIiAuo179SNO40VYpgE44wI9ZLlen3WhD4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro; spf=pass smtp.mailfrom=subdimension.ro; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b=4KWbzUBY; arc=none smtp.client-ip=172.105.74.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b="4KWbzUBY" Received: from sunspire.home.arpa (unknown [IPv6:2a02:2f0e:300:8a00:e2d5:5eff:fed9:f1c4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by nalicastle.subdimension.ro (Postfix) with ESMTPSA id 7DC14160214; Wed, 14 Jan 2026 12:07:50 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=subdimension.ro; s=mail; t=1768385270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nYflhC/k/24Qffm/I8AJ/uvXlBOpnIFA1VYzH5roRDc=; b=4KWbzUBYT/VcZoJhw/UayY1zdU5Pq9bi3O7k22c+xF5hCXODfL3gTREJQ6Lk6tztBcuIYo i2oreubTzSuRxWmNgRSdRk4qs5UR1CMKL83XbsYjksn8pLCLbkBVsU0PItY5GR08ucCAUr 8LJQ+JQy5AnVohRJjnNrReKmhNpPOMfUTAkBAB+EkD7GcqBqMDndjKMRBR0+sUIwpq8tfD 5n27ZbVkcE+Vh7SvB86wX81LLAFfBOhb3gzXEul/eaFwQfPr1HnYPVMfli018UI17AgLOQ 49y68QN1N2Reh/+G4J+PT3c75d0eSteAaTENwUpDGv707Q4wZ+kTLMMJg+vtow== From: Petre Rodan Date: Wed, 14 Jan 2026 12:05:44 +0200 Subject: [PATCH v2 10/13] iio: pressure: mprls0025pa: move memset to core 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: <20260114-mprls_cleanup-v2-10-5868b0045316@subdimension.ro> References: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> In-Reply-To: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Andreas Klinger Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Cameron X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2247; i=petre.rodan@subdimension.ro; h=from:subject:message-id; bh=LNYRbWpUSpQ5HqaUhe3nMKQLB0PShCOY0dkwhJh6i4I=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFHSkFuYjlrQTBEQUFvQmRDc25wM k02U1dNQnl5WmlBR2xuYXVmZzAwTXRlTDM5NDZzRVFvZDh6eURRCmFRWVF6a3JHekwvZGx6cFlD RFE3R0lrQ1R3UUFBUW9BT1JZaEJCb2ltQncrRGJ4UXBFNmlkM1FySjZkak9rbGoKQlFKcFoycm5 HeFNBQUFBQUFBUUFEbTFoYm5VeUxESXVOU3N4TGpFeExESXNNZ0FLQ1JCMEt5ZW5ZenBKWTBrUg pELzl6ZHNVREtlQWhWbG1kNnBLL05FTDJBRWRpaDJhU0Y0eVphcGJqdktPTUdHb1VIV2ZNNExqO DYvR2JVODhoCnMrSzZKMC8vYjNUNVMrcTNjYnpBVVBJNUxYWElBZ3BUdnJWbDlSZCtaNUhlQmFM NzN6cDFMLzkzSWh1V0RCZnkKVWRtampkQmEvVUs3ZEN6QWJZL1VqSXhsT1VhYnJQcGl2WEt3Q0R IUXRUUHNwWjg5ZTVyWXlQdm50ZWwwcFhPRgpUOUxXZnEvT2VPN2tlbU4wbmpvMWRvek9ZaHdOej lsb1lUOW9hVWpZOUhqU2hLK3N4RHBRTDlHYlQ5U1MvbFQ3Clk1ZStCVmx2RXIwNjhqQTV5d0lnT XdzdmVTUHNBa3pwTHIvWCtTNmRGbXpFMkJBSGtoTW5qNVJJSG9yRnhkcTUKbStQS1Nkend6aG8y N1FMN202TWFSTXNCdnE3Kys0blVLOXRJd25wZExuYjBmVm10clMxN05lYlUzNkZ0dG9sVwpCZyt XaGdSejdqTm9zNXMydVQxVksvek5CZU9ML21vcGtoRTd1SndsS3dkY0Mwei9MTkc3eW9lQWFURW ZDbUZoCkNnUjIvdENRcysvd0lCWlRET0dyeWFuYVV3RlltUjJxNFhZbThZUnV0SndQWmxUSEIzd WR4cE5aRmFXaE5kRGsKNXZOTkcvZkVXcFlkVEVTTFljSHRBSHpNNjVCaEtpUWVnRlE1Ri90T0lJ MFRzS2x3bUZBdkhRWHhET012dGh4OApCcEl0V3c3K09YeEliLzBIbVQ2QVltbXh3dEFsS0ZtS3J KVldWN0xldXdPS2VzQTJuZEFJWm5HeUl1MGxySytKCmJpVnRBK1dEb1lJMitRWU9QUnMzeituRX BzaXN5V1QzenBNaFZmeHc1VE40ZEVIOUtqOD0KPXZrRUgKLS0tLS1FTkQgUEdQIE1FU1NBR0UtL S0tLQo= X-Developer-Key: i=petre.rodan@subdimension.ro; a=openpgp; fpr=D80A7FC176151935EC3E5FA9CF269999844E7F30 Move memset() from the bus specific code into core. Zeroing out the buffer is performed because the sensor has noticeable latch-up sensitivity and in some cases it clamps the MISO signal to GND in sync with SCLK [1]. A raw conversion of zero is out of bounds since valid values have to be between output_min and output_max (and the smallest output_min is 2.5% of 2^24 =3D 419430). The user is expected to discard out of bounds pressure values. Given the fact that we can't follow the behaviour of all SPI controllers when faced to this clamping of an output signal, a raw conversion of zero is used as an early warning in case the low level SPI API reacts unexpectedly. Link: https://e2e.ti.com/support/processors-group/processors/f/processors-f= orum/1588325/am3358-spi-tx-data-corruption [1] Signed-off-by: Petre Rodan --- v1 -> v2 no change --- drivers/iio/pressure/mprls0025pa.c | 2 ++ drivers/iio/pressure/mprls0025pa_i2c.c | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/iio/pressure/mprls0025pa.c b/drivers/iio/pressure/mprl= s0025pa.c index 7532b2e74413..e4651d3f686d 100644 --- a/drivers/iio/pressure/mprls0025pa.c +++ b/drivers/iio/pressure/mprls0025pa.c @@ -22,6 +22,7 @@ #include #include #include +#include #include =20 #include @@ -247,6 +248,7 @@ static int mpr_read_pressure(struct mpr_data *data, s32= *press) } } =20 + memset(data->rx_buf, 0, sizeof(data->rx_buf)); ret =3D data->ops->read(data, MPR_CMD_NOP, MPR_PKT_NOP_LEN); if (ret < 0) return ret; diff --git a/drivers/iio/pressure/mprls0025pa_i2c.c b/drivers/iio/pressure/= mprls0025pa_i2c.c index a0bbc6af9283..0fe8cfe0d7e7 100644 --- a/drivers/iio/pressure/mprls0025pa_i2c.c +++ b/drivers/iio/pressure/mprls0025pa_i2c.c @@ -25,7 +25,6 @@ static int mpr_i2c_read(struct mpr_data *data, const u8 u= nused, const u8 cnt) if (cnt > MPR_MEASUREMENT_RD_SIZE) return -EOVERFLOW; =20 - memset(data->rx_buf, 0, MPR_MEASUREMENT_RD_SIZE); ret =3D i2c_master_recv(client, data->rx_buf, cnt); if (ret < 0) return ret; --=20 2.52.0 From nobody Mon Feb 9 14:02:01 2026 Received: from nalicastle.subdimension.ro (nalicastle.subdimension.ro [172.105.74.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F09338B9B1; Wed, 14 Jan 2026 10:07:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=172.105.74.154 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385276; cv=none; b=MIa39HVy6pQ3xH5DQUkOwecOocqZ21XfMrRFAUt95IZe4lPlcYmQpcnHxByTLMVM2mp1BYKd1whctiER1JnvtxPqH133bAihDpVXseUJU+RHo7jVlIGhAuNAiraDTZYQNRCSN3jsJYzlqZ4+iTgfvHlHcc4R2U6kvcpQYJ4Onc0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385276; c=relaxed/simple; bh=7MdGxwLTxlrcpk2Wj3X/dDItTKbsuApVpweVdA4m2SU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ur6YdnfCKJOpxDPjAQlUktIWZm6Vi3jkoqxBQGEcijKpneqPToBIs2DO6Y6hdiEk9EaqJDgtJ2IYFGDyAYveId64/DOj2q3PEJy7rSbtkcr5/IjhB9d5OEMvNstf0eHHo+YSiBp3vcuuW+2fz9OQAIm+uo7h9WZjpDh/UL658FM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro; spf=pass smtp.mailfrom=subdimension.ro; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b=1RSvy+KX; arc=none smtp.client-ip=172.105.74.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b="1RSvy+KX" Received: from sunspire.home.arpa (unknown [IPv6:2a02:2f0e:300:8a00:e2d5:5eff:fed9:f1c4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by nalicastle.subdimension.ro (Postfix) with ESMTPSA id 1142D160215; Wed, 14 Jan 2026 12:07:51 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=subdimension.ro; s=mail; t=1768385271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qKSwapDXxY7W4Dns3lBtSSMEHfUUsClJlPvxd+iKp3Y=; b=1RSvy+KXAW2iHRKx/i1y/aQKlv+fJNDH/dfyhSqZAWI2SW3Ysl/rLTz6PomwjztgFhfyjC 42tzytsvIU/lCBd+vA4Urv2h06ZiXv7YdEQQeOlol7C9+4qDkcuKY6HS21gFpNpI/yDXlX ca8rQO02Fn2ztj5IT1dg84iwb1Ir2EkALkq3X5gz1SrP8bWcmz3lE0j3SPdJTEOfJ+TlHF iP0uEHQzLW7qIC3lkawOdoqgzghjzXKAB7k8f8fjcEiT8DmTntrdoEm9jcc3yCvbNWm0kF Npx3sHZMZgxgjE6/7cU4b2VMe/V3ReVAU/uai/fxT5+bSFYWx1MdbwGq3tM37g== From: Petre Rodan Date: Wed, 14 Jan 2026 12:05:45 +0200 Subject: [PATCH v2 11/13] iio: pressure: mprls0025pa: stricter checks for the status byte 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: <20260114-mprls_cleanup-v2-11-5868b0045316@subdimension.ro> References: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> In-Reply-To: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Andreas Klinger Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Cameron , Marcelo Schmitt X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2305; i=petre.rodan@subdimension.ro; h=from:subject:message-id; bh=7MdGxwLTxlrcpk2Wj3X/dDItTKbsuApVpweVdA4m2SU=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFHSkFuYjlrQTBEQUFvQmRDc25wM k02U1dNQnl5WmlBR2xuYXVxcEVxbmc0ZC8yblQ4eXF5Si85QmppCllUQ1MvYVJwT0UvdEJyNjg4 TjBHTllrQ1R3UUFBUW9BT1JZaEJCb2ltQncrRGJ4UXBFNmlkM1FySjZkak9rbGoKQlFKcFoycnF HeFNBQUFBQUFBUUFEbTFoYm5VeUxESXVOU3N4TGpFeExESXNNZ0FLQ1JCMEt5ZW5ZenBKWTdmZA pFQUNPN1ErZmExM3hsc2x2UUcwT243a3p4ejN4RXVTYzZ1dVBqL0JDVXZIcnpCN0tkZ3NaUm5ib kdrQVpMY0lHClJRQnRNUVV1cXg1MGYvWFIxU052UWhaUnVLRHdkOTIvM21zY0lpVEJSdDZNajlz ckMvNUN6bnBTT25HUUltQlQKS05qZXArSkVETVRnRW5nQ256RzJRQUM0NWJ6TllrSTlidjJ3bis vTW15d1pPVDZ0dURWOXZEdWgxZzJvYmhtMApaNi9CYjJSdTl4NjFuU3pLSUdEaG8xb0dMc251eH RsZk52QjRwdXpTZFVHM2o3cDJwZi9pMHlXMXBNRVJVTGJtCk1sQU0yNlRZOEJacW5oQzI2QUZjc 1V0U3lMQ0o2dUNzT0tZM3NGL05CcjJGMUVlck9qVlJuOTQ1L21mUXo0MkgKRWxuRjViU2VueGdz OURHUjkrRHpKLzNML0kzZlJSWTI4cGZ0Qk1FREppWkNJU0llN1JCOFdlWG9vRzRsb1JvUApBTHB JSnJKZmZJNXJtVGNNYktlcGFib2tSZDFocVJTK1VnK1h4dG8rL0xDcGtLOG9aVGFFQkFhOEFJck l2d3F4Cm15cVVTbDlEOGd3VUd4MXVGUFBwQktvU1EyVHRMdEJBS0U1NTZrNkNDbzBENVJhR0pzV WVJNWlyUWxkOVVEa1gKRDJ5TUVoaUFDMDRnSndjSUxhY1BKMlViQnNwWWxOaVhSaytIWTlZcTVL dDBQSll3VnBpSThiS3FTRE1NRlFBUQp4YTZWeEFWNW9YQTFpQUZVbWNycitwNEJnWUJPUzhQR20 xTzhrcGtOeStKVWg3K2xDYVNUVUZERUtqV1NtWkdWClJSZytSa3RUd01XS1NpTFJWYldyQTgrMH FQZ1EyYjRMUDN1V2NBb0ZhYVpFTkhlMkhnUT0KPVZlZ3YKLS0tLS1FTkQgUEdQIE1FU1NBR0UtL S0tLQo= X-Developer-Key: i=petre.rodan@subdimension.ro; a=openpgp; fpr=D80A7FC176151935EC3E5FA9CF269999844E7F30 Make sure a valid conversion comes with a status byte that only has the MPR_ST_POWER bit set. Return -EBUSY if also MPR_ST_BUSY is set or -EIO otherwise. Reviewed-by: Marcelo Schmitt Signed-off-by: Petre Rodan --- v1 -> v2 no change --- drivers/iio/pressure/mprls0025pa.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/drivers/iio/pressure/mprls0025pa.c b/drivers/iio/pressure/mprl= s0025pa.c index e4651d3f686d..078d1d719023 100644 --- a/drivers/iio/pressure/mprls0025pa.c +++ b/drivers/iio/pressure/mprls0025pa.c @@ -198,9 +198,10 @@ static void mpr_reset(struct mpr_data *data) * * Context: The function can sleep and data->lock should be held when call= ing it * Return: - * * 0 - OK, the pressure value could be read - * * -ETIMEDOUT - Timeout while waiting for the EOC interrupt or busy flag= is - * still set after nloops attempts of reading + * * 0 - OK, the pressure value could be read + * * -EBUSY - Sensor does not have a new conversion ready + * * -ETIMEDOUT - Timeout while waiting for the EOC interrupt + * * -EIO - Invalid status byte received from sensor */ static int mpr_read_pressure(struct mpr_data *data, s32 *press) { @@ -253,10 +254,25 @@ static int mpr_read_pressure(struct mpr_data *data, s= 32 *press) if (ret < 0) return ret; =20 - if (data->rx_buf[0] & MPR_ST_ERR_FLAG) { + /* + * Status byte flags + * bit7 SANITY_CHK - must always be 0 + * bit6 MPR_ST_POWER - 1 if device is powered + * bit5 MPR_ST_BUSY - 1 if device has no new conversion ready + * bit4 SANITY_CHK - must always be 0 + * bit3 SANITY_CHK - must always be 0 + * bit2 MEMORY_ERR - 1 if integrity test has failed + * bit1 SANITY_CHK - must always be 0 + * bit0 MATH_ERR - 1 during internal math saturation error + */ + + if (data->rx_buf[0] =3D=3D (MPR_ST_POWER | MPR_ST_BUSY)) + return -EBUSY; + + if (data->rx_buf[0] !=3D MPR_ST_POWER) { dev_err(data->dev, - "unexpected status byte %02x\n", data->rx_buf[0]); - return -ETIMEDOUT; + "unexpected status byte 0x%02x\n", data->rx_buf[0]); + return -EIO; } =20 *press =3D get_unaligned_be24(&data->rx_buf[1]); --=20 2.52.0 From nobody Mon Feb 9 14:02:01 2026 Received: from nalicastle.subdimension.ro (nalicastle.subdimension.ro [172.105.74.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2BDDC38B9B6; Wed, 14 Jan 2026 10:07:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=172.105.74.154 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385276; cv=none; b=apgHKGccfz/WdKDbuRZBJVdZt/54rHF4Tc0oHtUYL3i9SnQH3rAA3KIM/xqIorTmxVapRcTjLQwwgNhHMThdBnNFe+ML/hLbpVv8ehy/ltYQEvI8OeXl7nL01Zf3sduW9SlQRbzAOgGrB14X6g6iliJ2eK012ZId//F83G5nQPM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385276; c=relaxed/simple; bh=qeoHSKRTrPKZ9m29PlRFc4X5jX70X+3ZvqlcGQUVONg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oremHWhY079PEVYjhUXnaPZ/m6KRk13Y1BSIyJ8Bxh5JK2f73rkvbcj/z8h0dCl77snAnR0LcU5+A4/ByOaUkfjAGbLghyfOYe/Ytiph7RW8ROfqS0SEL2xNdz6btqxtp4bvbzlz17dZfT1UT7Y/vtNxxFTAzu4je5FOqRPyyf0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro; spf=pass smtp.mailfrom=subdimension.ro; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b=veKDRH17; arc=none smtp.client-ip=172.105.74.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b="veKDRH17" Received: from sunspire.home.arpa (unknown [IPv6:2a02:2f0e:300:8a00:e2d5:5eff:fed9:f1c4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by nalicastle.subdimension.ro (Postfix) with ESMTPSA id 76216160216; Wed, 14 Jan 2026 12:07:51 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=subdimension.ro; s=mail; t=1768385271; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wwvCH52rkwZvNNllHPFX2xGB2klIldjgQiDwrcA2Z9A=; b=veKDRH17UVKl7Jh+0QYVSXhDT40A2L+SjSE6RWBNpqjkacPmhnLbUM8DP+4k4uB0xsQeRl T1qXsFmUFbEFz/OlaLP6Guk1Wk1xfVnHDZtB6sln71ijoymlI1YVQT3OhAliRE7CD+qrAu ZOJi0Q44Ui+eS09GxlUbXTv3tsU9bmlQxwLUPH0fduLSWhNVHfm8GppRUfIX17IpRxPol6 fW3BgSUuZsTO/OrCQpjfD0xEQ5OYkgjV7K/7sDx9ECwVqDiUHVHo2QJ/nDcDs56EElsRuh J+MhuemDMncTvsEdKLIT9I39++cQIFgdbWkmijJUJpubkothdsNaw4MtOD0goQ== From: Petre Rodan Date: Wed, 14 Jan 2026 12:05:46 +0200 Subject: [PATCH v2 12/13] iio: pressure: mprls0025pa: change measurement sequence 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: <20260114-mprls_cleanup-v2-12-5868b0045316@subdimension.ro> References: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> In-Reply-To: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Andreas Klinger Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Cameron X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3291; i=petre.rodan@subdimension.ro; h=from:subject:message-id; bh=qeoHSKRTrPKZ9m29PlRFc4X5jX70X+3ZvqlcGQUVONg=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFHSkFuYjlrQTBEQUFvQmRDc25wM k02U1dNQnl5WmlBR2xuYXV6dDZNbXV4MmcxSjNoUnJKWU1OcE8vCjRHNGg2R3FiM21QY2FzOHE0 dGdIa29rQ1R3UUFBUW9BT1JZaEJCb2ltQncrRGJ4UXBFNmlkM1FySjZkak9rbGoKQlFKcFoycnN HeFNBQUFBQUFBUUFEbTFoYm5VeUxESXVOU3N4TGpFeExESXNNZ0FLQ1JCMEt5ZW5ZenBKWS90WA pELzlVNjFaTFIzdHFpbnRCZmlJWkF4SEY4ZE9lTG5xT01wcWRwZWovckZoQnlhQmJwS1NzWDZBc lVpVUZRaVBxCjhKOGNNYzN5YnI1ZmZLaktrSCt2Y0V4bUpGYkt4bkV2VnBlNGJwWUxENFoxeDNv UHFabUk0bUg5QU50TGFIM2sKNXFiVmt3a3gwWkFLeEhnRU8vOWFZUUMwQ3VLaWVYRFFRaStHVXV HMGlla0UrNEFYYndiOHprc2h4RUEvV2VCLwptSHVqK2ErMlo1Q2diRlJZV1l6QVhIMnMwbnR6N2 01QU5LUVhyZk15N290TUQrejRUaTFTaVVSaW1vYjg4ZmtxCjNRWlRpaXFCSmlxWEh1QURkVkpnM DVwdk5RaHNvczV0QURUUU83aHE3Ly9nWDVGZmRFRGJRQzY1MmhZMzJKK00KazYrY20yWll6QTAx cmIzR1B2djZlM2dBcERXUExWYkd0UmNNSGp0ZXJ6cWtHRURZS0FFSXRSd1ZKY0IyOWZwaQpGeGJ kZk1HOS8zUTN5TkhNcnZCMU52cnUrbzZmanZ5YUxZeXdZU1ZZdVpBOHpuN0FXYzVObUpYL1lFT0 lyNUVNCnZ4WGxqQlNibjV2KzRkZWFtL2tVRFNLMzNkOGREbk9Fa0R2MlVEQzFMeFNoOVZRTUtJU UpBdVYyVWRSRythc2IKNG5mc0wvWmhvVVlySHhwTHFkSEFCWmxZUENLbGI3cDN3Z0xFN3lQdzRx TmlycmJ2RWMzQkUzY0V0ajloSjAwbApYREwzajBWbkxNcGw2MVUzblJ6TjUvem5NaERwMm9ibk5 kUDFza1Y3RHR4bVlINUEvZkcyRDVwcWNsSy8zNEVsCnRMNWM0b3dva3FWQmhUUmZEa1d5QVJhS3 ZaVXkxMk9kckI2L3FIRGUyUGd1dHpUWUxVZz0KPTVRYWUKLS0tLS1FTkQgUEdQIE1FU1NBR0UtL S0tLQo= X-Developer-Key: i=petre.rodan@subdimension.ro; a=openpgp; fpr=D80A7FC176151935EC3E5FA9CF269999844E7F30 This patch implements a measurement sequence that does not involve a one byte read of the status byte before reading the conversion. The sensor's conversions should be read either once the EoC interrupt has triggered or 5ms after the 0xaa command. See Options 1 and 2 respectively in Tables 16 (page 15) and 18 (page 18) of the datasheet. Note that Honeywell's example code also covered in the datasheet follows Option 2 for both i2c and SPI. The datasheet does not specify any of the retry parameters that are currently implemented in the driver. A simple 5+ms sleep as specified in Option 2 is enough for a valid measurement sequence. The change also gets rid of the code duplication tied to the verification of the status byte. This change only affects users that do not define the EOC interrupt in the device tree. Datasheet: https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/s= iot/en-us/products/sensors/pressure-sensors/board-mount-pressure-sensors/mi= cropressure-mpr-series/documents/sps-siot-mpr-series-datasheet-32332628-cii= d-172626.pdf?download=3Dfalse Signed-off-by: Petre Rodan --- v1 -> v2 rewrote commit message --- drivers/iio/pressure/mprls0025pa.c | 32 +++----------------------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/drivers/iio/pressure/mprls0025pa.c b/drivers/iio/pressure/mprl= s0025pa.c index 078d1d719023..8218d931647b 100644 --- a/drivers/iio/pressure/mprls0025pa.c +++ b/drivers/iio/pressure/mprls0025pa.c @@ -23,6 +23,7 @@ #include #include #include +#include #include =20 #include @@ -41,10 +42,6 @@ /* bits in status byte */ #define MPR_ST_POWER BIT(6) /* device is powered */ #define MPR_ST_BUSY BIT(5) /* device is busy */ -#define MPR_ST_MEMORY BIT(2) /* integrity test passed */ -#define MPR_ST_MATH BIT(0) /* internal math saturation */ - -#define MPR_ST_ERR_FLAG (MPR_ST_BUSY | MPR_ST_MEMORY | MPR_ST_MATH) =20 /* * support _RAW sysfs interface: @@ -206,8 +203,7 @@ static void mpr_reset(struct mpr_data *data) static int mpr_read_pressure(struct mpr_data *data, s32 *press) { struct device *dev =3D data->dev; - int ret, i; - int nloops =3D 10; + int ret; =20 reinit_completion(&data->completion); =20 @@ -224,29 +220,7 @@ static int mpr_read_pressure(struct mpr_data *data, s3= 2 *press) return -ETIMEDOUT; } } else { - /* wait until status indicates data is ready */ - for (i =3D 0; i < nloops; i++) { - /* - * datasheet only says to wait at least 5 ms for the - * data but leave the maximum response time open - * --> let's try it nloops (10) times which seems to be - * quite long - */ - usleep_range(5000, 10000); - ret =3D data->ops->read(data, MPR_CMD_NOP, 1); - if (ret < 0) { - dev_err(dev, - "error while reading, status: %d\n", - ret); - return ret; - } - if (!(data->rx_buf[0] & MPR_ST_ERR_FLAG)) - break; - } - if (i =3D=3D nloops) { - dev_err(dev, "timeout while reading\n"); - return -ETIMEDOUT; - } + fsleep(5 * USEC_PER_MSEC); } =20 memset(data->rx_buf, 0, sizeof(data->rx_buf)); --=20 2.52.0 From nobody Mon Feb 9 14:02:01 2026 Received: from nalicastle.subdimension.ro (nalicastle.subdimension.ro [172.105.74.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2159638B9B2; Wed, 14 Jan 2026 10:07:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=172.105.74.154 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385276; cv=none; b=qMXoR0j4YvY/s3ElNWvXIqo7UK4mATEwq/F30cYzSozBGZBE6X8+PtjuSH3ygHTteo2ekMzuHCBdS1CsP8Qh5bs2awfBG+PGtyIj0GqZPQB7UsntG53MaUt9rICzTYRff2+/xVIrOF6ocqGnS4iz6R2m4715QjtlTtcOZu60s1U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768385276; c=relaxed/simple; bh=u8nJdjLQUjSOqf5UERLRYhKgjyBHVISmP1XXJDWr4TI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NEvDnWOv2ySpYHnhm75C4mTESFz2zatE6P/uLdrrvmj3PHMSk3bPkAd0c5AbJAwKOqM4zLGzBbAGNQkwZ/+mtQL47skNC/I/oenD/CFB4WRWx6l4wt9WJQXFnPAmGX754QcDWjU/3Gp1I4p4x14emG4G/7AdMyA7DZDTwOY1mpM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro; spf=pass smtp.mailfrom=subdimension.ro; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b=mAil5V4W; arc=none smtp.client-ip=172.105.74.154 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=subdimension.ro Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=subdimension.ro header.i=@subdimension.ro header.b="mAil5V4W" Received: from sunspire.home.arpa (unknown [IPv6:2a02:2f0e:300:8a00:e2d5:5eff:fed9:f1c4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by nalicastle.subdimension.ro (Postfix) with ESMTPSA id D70CC160217; Wed, 14 Jan 2026 12:07:51 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=subdimension.ro; s=mail; t=1768385272; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5P0EmzE+tJqaBdRgoKLXjuTwM+IXH2WiY1ySV5bS6Dw=; b=mAil5V4W0ICOX3cP+HZ1higUC+gYvrbLbTzfY3LUSZnonsPtVzT/WAghEqUw8NwOyXBuSu UL2k15V7WHdGG0xU2BDJd9UYzPyS3rAz9z7VI8V3a6L3zsGmY40d1u21ysNbIX4sx+e1Yz PKrvaFRAYwwjcG735WxH3bOkh5hVKLa3eF/WogBBqbaq3Ymv4Pp1p3OyQ5sk0sw9LcKYwR P37KK7Ksj7YyDmqvy2gTtZieUnUWqnP6WyOkUXUCoya4hOlXqo7KiCMaji8jL+Y+Gl6l/Q /oghho6zX8e1My2cz9S0SYSTbvsqzJ93RQ1UTQSAKIzIIYIR9jXGaOu5dvBvig== From: Petre Rodan Date: Wed, 14 Jan 2026 12:05:47 +0200 Subject: [PATCH v2 13/13] iio: pressure: mprls0025pa: add copyright line 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: <20260114-mprls_cleanup-v2-13-5868b0045316@subdimension.ro> References: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> In-Reply-To: <20260114-mprls_cleanup-v2-0-5868b0045316@subdimension.ro> To: Jonathan Cameron , David Lechner , =?utf-8?q?Nuno_S=C3=A1?= , Andy Shevchenko , Andreas Klinger Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, Jonathan Cameron X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=909; i=petre.rodan@subdimension.ro; h=from:subject:message-id; bh=u8nJdjLQUjSOqf5UERLRYhKgjyBHVISmP1XXJDWr4TI=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0o0bkFHSkFuYjlrQTBEQUFvQmRDc25wM k02U1dNQnl5WmlBR2xuYXU3ZzNkMjg3RkFSVlp4N3czTnFjUU1pCk1PSVlhb29XV2lvWnFjSTVX NTZ3VTRrQ1R3UUFBUW9BT1JZaEJCb2ltQncrRGJ4UXBFNmlkM1FySjZkak9rbGoKQlFKcFoycnV HeFNBQUFBQUFBUUFEbTFoYm5VeUxESXVOU3N4TGpFeExESXNNZ0FLQ1JCMEt5ZW5ZenBKWTZiVg pEL3NGTkVOUHpObWxvdnBqaDEycy81a1lWazdPZDU3a2h0NURjTmhBYmFRNytXOW1PblhtNithZ 0djWUQzcmR5CmpZMC9LMjRYbmlQN3NuV3ppbEludllobDlkcWZ6TVZlNWZUQUtuem93VmFVSTlE SWJ0OEQ0KzFQZXl5emZIU04KdXpyWDAxT0Q3ZlNaYW9oR3dyU0gxbGo4ZmlhRm51TDZSeXJDSkt FM2JrUi9Od0c1Q1dHSDlqZyt4a0ZQZWRRSAozTy9vaUowdS9nMlpWOUZZRndIQVdzOUtlWURlZG JVQVo4V2EvZS9EQ2pFQjlNOXBZNWxKazUwSStqL29XNWY0CnRDM0VIeHBXaU0vS2QzbnFLSGZFV HpKbEQ5LzhVc2pYVG1UdlBHaVBHY0hwQzg2dUE2d1dTVjMvbDc0TzdjWmoKOWg4SXpuTEw2azFa M1ZNSktMYUFIeTMxODdOZDBjaWFPTENJR3pENlI2aU8vQlBkN01iR2tXM3dhQUZYYjhCagpnb0x YcCtHckc3S0ltNDEvSFBCbWZKYVNkMnNEMDN0cEtsdWxGMTFndGxhcEk0V0NQdC9UVkpSMy8wRH JTY1lVCkRjMEVWYS9NK1ZMVzBzTUN6UXBPRTh0cVdlbG1kTW0rUDhhZHhvRGtvaStBQlZpQXJQd GdtOEJ5WHdjaDNGRXIKM3A0NVZIS3ZGSWZRMDBQR3VESUkrL3A2ZEo2bjlyWTZCUVUrcDN0dUFt aHlMcHZUZ29nNVUvOFljTTl4R0lCQwppTVA1dnMxRjBEYzA2TEN4U3J4djFjSG5XejVHVkZXa2o zdFZoUGZlZzZlUFdkTHdDNkZFQWREd1ZBNWVia212CmJpT1JuK0wwMnNkV25wZWRDNVFEZFg2Z2 5nS2JFTmphVzlsRStYRmhNY20zRkxWc05Tdz0KPXpNWm4KLS0tLS1FTkQgUEdQIE1FU1NBR0UtL S0tLQo= X-Developer-Key: i=petre.rodan@subdimension.ro; a=openpgp; fpr=D80A7FC176151935EC3E5FA9CF269999844E7F30 Add copyright line to the core driver. Signed-off-by: Petre Rodan --- v1 -> v2 no change --- drivers/iio/pressure/mprls0025pa.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/iio/pressure/mprls0025pa.c b/drivers/iio/pressure/mprl= s0025pa.c index 8218d931647b..0122108f1f3e 100644 --- a/drivers/iio/pressure/mprls0025pa.c +++ b/drivers/iio/pressure/mprls0025pa.c @@ -3,6 +3,7 @@ * MPRLS0025PA - Honeywell MicroPressure pressure sensor series driver * * Copyright (c) Andreas Klinger + * Copyright (c) 2023-2025 Petre Rodan * * Data sheet: * https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en= -us/products/sensors/pressure-sensors/board-mount-pressure-sensors/micropre= ssure-mpr-series/documents/sps-siot-mpr-series-datasheet-32332628-ciid-1726= 26.pdf --=20 2.52.0