From nobody Tue Apr 7 12:20:29 2026 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C369421FF47 for ; Wed, 25 Feb 2026 10:06:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772013973; cv=none; b=fpNgFUsbhvfYBgZRezNnBtp08nPEmIr63NTT6cyzgF4AdkK1cxzP7ZzKpePieWVCByMirxrKwzV2YJgDGv7F12OtxdiwbFp1tXo7BFFBPkSsXiHRPrS4ISlBSmhBHZk/qo4xAcwCdFnAbFB98h/YYqHT2fq8QbCHsxoocVdTyaE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772013973; c=relaxed/simple; bh=aBIjT8HJMfYZDveJouRj4sa520yQuhHwAmIb09eSjwY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=a03KRnhfE3y5D/FxHiSPRfRSiHGeemkEeWjFyku8ZTXHZk8Qmyqcqzqno7zae5WABzHwQLR3z03DvXCqBkebRq7EtpPfht6kZcG5YF3lDpO4XV+YcyrgebuExVLAJ4URGCNZmt4A17OgMXUwCBOUuku6NdLtwS7pUw9R/z4GviI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=SgHM6XT5; arc=none smtp.client-ip=209.85.128.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="SgHM6XT5" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-4836f4cbe0bso50080125e9.3 for ; Wed, 25 Feb 2026 02:06:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1772013970; x=1772618770; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=RHmHZviAuhOhpKSUpCtTa1iFHF2rU7EWwgoioRxdGwg=; b=SgHM6XT5pFoqvWC9pooRlwuTLXkLsEj84RZhCNOuaq98VaC/Y9QeelyJ459tfdHWm6 zezO24Uj2l3/wAiyHRqR/h+NclPsfew3RiNyTPw+doJ9p+DUQDBCOGuu/e6tF1cZfB7S WagBE/VS+PS7Bk5osuJLBFusGdAAA9pODxZlMMyRDKxNlT/818fFjmyxUOgy3mp+0E2p lXK9pkorthzjVhHB8zr8roBu3jkc2dBWa0gFabaIGUeChaxo9BKjIYLnmmjPgfAt38h0 leY11q+OGTvfw/fv6UskVO/rSbVlc5nCtSGbhroXh+OkKyEyGKZ7zBt20PUWJ5ju9xx+ V5Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772013970; x=1772618770; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=RHmHZviAuhOhpKSUpCtTa1iFHF2rU7EWwgoioRxdGwg=; b=ZauM689qQWnbje7Mxfu3UOZ0EeJFDGUevpPQ+NbOxOypLhqzQCU98h3qbCm4uNqbIk 5LGTebaXRvHwEUpKeIZgXn+OEIDQHyS+YB08/1/k7tzj9uWQcrIPGHclW9TbdM+MJewB qbMmHKqVHfVCbB8cS0FdCTx2ifOjZOPdx9pflgZjfsWp/EfRM4LWZ7zAKBlle20ZcNFL SD9DhnATEOKf2jxyv1mXkz6Sco2ENx+068CDZteVUILKTE+bXiQUKYgDHrILjF+vUdEw bO2puhM/WFjPCTdeoLm/FmMmKUehvYKrFDTFPmDe4gDr99EFjgpFteK8bAvONE7Bgp/5 BAaw== X-Gm-Message-State: AOJu0YwytAM1OdohYsmK95SdYB8bVGfi6DI/1ugQBhB5yJzuQgD4rVPy JQEjYlFWzKRXOmLJsMn0PrhHlQYCQgqpB7WrxoAQnqvRus8RPV8AK4DrpZfNFGNl3Q2WrML+Vj0 pHLnD3EY= X-Gm-Gg: ATEYQzwo4/MSp+7EDiFGrSihUgWtkiAzlydycpgIrG5WYXlu1aCudC7GZVp2Ew9y3mC xCZ76RNqVO73ftIy1ie4M1mCXOgRDeeCBR6TN0cO1IHiWcgESgW+ZCUn5/sKqLIUNzU2Ucej1nI sXIZYeeh33IFteQb6cLUZKv4vOGag2hAvjQ32RrHBFNl8uy+/ybsi9DfSrmuEd3Y90Xz6QyUTuh ZDguc8tzPersCRgrJYhdFu++wSKjH0SlK/p1eQmYi2dBw5PsBYjjWXDB7CK161vlwLCOLdGLoAj vxXNpLoQ7V9Wvcp+wS3XMhnud4VRMYHur/aUywZbdoFFjofG0Vf6W7Uj+InY9C5+cl4e9zQOFrH q1UQWUGLD18unAbVDUh5DEjkZoOVWItHbO5rl8BHRkrNQxAV1/+rkhbFlqU3de5RHZsrgWA== X-Received: by 2002:a05:600c:a00d:b0:480:3ad0:93c0 with SMTP id 5b1f17b1804b1-483a95e6a17mr216542375e9.23.1772013969935; Wed, 25 Feb 2026 02:06:09 -0800 (PST) Received: from localhost ([151.35.220.155]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483bfb296bfsm12071595e9.0.2026.02.25.02.06.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Feb 2026 02:06:09 -0800 (PST) From: Francesco Lavra To: Cc: linux-kernel@vger.kernel.org Subject: [PATCH v6 1/7] iio: imu: st_lsm6dsx: Set FIFO ODR for accelerometer and gyroscope only Date: Wed, 25 Feb 2026 11:06:00 +0100 Message-Id: <20260225100608.2367061-1-flavra@baylibre.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260225100421.2366864-1-flavra@baylibre.com> References: <20260225100421.2366864-1-flavra@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1747; i=flavra@baylibre.com; h=from:subject; bh=aBIjT8HJMfYZDveJouRj4sa520yQuhHwAmIb09eSjwY=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBpnsmLKHlBS2+YWZdjOWGvX/xqPbpahixKnyHdW ADRDgnr6CSJAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCaZ7JiwAKCRDt8TtzzpQ2 X4onC/9cnZd492lRLVRVEZAZiVidVwkJCIcOGUTzTUs2UvzEDyDa3bMQyxVyD6uoMBDf2aHBEg8 NjQ4wF52U6LcgaKUKsgmpBWZrpt/y3Kjcbav/quI6dQlrZPvCdE6RLuDoFxBP2Qiem/5T1HMMW4 Gaejg2XalQfCvPFXOpUEaIYwxqdQei/ZctC4Q9pCI7/kERsfganTCQrYrg3NBKjY68Tk+feEgjQ OGyoTEuM8E6NTTGIwkpLw4RmYX2oo3k97suz/m6zkRBp03XAvSMid+cft434E8o3342yYXcZzqW putiUibepv6PrMns8n4b6DqB1YzP4yZtSiqAsLHhj1fe6ifulVozZJd7uvZwUspXNou2WtDWDrT Am1OPx8RepYg6FBXVq9uiJIV5oV3/HuQA5mxwakCdC7socGuVtFAQ+7mv/8MMZnfzTGGdmqEJP1 iUbKoap9yrPxZ7PNuGvAThgxwyIqsYZt7/K5VNRF3rDpv8FPGDqYMgAV7fLb2pSLdBA/I= X-Developer-Key: i=flavra@baylibre.com; a=openpgp; fpr=8657854F953BDCA31EC314E6EDF13B73CE94365F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The st_lsm6dsx_set_fifo_odr() function, which is called when enabling and disabling the hardware FIFO, checks the contents of the hw->settings->batch array at index sensor->id, and then sets the current ODR value in sensor registers that depend on whether the register address is set in the above array element. This logic is valid for internal sensors only, i.e. the accelerometer and gyroscope; however, since commit c91c1c844ebd ("iio: imu: st_lsm6dsx: add i2c embedded controller support"), this function is called also when configuring the hardware FIFO for external sensors (i.e. sensors accessed through the sensor hub functionality), which can result in unrelated device registers being written. Add a check to the beginning of st_lsm6dsx_set_fifo_odr() so that it does not touch any registers unless it is called for internal sensors. Fixes: c91c1c844ebd ("iio: imu: st_lsm6dsx: add i2c embedded controller sup= port") Signed-off-by: Francesco Lavra --- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c b/drivers/iio/i= mu/st_lsm6dsx/st_lsm6dsx_buffer.c index 55d877745575..1ee2fc5f5f1f 100644 --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c @@ -225,6 +225,10 @@ static int st_lsm6dsx_set_fifo_odr(struct st_lsm6dsx_s= ensor *sensor, const struct st_lsm6dsx_reg *batch_reg; u8 data; =20 + /* Only internal sensors have a FIFO ODR configuration register. */ + if (sensor->id >=3D ARRAY_SIZE(hw->settings->batch)) + return 0; + batch_reg =3D &hw->settings->batch[sensor->id]; if (batch_reg->addr) { int val; --=20 2.39.5 From nobody Tue Apr 7 12:20:29 2026 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3F90F392821 for ; Wed, 25 Feb 2026 10:11:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772014285; cv=none; b=MoRlv9AOG3/ypSr+KQ3y+kZtaVdgkwWO3PVBnWdPT1K6pNaB73cx+ZkfKLV97QI7DeGRHmMgw6hvNzTgW/vfU1QQkITOfVwhApybTgqBgRrJM75eYb6EFbE/Hx5QidOjuAGtBr+VMd9aK4IBHUUcbiMOWe6riBvI3BSsB3sFeL4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772014285; c=relaxed/simple; bh=aBIjT8HJMfYZDveJouRj4sa520yQuhHwAmIb09eSjwY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=QQoUZjFbhXh66MAJTTIaTZ/pl9jCIdX8YdkfiwT+ApH61POttvkZclQ4oaoZHdDVVzAsm5isZcxIoJIIc/9MfdrycVN0/q1Vh4F7Uha5BJtpLnk06QmOqRloNWZb9lWqleNZ4wJS8Vb1ip6Z2laYp8XiQlGjHQkFkfsFPQAZhy8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=VcXXb2HA; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="VcXXb2HA" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-483770e0b25so58061145e9.0 for ; Wed, 25 Feb 2026 02:11:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1772014278; x=1772619078; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=RHmHZviAuhOhpKSUpCtTa1iFHF2rU7EWwgoioRxdGwg=; b=VcXXb2HA0DPZgV7hLbmEfIziBEz1bPQr4I/zaSvXo+4Hev6wtbLCnaKsNbzA5qKRps aT20Q81o83AJrNrvUc/K1pxNMjT2e+gfYUmrygBAIbqlzZtv8WcaVuqwjgT/ajPteOUp 3JLJG1DmSKEdVht37niVRDZzzgTUQ9sk1vJ8LgGEBnScJhCHDlLnH4BCwenYH7nGUxiY 7XE7zEXJnVWNZGdQPBjcZrEpNX07BZkeSy6NRFr/0JK8mJF2oQYefCfWOS8RlKlaVHYO hQEdMKPgQ3C+EG/hory5jqI/dzdyq/fmMYZPPq6P9YB2xcUYAheVUhKeoVNhC7KgOmWa 2PwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772014278; x=1772619078; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=RHmHZviAuhOhpKSUpCtTa1iFHF2rU7EWwgoioRxdGwg=; b=lV79IBe9s4nUc9RfUekOYaJTtkp6v+An9rR2pYVlptLWRqRMC+sYJgSc6RQUpiHaSu loi64gpaFRJp4B2FxdtHwhv2eEEFTDvKNMFR6rPo5x1s9KyLXCTol6O1aNpp2rXF4KJb epTQVYBlTLHM2x89JMVqVjHyD3pzOtwb/jkl0vI58YTGyX+3m9YHIVPRJtjow2PXa71+ X7hU3HBw+DQR6AI+zqoMMXHNZ3eWzIoBVWS0BCTwZi8ZSxAbsz8VPECp8BJwhTJh5kqJ h4Hw3GekxFBH9ZI0zHWx20aH2z6BHxGtKcgRCA7pjZMLqRxpv+kWQLzsPALzMYZ0KSv1 K6oQ== X-Forwarded-Encrypted: i=1; AJvYcCWGaqGuYGjchqyCn0NzItSQrGn5c69VL3lBaZ8hJYl0ddS4gmsXy4Fn8PtEwHlsQhvcLG3Zp6vTh2vK9pA=@vger.kernel.org X-Gm-Message-State: AOJu0YxliFbYhg3tIIJWYxub8SPKoMZtIAZsQxlMl3NmE7m0LJ2hZwOh P3gGEQwEd40kzTaSjF9EbnKPVrtWjHLKx/SSf0H8l6hw+VwK1FZsJz9wqXRuyBQuWNY= X-Gm-Gg: ATEYQzyMDT7AT+WQ/Ond7dZdBzrjlA5r9MLql+pEBKNGL2BUKV8j9Ih21VUd05G5IzU xR43WDmNV28/XIHakzpj0jRNQKFJt5lV8tg8MbgW9e7w5HfHjXh4mtZ1EPNgJdNqDnLoeiMp/0g TIMDx3io58Bys+JbqmSRKO4IPGMNtJ+bJalTVO0VrhAZhqlSzvd+nMQzJIVVIsFtr8Y+he/EeUM lyhAwLU7Ypa1jj3aEaYrb/Sj9hku2Koqea0E0f4TmheLc67leXPz5ycHiKV2KeKhqW6PZqCB8fd dfkswpkx6XiRNsntwXxSV5VPxBk/au0DkgyPFnWIO4bI8LpOhyTGIRBxqt+6cXFqMaf0qap98hu 6psr81uyptTWSPIAO62V5n7rL8mngExMvvfMV0pe+/U40P2Lhq8TNoSHyvkrryW1BxTHGGCLAdc 5ukV2j1eeybHH2Hw== X-Received: by 2002:a05:600c:6217:b0:471:14af:c715 with SMTP id 5b1f17b1804b1-483a95eb550mr234842935e9.3.1772014278402; Wed, 25 Feb 2026 02:11:18 -0800 (PST) Received: from localhost ([151.35.220.155]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483bd6f19d6sm61115015e9.2.2026.02.25.02.11.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Feb 2026 02:11:18 -0800 (PST) From: Francesco Lavra To: Lorenzo Bianconi , Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko Cc: Lorenzo Bianconi , Jonathan Cameron , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 1/7] iio: imu: st_lsm6dsx: Set FIFO ODR for accelerometer and gyroscope only Date: Wed, 25 Feb 2026 11:11:17 +0100 Message-Id: <20260225101117.2367725-1-flavra@baylibre.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260225100421.2366864-1-flavra@baylibre.com> References: <20260225100421.2366864-1-flavra@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1747; i=flavra@baylibre.com; h=from:subject; bh=aBIjT8HJMfYZDveJouRj4sa520yQuhHwAmIb09eSjwY=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBpnsrEKHlBS2+YWZdjOWGvX/xqPbpahixKnyHdW ADRDgnr6CSJAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCaZ7KxAAKCRDt8TtzzpQ2 X4IdDACwcFakHxGhyeruPzOvOIecz8RZYgU0hftyD+MA7TKyz82erqakc376M0BnhZiY2DNJi+Q yeD8OzoDUFtsHVIRZvmv/o7+bA9CaOkYY/uIVQP71kD94kioSZVQdxV6KbjCozqEcrkWIckJFkJ 8LlLKm1sVmtp74Balkf8J5n2J1/Z4Ngg+mLjFXO0+/xnXQuqlmQFVViA0cWYYwtpXxZ+KZp77HT futRXa7FZ3xZCPUb9HoFUHjkPgf5jQC5dh/oz2xJGqfLwThuCpp3bq0RLawU5H/XE7U5DZ6RPjq ck4s+r9nKWDbZKRAofCUyA1EWoU6/t6pfxYUs5SNrF89/x6xvFG12f0hqRaugYD86XuU8mVT/Bk zXQprGqLGkjQLDxXwqteu/Mnvn/Td8wjUpwi7IDfFm5w2CxDfAXdF8qLp7UsvUP+wb147dLPejl qONm+TgDR+/CNbEahFEMuCGr8hbYvIsYJCCgZVAa/t62dZIHdKADSP4Q6NIOlJgG1EVKs= X-Developer-Key: i=flavra@baylibre.com; a=openpgp; fpr=8657854F953BDCA31EC314E6EDF13B73CE94365F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The st_lsm6dsx_set_fifo_odr() function, which is called when enabling and disabling the hardware FIFO, checks the contents of the hw->settings->batch array at index sensor->id, and then sets the current ODR value in sensor registers that depend on whether the register address is set in the above array element. This logic is valid for internal sensors only, i.e. the accelerometer and gyroscope; however, since commit c91c1c844ebd ("iio: imu: st_lsm6dsx: add i2c embedded controller support"), this function is called also when configuring the hardware FIFO for external sensors (i.e. sensors accessed through the sensor hub functionality), which can result in unrelated device registers being written. Add a check to the beginning of st_lsm6dsx_set_fifo_odr() so that it does not touch any registers unless it is called for internal sensors. Fixes: c91c1c844ebd ("iio: imu: st_lsm6dsx: add i2c embedded controller sup= port") Signed-off-by: Francesco Lavra --- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c b/drivers/iio/i= mu/st_lsm6dsx/st_lsm6dsx_buffer.c index 55d877745575..1ee2fc5f5f1f 100644 --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c @@ -225,6 +225,10 @@ static int st_lsm6dsx_set_fifo_odr(struct st_lsm6dsx_s= ensor *sensor, const struct st_lsm6dsx_reg *batch_reg; u8 data; =20 + /* Only internal sensors have a FIFO ODR configuration register. */ + if (sensor->id >=3D ARRAY_SIZE(hw->settings->batch)) + return 0; + batch_reg =3D &hw->settings->batch[sensor->id]; if (batch_reg->addr) { int val; --=20 2.39.5 From nobody Tue Apr 7 12:20:29 2026 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0642F3446A7 for ; Wed, 25 Feb 2026 10:16:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772014602; cv=none; b=YvStqZbdIdCEUyDRnd7wHn7uULH1Xj8OYXscOEJqbRfkMmxyJ1j29VXp1IZhj46TNCHP6XRhtWwNYBYatXKkTVRXZmbJnpu8xVAt0W4uSE352dCmQAo4rGC97eBxGs7/Axyr/p69xHy97Wo5GSLXWcOMfxqir0JLSNe+1/2RRsE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772014602; c=relaxed/simple; bh=MkM0A/HsyN7aXTv8muMJJ3kq/6hFQVpMJ9om7R8iWDM=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=YIDAQIGAPEHJZDVeoQ3yyRf428wwhy074iYFSk9gbIK6cTwUl7jVRrKGHKYN8CjFouErFx9fpAY3D0dM97+OKuK+zL2k2phUj6YLo47uRiLFExGKrfJelwyh55dR1PIPQLv3q0EDYiVH9F4z9iZWMOTDvU6yecQbn1C0lZkK2vE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=IkpbnSpW; arc=none smtp.client-ip=209.85.221.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="IkpbnSpW" Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-436317c80f7so482303f8f.1 for ; Wed, 25 Feb 2026 02:16:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1772014594; x=1772619394; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=X2z+T2tcANuxuNpL/O66Pi5lTdKISXJnPtDtrt0skqs=; b=IkpbnSpWj9fH7fdR38mZDb00p8SeYsuF+OBJE8FuJWjEh8G6e1AXM5a6sbREiw5Ann IYPUxrdUipZQHGH3JE5x9jZyGJxgAnHyyHUf18k8G1Nm9JBy14D4/e0itvhbYPtDChOZ wWnROTDjQUHtfIpR8KMtBKNwidGDo1Dg4R0R+1Y20y3yOehJuCepo4sHus2UNrLG2tQW FR2PMfFc5OmLPDJZTvlAaVIi3MnrCpH3Tu0404ntF34LC1NKgEdHM1q/OSjYyAweSNWk dICVgaC8ppe+fvJPtxjkcArW/85A65moQJlFMNFxJHwoakZiOmcLkvNniInyT20yDcif LJlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772014594; x=1772619394; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=X2z+T2tcANuxuNpL/O66Pi5lTdKISXJnPtDtrt0skqs=; b=R2Wbua1FJzl/0NwX0gptMw4XG0m5/uxmql5h+l/PRogNB+S0kA6/sLkluq4DNHcZXn +IABB5ZtSkRQuLNHOrmxde9ST+zy9ISp0dwxsQXGuO+l8tUjYYQwhvddOlWiuw5YaqKF QBPUZJOKja2y/OUmcBx5LMZJtCkY7DwjzSaix5ivvbssIMKZdsH8HxhyKlkF94CdfFKn vUlblY+qNuOy6c2guNqKYo0IenPExKDQiAONagtBtYnevedtCUfZ5F6bnpO4WYHoYNwV WitmhR5Vojc6Ugm4WSJ7MsS1I/AwC7dwWpC+VgBz0ZUlLLOxPTnoWje2qe6XFD8zEXkn khyg== X-Forwarded-Encrypted: i=1; AJvYcCW5wU6STJGBzf71POCpPACJ2Nij6qzozDCM/1LVDqeBC69qnfaC1/cObHbl70rC2G+LDPmzYu3GZ1PjEUM=@vger.kernel.org X-Gm-Message-State: AOJu0YwuSH0BSJ0lGiJY++Sc4Z8aqMX0pL0kjzxmqf0DiLkseUEIcjjw FTY6dq0ucwf6CiG//B77Yv3wJQEPKGL60CUBV4H7S1djvzyxt9rpMnGGop2SKPMu3Rw= X-Gm-Gg: ATEYQzxtdqBr2n6vDvNtZfe580fYtWyfi3jAI1wgU4Fd1nJuVXRPtYshnenezhMEOMa ruCa9OgSF2Jin5qjQDJyez4l/jkq25Mxmk86tXvaFK65PE4R1mp26NVxtJFqy0ie0FsZcRCcnpH ajvr9HS94FVD7gWsLblvYz4rKrIajZa5f97qIb/1FdnNBlRLKl87yceS8yQeIDeSp4tHb/VDvdA 36J6c9rDWUMFb9L0nWzjuodM7WHBBM0RyAu8hIRan9ywIOnFALHN4pcufMZP2a56T1i8vDJYoWQ rbCTar20OCp7qhqcuqG2P//rFUOBh+cGknS2ULHykAvfhwH65568VfBiZwQCVyr2W8oGFxGc+fz Px/KCBFcfiKt9W3mpzw7cwxayRMhEtnOrmJLRZlqgMqy1/MmUcH81TzKmvvtcX9OwuVkyMg== X-Received: by 2002:a5d:5e01:0:b0:439:8c7f:712c with SMTP id ffacd0b85a97d-4398d8353b0mr4778086f8f.8.1772014594085; Wed, 25 Feb 2026 02:16:34 -0800 (PST) Received: from localhost ([151.35.220.155]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970c09897sm34079861f8f.17.2026.02.25.02.16.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Feb 2026 02:16:33 -0800 (PST) From: Francesco Lavra To: Lorenzo Bianconi , Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 2/7] iio: imu: st_lsm6dsx: Set buffer sampling frequency for accelerometer only Date: Wed, 25 Feb 2026 11:16:32 +0100 Message-Id: <20260225101632.2368093-1-flavra@baylibre.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260225100421.2366864-1-flavra@baylibre.com> References: <20260225100421.2366864-1-flavra@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2119; i=flavra@baylibre.com; h=from:subject; bh=MkM0A/HsyN7aXTv8muMJJ3kq/6hFQVpMJ9om7R8iWDM=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBpnswA8/bTUHWtdx2A2C6OfJtUtmuStD+mgbvOu BhcilH85FCJAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCaZ7MAAAKCRDt8TtzzpQ2 XxcxC/4mi0bYTfmbqrOktzvKdp87g5AtpcS1BRGlzfz/A9yu3n30TYNRt1M+ZKgawcc0C0fuxxx msnjbwr53H6AygeGBz+QURrbVacojfcnWIGTmhjYGrQJ9r5gb+GwXgM1W9JOHPdTO/S1qjCkiG5 mPBRv6O1cwdEBnEA5A/vBuGzMNi/5hR5V7baYcinrzwdr/YsvZ+ltvmbS2WH8+cdRod6YmqW1ej lPSNy2Cnob1E/mAguT2LNmfYo7PWRv+aPHR7G/8De+h0WIMod0YHAbSiJPmckjkcSO9MPMqGtVc KoN0MX8lckX0S2Dv3c8jwp/Zq+eu03INmofCSTMGzW842Ow/cok6YhA60HeQKOSv2Zb/NqsTvhv 8dlWvgFHTncjQToYw7FB2fWEePsnmfptOzLE/YiI6SHDbgbbtWB7t9gkj2vh9mTIc/Sj8p0dero OVFcf5E1MPi3tNq2C494i79bxDxh4UgEy9PZOLMdOLllYCQJ6MFsBGEGwIN7TyCnljNk4= X-Developer-Key: i=flavra@baylibre.com; a=openpgp; fpr=8657854F953BDCA31EC314E6EDF13B73CE94365F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The st_lsm6dsx_hwfifo_odr_store() function, which is called when userspace writes the buffer sampling frequency sysfs attribute, calls st_lsm6dsx_check_odr(), which accesses the odr_table array at index `sensor->id`; since this array is only 2 entries long, an access for any sensor type other than accelerometer or gyroscope is an out-of-bounds access. The motivation for being able to set a buffer frequency different from the sensor sampling frequency is to support use cases that need accurate event detection (which requires a high sampling frequency) while retrieving sensor data at low frequency. Since all the supported event types are generated from acceleration data only, do not create the buffer sampling frequency attribute for sensor types other than the accelerometer. Fixes: 6b648a36c200 ("iio: imu: st_lsm6dsx: Decouple sensor ODR from FIFO b= atch data rate") Signed-off-by: Francesco Lavra --- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c b/drivers/iio/i= mu/st_lsm6dsx/st_lsm6dsx_buffer.c index 1ee2fc5f5f1f..5b28a3ffcc3d 100644 --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c @@ -862,12 +862,21 @@ int st_lsm6dsx_fifo_setup(struct st_lsm6dsx_hw *hw) int i, ret; =20 for (i =3D 0; i < ST_LSM6DSX_ID_MAX; i++) { + const struct iio_dev_attr **attrs; + if (!hw->iio_devs[i]) continue; =20 + /* + * For the accelerometer, allow setting FIFO sampling frequency + * values different from the sensor sampling frequency, which + * may be needed to keep FIFO data rate low while sampling + * acceleration data at high rates for accurate event detection. + */ + attrs =3D i =3D=3D ST_LSM6DSX_ID_ACC ? st_lsm6dsx_buffer_attrs : NULL; ret =3D devm_iio_kfifo_buffer_setup_ext(hw->dev, hw->iio_devs[i], &st_lsm6dsx_buffer_ops, - st_lsm6dsx_buffer_attrs); + attrs); if (ret) return ret; } --=20 2.39.5 From nobody Tue Apr 7 12:20:29 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CABC33128AE for ; Wed, 25 Feb 2026 10:17:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772014639; cv=none; b=K16OAyrnghXLqco/DgxSU5glTmg6LM9FVHtYUg+WVPFjjt9jgTV/AMwqdSaaRxkeanKjao2bzUmqqC/k16gpd2MxCXU+QDtzBSxzQxkGrZXkYDE+sv8MVzx7n7bPHC2g28v8AwCMkltBlnNWDB5h672XePEbBdBePU2yoAIrx8k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772014639; c=relaxed/simple; bh=8vSSfk/mqV/Diy8xqYAvuYstYG9PfyLi4Xga/dffatA=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Hu8mAxhSDipsuEeYCvjePcxrdRI2OqyND58Wz0ePsbNrrO8lhacegYFdPNErL+uL3IJXYxTl1mEtBL6Gr9T9sNDIenKPhGZd45chWXroBrbRRIQzU67aelzJRKy/8BWLBCZxrieLjLgKWqYyAywxn3AgeaY//BD8PwreI4pxKIY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=XtzOXm+C; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="XtzOXm+C" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-48370174e18so35683545e9.2 for ; Wed, 25 Feb 2026 02:17:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1772014636; x=1772619436; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=oGDK1Bq0ybXWleKDcajfmOxR9UUUs8qs+hjFsjzRODo=; b=XtzOXm+CsUo4pt2wQeJ93gjYava25dAKo1rlsIMmoKErnVj/cMjoHyXX2m38i6jqob ShhzEyigMM9bAQtpo52YHCbfv7ME5BIy8+Mo6XgkxEEfXXQr0baSK3EaBWuZMmkD5EiW QkQROMn1CEnY29V1XzljCY/EHihf7MorZvB3IHVaVfIZjVFdCBiTdwt5ey8uzSivghIo vV9/Ku0v4US8tM+T8Y1GzWL1fuB6vOT5xM5BjYEhzmr5Dd2m69ECuErZ8xwt3MLvUoqB dCgPLFPHoXe7TYhQGNCYNIuuOWGYwojkJXq9FJgmz+A/BQYXwvjlDCvFf452H3jAeUNg SKLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772014636; x=1772619436; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=oGDK1Bq0ybXWleKDcajfmOxR9UUUs8qs+hjFsjzRODo=; b=irpapULEly+Ef/Ot6TSWwqPrPRTZKZyxCllOMCQKxnMza98steKpUtgCB0dBXo+P7b st2/diz56567RZAkMP+SEofUhfPzD7BPqQwvmwMO5QFr89nVUbYWKQLj7zYrpfKpP6S1 xNquw5akB1ZiibS6CNVaA9/Xz6rUAUKMfWyZuh67uKRapCmLjBc8IvLDz08N/ImHaqdl heVpGk/EtN9NN0foRYPujJ7dplhdLOVO2CFwjosSCgySSfuFZGyNhj16js28LRrd5W3L RGIxDoKCi8oRPa81B+mHUWhm1jRz/vYc3BDuR/RzzE5OcOEGAOpwsWm7daNLdzEchvym BWAA== X-Forwarded-Encrypted: i=1; AJvYcCXTN0XREadBDdbMdSymIquM0RGh7W+62RvXfu+BRyI5EFhcst2fTvTAnpsrvuIIRt/Y7UHZflbP6eOJFHc=@vger.kernel.org X-Gm-Message-State: AOJu0YxcVctDum2mA6jsX8W0QiH9bTtZtPekJ+iK1MwvNCUi0vDGZebU ASxxTxFj6qqWUwQKrka/TIcL36QgqS1ld0o7VV8L0Ny61Q0pUn7iHQpUTM9vZo3OpSODWZPlmj7 xyI6vE7Y= X-Gm-Gg: ATEYQzwHtKLT2mm4nAoDIFbgiDcCvuloyD6aUtwvgqX5Jqpsz9cOKVq549Elb67dEKa zHLBA6awS4f9vIdQ78+cYd4S60VsICopicjdpxU3OTw1eHem3jHdECC5qni2+YlrLRIwcqauJK6 34fych6jA4cfW5lRvnVFGpOTQbhDOtmrmDLXKPAEIN20/sOKQLpKnFFgh7Rxnh5gyH6m2FvbKA9 TSKUnuo79xHFFCp8fvQm6au6RdbO8H2gD5UZnnZTer0e34fs2BA62VseAfiYZ6w+vvvN0kiyXcx CdxAi4YUQ5LSLVqPJPDQ/l+mx/GlYCBRJZc3eQZX7d4qGYII5qMcWjebe4GlkH/abGLPk42Fb8S sCEnLW25Ka8SOMh0ExLLoDN8/OJtkUbANDCbmi7dBYZqntcSqov5AVJMn70L78DnYD/Xntg== X-Received: by 2002:a05:600c:6090:b0:480:426e:9d38 with SMTP id 5b1f17b1804b1-483bef5aa31mr32058395e9.27.1772014636068; Wed, 25 Feb 2026 02:17:16 -0800 (PST) Received: from localhost ([151.35.220.155]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483bd6f19f5sm145273255e9.1.2026.02.25.02.17.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Feb 2026 02:17:15 -0800 (PST) From: Francesco Lavra To: Lorenzo Bianconi , Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 3/7] iio: imu: st_lsm6dsx: Fix check for invalid samples from FIFO Date: Wed, 25 Feb 2026 11:17:11 +0100 Message-Id: <20260225101711.2368206-1-flavra@baylibre.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260225100421.2366864-1-flavra@baylibre.com> References: <20260225100421.2366864-1-flavra@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3692; i=flavra@baylibre.com; h=from:subject; bh=8vSSfk/mqV/Diy8xqYAvuYstYG9PfyLi4Xga/dffatA=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBpnswnfn5oXpJpDx0hpSTDM4Sw5hhySnctawLYJ Rj4y1hM/+aJAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCaZ7MJwAKCRDt8TtzzpQ2 X+2yC/4sBe9Ti6DyUgsh4R9EH5M4vFQfZsYmaei2eO2sODb4uUQUe3M6KalTXlF1fgdNaHGsJ1L HuTbHKtXtUYI8EhBCTbaYdL5Cz2YwFX5McZgfg+EgJm1FQ0bSM9udsiJ6CrusmCbO+5Ql8K3nfL o9JK/pCwv020/cQDIoeBU6hsElQ1vbUbblJcLBY086rH4wRSAqvnoQvFczqLNc7vY2U4HdmKOge b7PutZgkvx0jk6J1s4ffQcqpG1w4oKPUROCWeXKWN1WvcXZzt/kd8nm76i4pHUIzBcXIg0PSJYY EpM3OeZuAlzZX2oobqNOWufowEkkouvZMaSxZafA+Bzt7ncetVLfztmOYcXw4S3S4Neh/CzGx8Z rgGM9o4jFTAxN/7xASKHYEVIOQMxSFKeFwnUL8YSQtCz4E1Z4yTPzoXDPJb9ifDGiuUBhKAX/k0 GrD92617djIy3sU4p80o6WQhjq7YA5AlTNftLKHDsN/Ml+BDZAoWVH9yUqEl9HsKWexmI= X-Developer-Key: i=flavra@baylibre.com; a=openpgp; fpr=8657854F953BDCA31EC314E6EDF13B73CE94365F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The DRDY_MASK feature implemented in sensor chips marks gyroscope and accelerometer invalid samples (i.e. samples that have been acquired during the settling time of sensor filters) with the special values 0x7FFFh, 0x7FFE, and 0x7FFD. The driver checks FIFO samples against these special values in order to discard invalid samples; however, it does the check regardless of the type of samples being processed, whereas this feature is specific to gyroscope and accelerometer data. This could cause valid samples to be discarded. Fix the above check so that it takes into account the type of samples being processed. To avoid casting to __le16 * when checking sample values, clean up the type representation for data read from the FIFO. Fixes: 960506ed2c69 ("iio: imu: st_lsm6dsx: enable drdy-mask if available") Signed-off-by: Francesco Lavra --- .../iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c b/drivers/iio/i= mu/st_lsm6dsx/st_lsm6dsx_buffer.c index 5b28a3ffcc3d..a6ee2da5a06c 100644 --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c @@ -365,8 +365,6 @@ static inline int st_lsm6dsx_read_block(struct st_lsm6d= sx_hw *hw, u8 addr, return 0; } =20 -#define ST_LSM6DSX_IIO_BUFF_SIZE (ALIGN(ST_LSM6DSX_SAMPLE_SIZE, \ - sizeof(s64)) + sizeof(s64)) /** * st_lsm6dsx_read_fifo() - hw FIFO read routine * @hw: Pointer to instance of struct st_lsm6dsx_hw. @@ -539,14 +537,14 @@ int st_lsm6dsx_read_fifo(struct st_lsm6dsx_hw *hw) #define ST_LSM6DSX_INVALID_SAMPLE 0x7ffd static int st_lsm6dsx_push_tagged_data(struct st_lsm6dsx_hw *hw, u8 tag, - u8 *data, s64 ts) + __le16 *data, s64 ts) { - s16 val =3D le16_to_cpu(*(__le16 *)data); struct st_lsm6dsx_sensor *sensor; struct iio_dev *iio_dev; =20 /* invalid sample during bootstrap phase */ - if (val >=3D ST_LSM6DSX_INVALID_SAMPLE) + if ((tag =3D=3D ST_LSM6DSX_GYRO_TAG || tag =3D=3D ST_LSM6DSX_ACC_TAG) && + (s16)le16_to_cpup(data) >=3D ST_LSM6DSX_INVALID_SAMPLE) return -EINVAL; =20 /* @@ -609,7 +607,13 @@ int st_lsm6dsx_read_tagged_fifo(struct st_lsm6dsx_hw *= hw) * must be passed a buffer that is aligned to 8 bytes so * as to allow insertion of a naturally aligned timestamp. */ - u8 iio_buff[ST_LSM6DSX_IIO_BUFF_SIZE] __aligned(8); + struct { + union { + __le16 data[3]; + __le32 fifo_ts; + }; + aligned_s64 timestamp; + } iio_buff =3D { }; u8 tag; bool reset_ts =3D false; int i, err, read_len; @@ -648,7 +652,7 @@ int st_lsm6dsx_read_tagged_fifo(struct st_lsm6dsx_hw *h= w) =20 for (i =3D 0; i < pattern_len; i +=3D ST_LSM6DSX_TAGGED_SAMPLE_SIZE) { - memcpy(iio_buff, &hw->buff[i + ST_LSM6DSX_TAG_SIZE], + memcpy(&iio_buff, &hw->buff[i + ST_LSM6DSX_TAG_SIZE], ST_LSM6DSX_SAMPLE_SIZE); =20 tag =3D hw->buff[i] >> 3; @@ -659,7 +663,7 @@ int st_lsm6dsx_read_tagged_fifo(struct st_lsm6dsx_hw *h= w) * B0 =3D ts[7:0], B1 =3D ts[15:8], B2 =3D ts[23:16], * B3 =3D ts[31:24] */ - ts =3D le32_to_cpu(*((__le32 *)iio_buff)); + ts =3D le32_to_cpu(iio_buff.fifo_ts); /* * check if hw timestamp engine is going to * reset (the sensor generates an interrupt @@ -670,7 +674,8 @@ int st_lsm6dsx_read_tagged_fifo(struct st_lsm6dsx_hw *h= w) reset_ts =3D true; ts *=3D hw->ts_gain; } else { - st_lsm6dsx_push_tagged_data(hw, tag, iio_buff, + st_lsm6dsx_push_tagged_data(hw, tag, + iio_buff.data, ts); } } --=20 2.39.5 From nobody Tue Apr 7 12:20:29 2026 Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1841D39283A for ; Wed, 25 Feb 2026 10:17:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.67 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772014678; cv=none; b=aM8MyeI9t+JELaImBtMNBdxx4j5wACXN6spOUNnazlAd2PPpk/oYNMeMt2629Nz0OFVV2tBHyhRgpk2wnzlYJcp3Yq7TnqC5Ux3RLjtKu/oJZrRHGHguMTFxxihnTEO1VHgzWBdy15GxY+KPIL6BrJUo3k2tjeHfi+pKUvnkK+E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772014678; c=relaxed/simple; bh=TtcnBccQxi8FOGkE/UaV5tbSNhX6L2OFs8ogHDtdZ24=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=cMWYsa9A7k1S2G450tsMmmOnaby9hIC2Q2a9nH1jvO1XoqQAOj2uFQlIYTNnYYdCzS0oOwrx3BliPswLFckywPW1Znhu+3XA253HDU8dAxDevawF5KFRe4H9y6PsXVcJbeWMEGYSyE5IkKgs7YnJnko7mVJ7oGLgdXgmrpQy/y8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=iZoN3TCO; arc=none smtp.client-ip=209.85.221.67 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="iZoN3TCO" Received: by mail-wr1-f67.google.com with SMTP id ffacd0b85a97d-43767807cf3so4837996f8f.1 for ; Wed, 25 Feb 2026 02:17:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1772014660; x=1772619460; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=7rE5YdbBvGxTszqA04wcuSEGVi/cTtpmZWmHp1wb9gc=; b=iZoN3TCOpGEp9LSsQrqC93yvtzScZvqhdVqlT7MLKzNLPkwfPwIADUxzfWQDIwF5RJ B/IzT7KL16dZ1JJFUJjocu73l1MdIO2p43Xe98RfxE0/dv1bEMpFOzbt09FhSGCRr8uM xb/J0bXf3QDRCW3TmzRkyN6qdTXohAp3e+u9brIRRdSrJYoDbTUJlVGkMowYDLbU7UF3 zYG9gi5PjSw0RFAJU0KsBPfsiOPyrziT1zvxWV1HiM1krTX8rxY+1kY5YGrPj6Q3hnUl DukcVS/NM3axUGf9eF7+/Ee4+F33kTv1PrkHdoHB3hO8G9MkalnvARqo6P6Zl4OTl7BW FR3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772014660; x=1772619460; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=7rE5YdbBvGxTszqA04wcuSEGVi/cTtpmZWmHp1wb9gc=; b=sGK+fVeEipe33GtEIyWgTKn1+2w/hysLmG36O3YLjkhmboSf1UwcB9buHts3hSjZi6 mc6jZyQvoFeDHQwaJLIaz7uAkMjMcPBLjCON2LiKV88rzMtPLxkW53gwJIqFkOgASfyv N27/UjYAJMlhcBrCXduBirf0PXyjDhuPVwpscoqg/seH1e5tluBpMJ7Fqr0oaFFsL/0s 4zBf6WvvzgBbP+jeRXrf/ixCGXKYUO7iiKJb6tYbaqiLGxD7luvg09ZhYZ6XPhHEqtuo Hy4CB0I2kA6EdInjkVze/G2YsjZGKSzabxO3+VGIy1bIjx8/uHw6VF53+p4Tuw0tXzMb 6DQw== X-Forwarded-Encrypted: i=1; AJvYcCXQC9PQ4atySqUj9V3jeVqby0BANdIh7ixV7W7gTJiS6Kfy1qRvK+mW0kpSGzXlkSr9viC+24phaCFAafE=@vger.kernel.org X-Gm-Message-State: AOJu0Yx5zoC9zMB4UURPWLZzHqm/6AaMEKAf5AbYAYShFBuiuVD6oh2A wCCgk3SAsGlYGw3DwMmYIJ9bvUVXGeWwRbRnb5yVjzJ8erH+8Y0iItJDaXVfDO1eP64= X-Gm-Gg: ATEYQzzpVIFVv2uBIEF6Xosp4tfBASx/ieTELOvnuriUU0Q2CnhpeoMmLohhkZ8KZEA +90b/GJqiVciPJ8K3vkFyKz+EdE+N1X/YLCSNXBDdyvIu6wAFkyEAX7EZJOg61wdN+FeuSbyOS+ +rHTxxTJ5RM7PkHOUjGnzvuG1fI8fcykBT+j2/Xy373P9BNh/9qgZF7NfX2NVMMcXZTTKeW5qKq p8qnBCsy6B7inbG7IMIlVmx+q+XHpCFiKCG5tnksL5uNU8qLg2+OcOZYuS8THYOobyBC3avZzEG +x6Yo8XZsrvVb4UmULohG6aL8c4D7eVGCOpBhwzaLG8cWeL5NrtIZDuhqZommFCjFThYnNf/O+J KSfbKpcqFr9kIlGGe4196z4D++oTpnaKjzgGfkTHIDAyd2uaYVRxG+dReo9dvcV2LMvrL0g== X-Received: by 2002:a05:6000:144e:b0:436:14d2:540c with SMTP id ffacd0b85a97d-4398faa1d51mr2891333f8f.25.1772014659104; Wed, 25 Feb 2026 02:17:39 -0800 (PST) Received: from localhost ([151.35.220.155]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4398a09aad0sm8451227f8f.2.2026.02.25.02.17.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Feb 2026 02:17:38 -0800 (PST) From: Francesco Lavra To: Jonathan Corbet , Shuah Khan , Lars-Peter Clausen , Michael Hennerich , Lucas Stankus , Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , Puranjay Mohan , Cosmin Tanislav , Ramona Gradinariu , Antoniu Miclaus , Petre Rodan , Dan Robertson , Benson Leung , Guenter Roeck , Jiri Kosina , Srinivas Pandruvada , Matti Vaittinen , Marcelo Schmitt , Esteban Blanc , Jorge Marques , Sergiu Cuciurean , Dragos Bogdan , Alisa-Dariana Roman , Trevor Gamblin , Renato Lui Geh , Eugen Hristev , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Andreas Klinger , Paul Cercueil , Ramona Bolboaca , Marcus Folkesson , Kent Gustavsson , Matthias Brugger , AngeloGioacchino Del Regno , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Matteo Martelli , Marius Cristea , Heiko Stuebner , Maxime Coquelin , Alexandre Torgue , Kurt Borja , Francesco Dolcini , =?UTF-8?q?Jo=C3=A3o=20Paulo=20Gon=C3=A7alves?= , =?UTF-8?q?Leonard=20G=C3=B6hrs?= , Oleksij Rempel , Haibo Chen , Salih Erim , "Conall O'Griofa" , Michal Simek , Gustavo Silva , Tomasz Duszynski , Roan van Dijk , Jyoti Bhayana , Mariel Tinaco , Nishant Malpani , Rui Miguel Silva , Linus Walleij , Lorenzo Bianconi , Alex Lanzano , Jagath Jog J , Jean-Baptiste Maneyrol , Remi Buisson , Christian Eggers , Mudit Sharma , Javier Carrasco , =?UTF-8?q?Ond=C5=99ej=20Jirman?= , Song Qiang , Dixit Parmar , Gerald Loacker , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org, chrome-platform@lists.linux.dev, linux-input@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-mediatek@lists.infradead.org, imx@lists.linux.dev, linux-rockchip@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com Subject: [PATCH v6 4/7] iio: Rename 'sign' field to `format` in struct iio_scan_type Date: Wed, 25 Feb 2026 11:17:21 +0100 Message-Id: <20260225101735.2368252-1-flavra@baylibre.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260225100421.2366864-1-flavra@baylibre.com> References: <20260225100421.2366864-1-flavra@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=214419; i=flavra@baylibre.com; h=from:subject; bh=TtcnBccQxi8FOGkE/UaV5tbSNhX6L2OFs8ogHDtdZ24=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBpnswx+Er+XYg2jxlvd6ja+3QiPAIA52FOqfKVw jZY+Bazii+JAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCaZ7MMQAKCRDt8TtzzpQ2 X882C/4gJh7kNFJbj89Jk5TSORQRke/vSNjwgJoK10K34csT2zmon6a2A7fL/unLJ+rGoPC3Ybd emgqXc2FT2MH1iYJd/x0MQJazkoPCNINnNxsNDe6Y3WKVuS4g0hxvyBJwnLP2mjo5LsuEQjeHe9 89aP5xcXLSRO6GlelXUU4NRXPs4j/F1DTek3yjpIRHMEGgL5prf+3IiQ+7/dVH63jyfvf8/dsFF kquy2G26No/QmXRSHAZ9rlO0+aYcDbwj7N26dFuyHlp1E3tLLjM5oyFacgU4qRlaEcfhgYCHRow ZB5hA/f0ekwHrmK97OB50KSKMlwKbA1gSlAgglvNgD+EueH6s0H0/aRt9bcZiIszxpdXmEWGX81 r2gmT8h0FT+EfkMvPchEFNx4QIgTv4Vjil/hF/wZ0/fdsMMLhtZ+sASq7ThdWYIBtzILDaoR6E8 3mvEe6aPKynYHa5tcpsERnFFOFswTUgVzVlPBrOww2WBQ5cahfvYUCzbQ/LbYu36qW1KU= X-Developer-Key: i=flavra@baylibre.com; a=openpgp; fpr=8657854F953BDCA31EC314E6EDF13B73CE94365F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This field is used to differentiate between signed and unsigned integers. A following commit will extend its use to in order to add support for non- integer scan elements; therefore, change its name from 'sign' to a more generic 'format'. Signed-off-by: Francesco Lavra --- Documentation/driver-api/iio/buffers.rst | 4 +- drivers/iio/accel/adxl313_core.c | 2 +- drivers/iio/accel/adxl345_core.c | 2 +- drivers/iio/accel/adxl355_core.c | 4 +- drivers/iio/accel/adxl367.c | 4 +- drivers/iio/accel/adxl372.c | 2 +- drivers/iio/accel/adxl380.c | 4 +- drivers/iio/accel/bma180.c | 10 ++--- drivers/iio/accel/bma220_core.c | 2 +- drivers/iio/accel/bma400_core.c | 4 +- drivers/iio/accel/bmc150-accel-core.c | 2 +- drivers/iio/accel/cros_ec_accel_legacy.c | 2 +- drivers/iio/accel/fxls8962af-core.c | 4 +- drivers/iio/accel/hid-sensor-accel-3d.c | 2 +- drivers/iio/accel/kionix-kx022a.c | 2 +- drivers/iio/accel/kxcjk-1013.c | 2 +- drivers/iio/accel/kxsd9.c | 4 +- drivers/iio/accel/mma7455_core.c | 2 +- drivers/iio/accel/mma8452.c | 4 +- drivers/iio/accel/msa311.c | 2 +- drivers/iio/accel/mxc4005.c | 2 +- drivers/iio/accel/sca3000.c | 4 +- drivers/iio/accel/sca3300.c | 6 +-- drivers/iio/accel/stk8312.c | 2 +- drivers/iio/accel/stk8ba50.c | 2 +- drivers/iio/adc/ad4000.c | 8 ++-- drivers/iio/adc/ad4030.c | 10 ++--- drivers/iio/adc/ad4062.c | 8 ++-- drivers/iio/adc/ad4080.c | 2 +- drivers/iio/adc/ad4130.c | 2 +- drivers/iio/adc/ad4170-4.c | 12 ++--- drivers/iio/adc/ad4695.c | 24 +++++----- drivers/iio/adc/ad4851.c | 12 ++--- drivers/iio/adc/ad7124.c | 4 +- drivers/iio/adc/ad7173.c | 6 +-- drivers/iio/adc/ad7191.c | 6 +-- drivers/iio/adc/ad7192.c | 2 +- drivers/iio/adc/ad7266.c | 6 +-- drivers/iio/adc/ad7280a.c | 4 +- drivers/iio/adc/ad7298.c | 4 +- drivers/iio/adc/ad7380.c | 44 +++++++++---------- drivers/iio/adc/ad7405.c | 2 +- drivers/iio/adc/ad7476.c | 2 +- drivers/iio/adc/ad7606.c | 14 +++--- drivers/iio/adc/ad7625.c | 2 +- drivers/iio/adc/ad7766.c | 2 +- drivers/iio/adc/ad7768-1.c | 8 ++-- drivers/iio/adc/ad7779.c | 2 +- drivers/iio/adc/ad7780.c | 2 +- drivers/iio/adc/ad7791.c | 2 +- drivers/iio/adc/ad7793.c | 2 +- drivers/iio/adc/ad7887.c | 2 +- drivers/iio/adc/ad7923.c | 2 +- drivers/iio/adc/ad7944.c | 8 ++-- drivers/iio/adc/ad799x.c | 2 +- drivers/iio/adc/ad9467.c | 4 +- drivers/iio/adc/ade9000.c | 4 +- drivers/iio/adc/at91-sama5d2_adc.c | 10 ++--- drivers/iio/adc/at91_adc.c | 4 +- drivers/iio/adc/cc10001_adc.c | 4 +- drivers/iio/adc/cpcap-adc.c | 2 +- drivers/iio/adc/dln2-adc.c | 4 +- drivers/iio/adc/hx711.c | 4 +- drivers/iio/adc/ina2xx-adc.c | 8 ++-- drivers/iio/adc/ingenic-adc.c | 12 ++--- drivers/iio/adc/max1027.c | 4 +- drivers/iio/adc/max1118.c | 2 +- drivers/iio/adc/max11205.c | 2 +- drivers/iio/adc/max11410.c | 2 +- drivers/iio/adc/max1363.c | 4 +- drivers/iio/adc/mcp3911.c | 2 +- drivers/iio/adc/mt6359-auxadc.c | 2 +- drivers/iio/adc/mt6360-adc.c | 2 +- drivers/iio/adc/mxs-lradc-adc.c | 6 +-- drivers/iio/adc/nxp-sar-adc.c | 2 +- drivers/iio/adc/pac1921.c | 8 ++-- drivers/iio/adc/pac1934.c | 32 +++++++------- drivers/iio/adc/rockchip_saradc.c | 2 +- drivers/iio/adc/rtq6056.c | 16 +++---- drivers/iio/adc/sd_adc_modulator.c | 2 +- drivers/iio/adc/stm32-adc.c | 4 +- drivers/iio/adc/stm32-dfsdm-adc.c | 2 +- drivers/iio/adc/ti-adc081c.c | 2 +- drivers/iio/adc/ti-adc0832.c | 4 +- drivers/iio/adc/ti-adc084s021.c | 2 +- drivers/iio/adc/ti-adc108s102.c | 2 +- drivers/iio/adc/ti-adc12138.c | 4 +- drivers/iio/adc/ti-adc161s626.c | 4 +- drivers/iio/adc/ti-ads1015.c | 4 +- drivers/iio/adc/ti-ads1018.c | 6 +-- drivers/iio/adc/ti-ads1100.c | 2 +- drivers/iio/adc/ti-ads1119.c | 2 +- drivers/iio/adc/ti-ads124s08.c | 2 +- drivers/iio/adc/ti-ads1298.c | 2 +- drivers/iio/adc/ti-ads131e08.c | 2 +- drivers/iio/adc/ti-ads7950.c | 2 +- drivers/iio/adc/ti-ads8688.c | 2 +- drivers/iio/adc/ti-lmp92064.c | 4 +- drivers/iio/adc/ti-tlc4541.c | 2 +- drivers/iio/adc/ti-tsc2046.c | 2 +- drivers/iio/adc/ti_am335x_adc.c | 2 +- drivers/iio/adc/vf610_adc.c | 4 +- drivers/iio/adc/xilinx-ams.c | 2 +- drivers/iio/adc/xilinx-xadc-core.c | 10 ++--- drivers/iio/addac/ad74115.c | 2 +- drivers/iio/addac/ad74413r.c | 2 +- drivers/iio/chemical/atlas-ezo-sensor.c | 4 +- drivers/iio/chemical/atlas-sensor.c | 12 ++--- drivers/iio/chemical/bme680_core.c | 8 ++-- drivers/iio/chemical/ccs811.c | 4 +- drivers/iio/chemical/ens160_core.c | 4 +- drivers/iio/chemical/pms7003.c | 2 +- drivers/iio/chemical/scd30_core.c | 2 +- drivers/iio/chemical/scd4x.c | 6 +-- drivers/iio/chemical/sps30.c | 2 +- .../common/cros_ec_sensors/cros_ec_activity.c | 2 +- .../cros_ec_sensors/cros_ec_lid_angle.c | 2 +- .../common/cros_ec_sensors/cros_ec_sensors.c | 4 +- drivers/iio/common/scmi_sensors/scmi_iio.c | 4 +- .../iio/common/ssp_sensors/ssp_iio_sensor.h | 4 +- drivers/iio/dac/ad3552r-hs.c | 2 +- drivers/iio/dac/ad3552r.c | 2 +- drivers/iio/dac/ad5064.c | 2 +- drivers/iio/dac/ad5360.c | 2 +- drivers/iio/dac/ad5380.c | 2 +- drivers/iio/dac/ad5421.c | 2 +- drivers/iio/dac/ad5446.h | 2 +- drivers/iio/dac/ad5449.c | 2 +- drivers/iio/dac/ad5504.c | 2 +- drivers/iio/dac/ad5592r-base.c | 2 +- drivers/iio/dac/ad5624r_spi.c | 2 +- drivers/iio/dac/ad5686.c | 2 +- drivers/iio/dac/ad5755.c | 2 +- drivers/iio/dac/ad5761.c | 2 +- drivers/iio/dac/ad5764.c | 2 +- drivers/iio/dac/ad5766.c | 2 +- drivers/iio/dac/ad5791.c | 4 +- drivers/iio/dac/ad7303.c | 2 +- drivers/iio/dac/ad8460.c | 2 +- drivers/iio/dac/ad9739a.c | 2 +- drivers/iio/dac/ltc1660.c | 2 +- drivers/iio/dac/max5522.c | 2 +- drivers/iio/dac/mcp4922.c | 2 +- drivers/iio/dac/stm32-dac.c | 2 +- drivers/iio/dummy/iio_simple_dummy.c | 8 ++-- drivers/iio/gyro/adis16136.c | 4 +- drivers/iio/gyro/adxrs290.c | 4 +- drivers/iio/gyro/bmg160_core.c | 2 +- drivers/iio/gyro/fxas21002c_core.c | 2 +- drivers/iio/gyro/hid-sensor-gyro-3d.c | 2 +- drivers/iio/gyro/itg3200_core.c | 2 +- drivers/iio/gyro/mpu3050-core.c | 4 +- drivers/iio/health/afe440x.h | 2 +- drivers/iio/health/max30100.c | 4 +- drivers/iio/health/max30102.c | 2 +- drivers/iio/humidity/am2315.c | 4 +- drivers/iio/humidity/hdc100x.c | 4 +- drivers/iio/humidity/hid-sensor-humidity.c | 2 +- drivers/iio/humidity/hts221_core.c | 4 +- drivers/iio/imu/adis.c | 2 +- drivers/iio/imu/adis16400.c | 16 +++---- drivers/iio/imu/adis16460.c | 4 +- drivers/iio/imu/adis16475.c | 6 +-- drivers/iio/imu/adis16480.c | 6 +-- drivers/iio/imu/adis16550.c | 6 +-- drivers/iio/imu/bmi160/bmi160_core.c | 2 +- drivers/iio/imu/bmi270/bmi270_core.c | 4 +- drivers/iio/imu/bmi323/bmi323_core.c | 4 +- drivers/iio/imu/bno055/bno055.c | 2 +- .../iio/imu/inv_icm42600/inv_icm42600_accel.c | 2 +- .../iio/imu/inv_icm42600/inv_icm42600_gyro.c | 2 +- .../iio/imu/inv_icm42600/inv_icm42600_temp.h | 2 +- drivers/iio/imu/inv_icm45600/inv_icm45600.h | 2 +- .../iio/imu/inv_icm45600/inv_icm45600_accel.c | 2 +- .../iio/imu/inv_icm45600/inv_icm45600_gyro.c | 2 +- drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 6 +-- drivers/iio/imu/kmx61.c | 4 +- drivers/iio/imu/smi240.c | 4 +- drivers/iio/imu/smi330/smi330_core.c | 6 +-- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 4 +- drivers/iio/industrialio-buffer.c | 4 +- drivers/iio/light/acpi-als.c | 2 +- drivers/iio/light/adjd_s311.c | 2 +- drivers/iio/light/apds9960.c | 2 +- drivers/iio/light/as73211.c | 6 +-- drivers/iio/light/bh1745.c | 2 +- drivers/iio/light/cros_ec_light_prox.c | 4 +- drivers/iio/light/gp2ap020a00f.c | 6 +-- drivers/iio/light/hid-sensor-als.c | 2 +- drivers/iio/light/hid-sensor-prox.c | 2 +- drivers/iio/light/isl29125.c | 2 +- drivers/iio/light/ltr501.c | 4 +- drivers/iio/light/max44000.c | 4 +- drivers/iio/light/opt4060.c | 4 +- drivers/iio/light/rohm-bu27034.c | 4 +- drivers/iio/light/rpr0521.c | 6 +-- drivers/iio/light/si1145.c | 2 +- drivers/iio/light/st_uvis25_core.c | 2 +- drivers/iio/light/tcs3414.c | 2 +- drivers/iio/light/tcs3472.c | 2 +- drivers/iio/light/vcnl4000.c | 2 +- drivers/iio/light/vcnl4035.c | 4 +- drivers/iio/light/veml6030.c | 8 ++-- drivers/iio/light/veml6046x00.c | 8 ++-- drivers/iio/light/vl6180.c | 6 +-- drivers/iio/magnetometer/af8133j.c | 2 +- drivers/iio/magnetometer/ak8974.c | 2 +- drivers/iio/magnetometer/ak8975.c | 2 +- drivers/iio/magnetometer/als31300.c | 4 +- drivers/iio/magnetometer/bmc150_magn.c | 2 +- drivers/iio/magnetometer/hid-sensor-magn-3d.c | 2 +- drivers/iio/magnetometer/hmc5843_core.c | 4 +- drivers/iio/magnetometer/mag3110.c | 4 +- drivers/iio/magnetometer/rm3100-core.c | 2 +- drivers/iio/magnetometer/tlv493d.c | 4 +- drivers/iio/magnetometer/tmag5273.c | 8 ++-- drivers/iio/magnetometer/yamaha-yas530.c | 4 +- drivers/iio/orientation/hid-sensor-incl-3d.c | 2 +- drivers/iio/orientation/hid-sensor-rotation.c | 2 +- .../position/hid-sensor-custom-intel-hinge.c | 6 +-- drivers/iio/potentiostat/lmp91000.c | 2 +- drivers/iio/pressure/abp2030pa.c | 4 +- drivers/iio/pressure/bmp280-core.c | 18 ++++---- drivers/iio/pressure/cros_ec_baro.c | 4 +- drivers/iio/pressure/dlhl60d.c | 4 +- drivers/iio/pressure/hid-sensor-press.c | 2 +- drivers/iio/pressure/hsc030pa.c | 4 +- drivers/iio/pressure/mpl3115.c | 4 +- drivers/iio/pressure/mprls0025pa.c | 2 +- drivers/iio/pressure/ms5611_core.c | 4 +- drivers/iio/pressure/rohm-bm1390.c | 4 +- drivers/iio/pressure/st_pressure_core.c | 12 ++--- drivers/iio/pressure/zpa2326.c | 4 +- drivers/iio/proximity/as3935.c | 2 +- drivers/iio/proximity/hx9023s.c | 2 +- drivers/iio/proximity/irsd200.c | 2 +- drivers/iio/proximity/isl29501.c | 2 +- drivers/iio/proximity/mb1232.c | 2 +- .../iio/proximity/pulsedlight-lidar-lite-v2.c | 2 +- drivers/iio/proximity/srf08.c | 2 +- drivers/iio/proximity/sx9310.c | 2 +- drivers/iio/proximity/sx9324.c | 2 +- drivers/iio/proximity/sx9360.c | 4 +- drivers/iio/proximity/sx9500.c | 2 +- drivers/iio/proximity/vl53l0x-i2c.c | 2 +- drivers/iio/resolver/ad2s1210.c | 4 +- .../iio/temperature/hid-sensor-temperature.c | 2 +- drivers/iio/temperature/maxim_thermocouple.c | 6 +-- drivers/iio/temperature/tmp006.c | 4 +- include/linux/iio/common/st_sensors.h | 2 +- include/linux/iio/iio.h | 6 +-- include/linux/iio/imu/adis.h | 6 +-- 252 files changed, 511 insertions(+), 511 deletions(-) diff --git a/Documentation/driver-api/iio/buffers.rst b/Documentation/drive= r-api/iio/buffers.rst index 63f364e862d1..00398472ce59 100644 --- a/Documentation/driver-api/iio/buffers.rst +++ b/Documentation/driver-api/iio/buffers.rst @@ -78,7 +78,7 @@ fields in iio_chan_spec definition:: /* other members */ int scan_index struct { - char sign; + char format; u8 realbits; u8 storagebits; u8 shift; @@ -98,7 +98,7 @@ following channel definition:: /* other stuff here */ .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 12, .storagebits =3D 16, .shift =3D 4, diff --git a/drivers/iio/accel/adxl313_core.c b/drivers/iio/accel/adxl313_c= ore.c index 9f5d4d2cb325..f80e6dbb445c 100644 --- a/drivers/iio/accel/adxl313_core.c +++ b/drivers/iio/accel/adxl313_core.c @@ -259,7 +259,7 @@ static const int adxl313_odr_freqs[][2] =3D { .info_mask_shared_by_type_available =3D \ BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 13, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/accel/adxl345_core.c b/drivers/iio/accel/adxl345_c= ore.c index 78e3f799ecc1..d98dfd357b2a 100644 --- a/drivers/iio/accel/adxl345_core.c +++ b/drivers/iio/accel/adxl345_core.c @@ -254,7 +254,7 @@ static const struct iio_event_spec adxl345_events[] =3D= { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D (index), \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 13, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/accel/adxl355_core.c b/drivers/iio/accel/adxl355_c= ore.c index 1c1d64d5cbcb..00b0ec7f3e8f 100644 --- a/drivers/iio/accel/adxl355_core.c +++ b/drivers/iio/accel/adxl355_core.c @@ -725,7 +725,7 @@ static irqreturn_t adxl355_trigger_handler(int irq, voi= d *p) BIT(IIO_CHAN_INFO_HIGH_PASS_FILTER_3DB_FREQUENCY), \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 20, \ .storagebits =3D 32, \ .shift =3D 4, \ @@ -745,7 +745,7 @@ static const struct iio_chan_spec adxl355_channels[] = =3D { BIT(IIO_CHAN_INFO_OFFSET), .scan_index =3D 3, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 12, .storagebits =3D 16, .endianness =3D IIO_BE, diff --git a/drivers/iio/accel/adxl367.c b/drivers/iio/accel/adxl367.c index 0c04b2bb7efb..df4bb72dae68 100644 --- a/drivers/iio/accel/adxl367.c +++ b/drivers/iio/accel/adxl367.c @@ -1344,7 +1344,7 @@ static const struct iio_event_spec adxl367_events[] = =3D { .num_event_specs =3D ARRAY_SIZE(adxl367_events), \ .scan_index =3D (index), \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 14, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ @@ -1360,7 +1360,7 @@ static const struct iio_event_spec adxl367_events[] = =3D { .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D (index), \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 14, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/accel/adxl372.c b/drivers/iio/accel/adxl372.c index 28a8793a53b6..2d04fecb1508 100644 --- a/drivers/iio/accel/adxl372.c +++ b/drivers/iio/accel/adxl372.c @@ -262,7 +262,7 @@ static const struct iio_event_spec adxl372_events[] =3D= { BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY), \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 12, \ .storagebits =3D 16, \ .shift =3D 4, \ diff --git a/drivers/iio/accel/adxl380.c b/drivers/iio/accel/adxl380.c index 8fab2fdbe147..4a648ea3f7bc 100644 --- a/drivers/iio/accel/adxl380.c +++ b/drivers/iio/accel/adxl380.c @@ -1789,7 +1789,7 @@ static const struct iio_event_spec adxl380_events[] = =3D { BIT(IIO_CHAN_INFO_HIGH_PASS_FILTER_3DB_FREQUENCY), \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ @@ -1810,7 +1810,7 @@ static const struct iio_chan_spec adxl380_channels[] = =3D { BIT(IIO_CHAN_INFO_OFFSET), .scan_index =3D 3, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 12, .storagebits =3D 16, .shift =3D 4, diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c index 7bc6761f5135..47244a70799b 100644 --- a/drivers/iio/accel/bma180.c +++ b/drivers/iio/accel/bma180.c @@ -541,7 +541,7 @@ static int bma180_read_raw(struct iio_dev *indio_dev, iio_device_release_direct(indio_dev); if (ret < 0) return ret; - if (chan->scan_type.sign =3D=3D 's') { + if (chan->scan_type.format =3D=3D 's') { *val =3D sign_extend32(ret >> chan->scan_type.shift, chan->scan_type.realbits - 1); } else { @@ -663,7 +663,7 @@ static const struct iio_chan_spec_ext_info bma180_ext_i= nfo[] =3D { BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY), \ .scan_index =3D AXIS_##_axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D _bits, \ .storagebits =3D 16, \ .shift =3D 16 - _bits, \ @@ -677,7 +677,7 @@ static const struct iio_chan_spec_ext_info bma180_ext_i= nfo[] =3D { BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_OFFSET), \ .scan_index =3D TEMP, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 8, \ .storagebits =3D 16, \ }, \ @@ -692,7 +692,7 @@ static const struct iio_chan_spec_ext_info bma180_ext_i= nfo[] =3D { BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY), \ .scan_index =3D AXIS_##_axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D _bits, \ .storagebits =3D 16, \ .shift =3D 16 - _bits, \ @@ -706,7 +706,7 @@ static const struct iio_chan_spec_ext_info bma180_ext_i= nfo[] =3D { BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_OFFSET), \ .scan_index =3D TEMP, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 8, \ .storagebits =3D 16, \ }, \ diff --git a/drivers/iio/accel/bma220_core.c b/drivers/iio/accel/bma220_cor= e.c index f32d875b994e..e4a9b33d1e1c 100644 --- a/drivers/iio/accel/bma220_core.c +++ b/drivers/iio/accel/bma220_core.c @@ -107,7 +107,7 @@ BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY), \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 6, \ .storagebits =3D 8, \ .shift =3D 2, \ diff --git a/drivers/iio/accel/bma400_core.c b/drivers/iio/accel/bma400_cor= e.c index 05f72707f830..05c17e8ea077 100644 --- a/drivers/iio/accel/bma400_core.c +++ b/drivers/iio/accel/bma400_core.c @@ -399,7 +399,7 @@ static const struct attribute_group bma400_event_attrib= ute_group =3D { .ext_info =3D bma400_ext_info, \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 12, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ @@ -428,7 +428,7 @@ static const struct iio_chan_spec bma400_channels[] =3D= { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_index =3D 3, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 8, .storagebits =3D 8, .endianness =3D IIO_LE, diff --git a/drivers/iio/accel/bmc150-accel-core.c b/drivers/iio/accel/bmc1= 50-accel-core.c index 42ccf0316ce5..9712a35929c1 100644 --- a/drivers/iio/accel/bmc150-accel-core.c +++ b/drivers/iio/accel/bmc150-accel-core.c @@ -1059,7 +1059,7 @@ static const struct iio_event_spec bmc150_accel_event= =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D AXIS_##_axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 16 - (bits), \ diff --git a/drivers/iio/accel/cros_ec_accel_legacy.c b/drivers/iio/accel/c= ros_ec_accel_legacy.c index f7e4dc02b34d..82e361e12b3d 100644 --- a/drivers/iio/accel/cros_ec_accel_legacy.c +++ b/drivers/iio/accel/cros_ec_accel_legacy.c @@ -189,7 +189,7 @@ static const struct iio_info cros_ec_accel_legacy_info = =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .ext_info =3D cros_ec_sensors_ext_info, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D CROS_EC_SENSOR_BITS, \ .storagebits =3D CROS_EC_SENSOR_BITS, \ }, \ diff --git a/drivers/iio/accel/fxls8962af-core.c b/drivers/iio/accel/fxls89= 62af-core.c index 8763e91c63d2..778e9a927ea4 100644 --- a/drivers/iio/accel/fxls8962af-core.c +++ b/drivers/iio/accel/fxls8962af-core.c @@ -731,7 +731,7 @@ static const struct iio_event_spec fxls8962af_event[] = =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D idx, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 12, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ @@ -748,7 +748,7 @@ static const struct iio_event_spec fxls8962af_event[] = =3D { BIT(IIO_CHAN_INFO_OFFSET),\ .scan_index =3D -1, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 8, \ .storagebits =3D 8, \ }, \ diff --git a/drivers/iio/accel/hid-sensor-accel-3d.c b/drivers/iio/accel/hi= d-sensor-accel-3d.c index 2ff591b3458f..e0a7f7ca72b0 100644 --- a/drivers/iio/accel/hid-sensor-accel-3d.c +++ b/drivers/iio/accel/hid-sensor-accel-3d.c @@ -123,7 +123,7 @@ static const struct iio_chan_spec gravity_channels[] = =3D { static void accel_3d_adjust_channel_bit_mask(struct iio_chan_spec *channel= s, int channel, int size) { - channels[channel].scan_type.sign =3D 's'; + channels[channel].scan_type.format =3D 's'; /* Real storage bits will change based on the report desc. */ channels[channel].scan_type.realbits =3D size * 8; /* Maximum size of a sample to capture is u32 */ diff --git a/drivers/iio/accel/kionix-kx022a.c b/drivers/iio/accel/kionix-k= x022a.c index 39485572a76b..7ab15251b416 100644 --- a/drivers/iio/accel/kionix-kx022a.c +++ b/drivers/iio/accel/kionix-kx022a.c @@ -348,7 +348,7 @@ static const struct iio_chan_spec_ext_info kx022a_ext_i= nfo[] =3D { .address =3D reg, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/accel/kxcjk-1013.c b/drivers/iio/accel/kxcjk-1013.c index 2823ddde4bf2..71bf203d7666 100644 --- a/drivers/iio/accel/kxcjk-1013.c +++ b/drivers/iio/accel/kxcjk-1013.c @@ -1147,7 +1147,7 @@ static const struct iio_chan_spec_ext_info kxcjk1013_= ext_info[] =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D AXIS_##_axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 12, \ .storagebits =3D 16, \ .shift =3D 4, \ diff --git a/drivers/iio/accel/kxsd9.c b/drivers/iio/accel/kxsd9.c index 4717d80fc24a..36a91cf776ea 100644 --- a/drivers/iio/accel/kxsd9.c +++ b/drivers/iio/accel/kxsd9.c @@ -284,7 +284,7 @@ static const struct iio_chan_spec_ext_info kxsd9_ext_in= fo[] =3D { .address =3D KXSD9_REG_##axis, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 12, \ .storagebits =3D 16, \ .shift =3D 4, \ @@ -303,7 +303,7 @@ static const struct iio_chan_spec kxsd9_channels[] =3D { .address =3D KXSD9_REG_AUX, .scan_index =3D 3, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 12, .storagebits =3D 16, .shift =3D 4, diff --git a/drivers/iio/accel/mma7455_core.c b/drivers/iio/accel/mma7455_c= ore.c index a2b5bdf14dde..3b0b3159892f 100644 --- a/drivers/iio/accel/mma7455_core.c +++ b/drivers/iio/accel/mma7455_core.c @@ -219,7 +219,7 @@ static const struct iio_info mma7455_info =3D { BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D idx, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 10, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/accel/mma8452.c b/drivers/iio/accel/mma8452.c index 15172ba2972c..69942239d3ed 100644 --- a/drivers/iio/accel/mma8452.c +++ b/drivers/iio/accel/mma8452.c @@ -1233,7 +1233,7 @@ static const struct iio_chan_spec_ext_info mma8452_ex= t_info[] =3D { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), \ .scan_index =3D idx, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 16 - (bits), \ @@ -1255,7 +1255,7 @@ static const struct iio_chan_spec_ext_info mma8452_ex= t_info[] =3D { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), \ .scan_index =3D idx, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 16 - (bits), \ diff --git a/drivers/iio/accel/msa311.c b/drivers/iio/accel/msa311.c index 5eace0de3750..a239c48d44fb 100644 --- a/drivers/iio/accel/msa311.c +++ b/drivers/iio/accel/msa311.c @@ -382,7 +382,7 @@ enum msa311_si { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D MSA311_SI_##axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 12, \ .storagebits =3D 16, \ .shift =3D 4, \ diff --git a/drivers/iio/accel/mxc4005.c b/drivers/iio/accel/mxc4005.c index a2c3cf13d098..f3aa7f25cc7f 100644 --- a/drivers/iio/accel/mxc4005.c +++ b/drivers/iio/accel/mxc4005.c @@ -306,7 +306,7 @@ static const unsigned long mxc4005_scan_masks[] =3D { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D AXIS_##_axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 12, \ .storagebits =3D 16, \ .shift =3D 4, \ diff --git a/drivers/iio/accel/sca3000.c b/drivers/iio/accel/sca3000.c index 4a827be439a2..5acba0f31aca 100644 --- a/drivers/iio/accel/sca3000.c +++ b/drivers/iio/accel/sca3000.c @@ -485,7 +485,7 @@ static const struct iio_event_spec sca3000_event =3D { .address =3D index, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 13, \ .storagebits =3D 16, \ .shift =3D 3, \ @@ -528,7 +528,7 @@ static const struct iio_chan_spec sca3000_channels_with= _temp[] =3D { /* No buffer support */ .scan_index =3D -1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 9, .storagebits =3D 16, .shift =3D 5, diff --git a/drivers/iio/accel/sca3300.c b/drivers/iio/accel/sca3300.c index 8380b237831c..ff5fed5f2dbc 100644 --- a/drivers/iio/accel/sca3300.c +++ b/drivers/iio/accel/sca3300.c @@ -70,7 +70,7 @@ enum sca3300_scan_indexes { BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY), \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ @@ -87,7 +87,7 @@ enum sca3300_scan_indexes { .info_mask_shared_by_type_available =3D BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ @@ -100,7 +100,7 @@ enum sca3300_scan_indexes { .scan_index =3D index, \ .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW), \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/accel/stk8312.c b/drivers/iio/accel/stk8312.c index f31c6ab3392d..2493758f6a82 100644 --- a/drivers/iio/accel/stk8312.c +++ b/drivers/iio/accel/stk8312.c @@ -80,7 +80,7 @@ static const struct { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 8, \ .storagebits =3D 8, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/accel/stk8ba50.c b/drivers/iio/accel/stk8ba50.c index a9ff2a273fe1..e1a720e7d460 100644 --- a/drivers/iio/accel/stk8ba50.c +++ b/drivers/iio/accel/stk8ba50.c @@ -108,7 +108,7 @@ struct stk8ba50_data { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 10, \ .storagebits =3D 16, \ .shift =3D STK8BA50_DATA_SHIFT, \ diff --git a/drivers/iio/adc/ad4000.c b/drivers/iio/adc/ad4000.c index fd3d79fca785..b83303ea852e 100644 --- a/drivers/iio/adc/ad4000.c +++ b/drivers/iio/adc/ad4000.c @@ -51,7 +51,7 @@ .info_mask_separate_available =3D _reg_access ? BIT(IIO_CHAN_INFO_SCALE) = : 0,\ .scan_index =3D 0, \ .scan_type =3D { \ - .sign =3D _sign, \ + .format =3D _sign, \ .realbits =3D _real_bits, \ .storagebits =3D _storage_bits, \ .shift =3D (_offl ? 0 : _storage_bits - _real_bits), \ @@ -89,7 +89,7 @@ .info_mask_separate_available =3D _reg_access ? BIT(IIO_CHAN_INFO_SCALE) = : 0,\ .scan_index =3D 0, \ .scan_type =3D { \ - .sign =3D _sign, \ + .format =3D _sign, \ .realbits =3D _real_bits, \ .storagebits =3D _storage_bits, \ .shift =3D (_offl ? 0 : _storage_bits - _real_bits), \ @@ -540,7 +540,7 @@ static void ad4000_fill_scale_tbl(struct ad4000_state *= st, * ADCs that output two's complement code have one less bit to express * voltage magnitude. */ - if (chan->scan_type.sign =3D=3D 's') + if (chan->scan_type.format =3D=3D 's') scale_bits =3D chan->scan_type.realbits - 1; else scale_bits =3D chan->scan_type.realbits; @@ -657,7 +657,7 @@ static int ad4000_single_conversion(struct iio_dev *ind= io_dev, =20 sample >>=3D chan->scan_type.shift; =20 - if (chan->scan_type.sign =3D=3D 's') + if (chan->scan_type.format =3D=3D 's') *val =3D sign_extend32(sample, chan->scan_type.realbits - 1); else *val =3D sample; diff --git a/drivers/iio/adc/ad4030.c b/drivers/iio/adc/ad4030.c index 68446db9bef1..d27acd7f1cb9 100644 --- a/drivers/iio/adc/ad4030.c +++ b/drivers/iio/adc/ad4030.c @@ -196,7 +196,7 @@ struct ad4030_state { .channel =3D ((_idx) - (_ch)) * 2 + (_ch), \ .scan_index =3D (_idx), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .storagebits =3D 8, \ .realbits =3D 8, \ .endianness =3D IIO_BE, \ @@ -1083,14 +1083,14 @@ static const unsigned long ad4630_channel_masks[] = =3D { =20 static const struct iio_scan_type ad4030_24_scan_types[] =3D { [AD4030_SCAN_TYPE_NORMAL] =3D { - .sign =3D 's', + .format =3D 's', .storagebits =3D 32, .realbits =3D 24, .shift =3D 8, .endianness =3D IIO_BE, }, [AD4030_SCAN_TYPE_AVG] =3D { - .sign =3D 's', + .format =3D 's', .storagebits =3D 32, .realbits =3D 30, .shift =3D 2, @@ -1100,14 +1100,14 @@ static const struct iio_scan_type ad4030_24_scan_ty= pes[] =3D { =20 static const struct iio_scan_type ad4030_16_scan_types[] =3D { [AD4030_SCAN_TYPE_NORMAL] =3D { - .sign =3D 's', + .format =3D 's', .storagebits =3D 32, .realbits =3D 16, .shift =3D 16, .endianness =3D IIO_BE, }, [AD4030_SCAN_TYPE_AVG] =3D { - .sign =3D 's', + .format =3D 's', .storagebits =3D 32, .realbits =3D 30, .shift =3D 2, diff --git a/drivers/iio/adc/ad4062.c b/drivers/iio/adc/ad4062.c index dd4ad32aa6f5..985017f04970 100644 --- a/drivers/iio/adc/ad4062.c +++ b/drivers/iio/adc/ad4062.c @@ -122,13 +122,13 @@ enum { =20 static const struct iio_scan_type ad4062_scan_type_12_s[] =3D { [AD4062_SCAN_TYPE_SAMPLE] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 12, .storagebits =3D 16, .endianness =3D IIO_BE, }, [AD4062_SCAN_TYPE_BURST_AVG] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 14, .storagebits =3D 16, .endianness =3D IIO_BE, @@ -137,13 +137,13 @@ static const struct iio_scan_type ad4062_scan_type_12= _s[] =3D { =20 static const struct iio_scan_type ad4062_scan_type_16_s[] =3D { [AD4062_SCAN_TYPE_SAMPLE] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, }, [AD4062_SCAN_TYPE_BURST_AVG] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 20, .storagebits =3D 32, .endianness =3D IIO_BE, diff --git a/drivers/iio/adc/ad4080.c b/drivers/iio/adc/ad4080.c index 7cf3b6ed7940..7b67e229dedf 100644 --- a/drivers/iio/adc/ad4080.c +++ b/drivers/iio/adc/ad4080.c @@ -432,7 +432,7 @@ static struct iio_chan_spec_ext_info ad4080_ext_info[] = =3D { .ext_info =3D ad4080_ext_info, \ .scan_index =3D 0, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (bits), \ .storagebits =3D (storage), \ }, \ diff --git a/drivers/iio/adc/ad4130.c b/drivers/iio/adc/ad4130.c index 5567ae5dee88..d20a0180201e 100644 --- a/drivers/iio/adc/ad4130.c +++ b/drivers/iio/adc/ad4130.c @@ -1002,7 +1002,7 @@ static const struct iio_chan_spec ad4130_channel_temp= late =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), .ext_info =3D ad4130_ext_info, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .endianness =3D IIO_BE, }, }; diff --git a/drivers/iio/adc/ad4170-4.c b/drivers/iio/adc/ad4170-4.c index 82205bfae531..96b0302331cd 100644 --- a/drivers/iio/adc/ad4170-4.c +++ b/drivers/iio/adc/ad4170-4.c @@ -955,7 +955,7 @@ static const struct iio_chan_spec ad4170_temp_channel_t= emplate =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), .info_mask_separate_available =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 24, .storagebits =3D 32, .shift =3D 8, @@ -1101,7 +1101,7 @@ static int ad4170_get_input_range(struct ad4170_state= *st, struct iio_chan_spec const *chan, unsigned int ch_reg, unsigned int ref_sel) { - bool bipolar =3D chan->scan_type.sign =3D=3D 's'; + bool bipolar =3D chan->scan_type.format =3D=3D 's'; struct device *dev =3D &st->spi->dev; int refp, refn, ain_voltage, ret; =20 @@ -1228,7 +1228,7 @@ static int __ad4170_read_sample(struct iio_dev *indio= _dev, if (ret) return ret; =20 - if (chan->scan_type.sign =3D=3D 's') + if (chan->scan_type.format =3D=3D 's') *val =3D sign_extend32(*val, chan->scan_type.realbits - 1); =20 return 0; @@ -1353,7 +1353,7 @@ static int ad4170_fill_scale_tbl(struct iio_dev *indi= o_dev, struct ad4170_state *st =3D iio_priv(indio_dev); struct ad4170_chan_info *chan_info =3D &st->chan_infos[chan->address]; struct device *dev =3D &st->spi->dev; - int bipolar =3D chan->scan_type.sign =3D=3D 's' ? 1 : 0; + int bipolar =3D chan->scan_type.format =3D=3D 's' ? 1 : 0; int precision_bits =3D chan->scan_type.realbits; int pga, ainm_voltage, ret; unsigned long long offset; @@ -2335,9 +2335,9 @@ static int ad4170_parse_channel_node(struct iio_dev *= indio_dev, bipolar =3D fwnode_property_read_bool(child, "bipolar"); setup->afe |=3D FIELD_PREP(AD4170_AFE_BIPOLAR_MSK, bipolar); if (bipolar) - chan->scan_type.sign =3D 's'; + chan->scan_type.format =3D 's'; else - chan->scan_type.sign =3D 'u'; + chan->scan_type.format =3D 'u'; =20 ret =3D ad4170_validate_channel(st, chan); if (ret) diff --git a/drivers/iio/adc/ad4695.c b/drivers/iio/adc/ad4695.c index cda419638d9a..fd7378b3e0e4 100644 --- a/drivers/iio/adc/ad4695.c +++ b/drivers/iio/adc/ad4695.c @@ -314,25 +314,25 @@ enum { =20 static const struct iio_scan_type ad4695_scan_type_offload_u[] =3D { [AD4695_SCAN_TYPE_OSR_1] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .shift =3D 3, .storagebits =3D 32, }, [AD4695_SCAN_TYPE_OSR_4] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 17, .shift =3D 2, .storagebits =3D 32, }, [AD4695_SCAN_TYPE_OSR_16] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 18, .shift =3D 1, .storagebits =3D 32, }, [AD4695_SCAN_TYPE_OSR_64] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 19, .storagebits =3D 32, }, @@ -340,25 +340,25 @@ static const struct iio_scan_type ad4695_scan_type_of= fload_u[] =3D { =20 static const struct iio_scan_type ad4695_scan_type_offload_s[] =3D { [AD4695_SCAN_TYPE_OSR_1] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .shift =3D 3, .storagebits =3D 32, }, [AD4695_SCAN_TYPE_OSR_4] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 17, .shift =3D 2, .storagebits =3D 32, }, [AD4695_SCAN_TYPE_OSR_16] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 18, .shift =3D 1, .storagebits =3D 32, }, [AD4695_SCAN_TYPE_OSR_64] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 19, .storagebits =3D 32, }, @@ -375,7 +375,7 @@ static const struct iio_chan_spec ad4695_channel_templa= te =3D { .info_mask_separate_available =3D BIT(IIO_CHAN_INFO_CALIBSCALE) | BIT(IIO_CHAN_INFO_CALIBBIAS), .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, }, @@ -388,7 +388,7 @@ static const struct iio_chan_spec ad4695_temp_channel_t= emplate =3D { BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_OFFSET), .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, }, @@ -1037,7 +1037,7 @@ static int __ad4695_read_info_raw(struct ad4695_state= *st, if (ret) return ret; =20 - if (chan->scan_type.sign =3D=3D 's') + if (chan->scan_type.format =3D=3D 's') *val =3D sign_extend32(st->raw_data, realbits - 1); else *val =3D st->raw_data; @@ -1603,7 +1603,7 @@ static int ad4695_parse_channel_cfg(struct ad4695_sta= te *st) fwnode_get_name(child)); =20 if (chan_cfg->bipolar) - iio_chan->scan_type.sign =3D 's'; + iio_chan->scan_type.format =3D 's'; =20 ret =3D ad4695_write_chn_cfg(st, chan_cfg); if (ret) diff --git a/drivers/iio/adc/ad4851.c b/drivers/iio/adc/ad4851.c index 1ad77f2a4580..080f069e0f84 100644 --- a/drivers/iio/adc/ad4851.c +++ b/drivers/iio/adc/ad4851.c @@ -891,12 +891,12 @@ static int ad4851_read_avail(struct iio_dev *indio_de= v, =20 static const struct iio_scan_type ad4851_scan_type_20_u[] =3D { [AD4851_SCAN_TYPE_NORMAL] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 20, .storagebits =3D 32, }, [AD4851_SCAN_TYPE_RESOLUTION_BOOST] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, }, @@ -904,12 +904,12 @@ static const struct iio_scan_type ad4851_scan_type_20= _u[] =3D { =20 static const struct iio_scan_type ad4851_scan_type_20_b[] =3D { [AD4851_SCAN_TYPE_NORMAL] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 20, .storagebits =3D 32, }, [AD4851_SCAN_TYPE_RESOLUTION_BOOST] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 24, .storagebits =3D 32, }, @@ -949,7 +949,7 @@ static int ad4851_get_current_scan_type(const struct ii= o_dev *indio_dev, { \ AD4851_IIO_CHANNEL, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ }, \ @@ -997,7 +997,7 @@ static int ad4851_parse_channels_common(struct iio_dev = *indio_dev, st->bipolar_ch[reg] =3D fwnode_property_read_bool(child, "bipolar"); =20 if (st->bipolar_ch[reg]) { - channels->scan_type.sign =3D 's'; + channels->scan_type.format =3D 's'; } else { ret =3D regmap_write(st->regmap, AD4851_REG_CHX_SOFTSPAN(reg), AD4851_SOFTSPAN_0V_40V); diff --git a/drivers/iio/adc/ad7124.c b/drivers/iio/adc/ad7124.c index 5c1a8f886bcc..76fdc732d426 100644 --- a/drivers/iio/adc/ad7124.c +++ b/drivers/iio/adc/ad7124.c @@ -1182,7 +1182,7 @@ static const struct iio_chan_spec ad7124_channel_temp= late =3D { BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY), .info_mask_shared_by_type_available =3D BIT(IIO_CHAN_INFO_SCALE), .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_BE, @@ -1308,7 +1308,7 @@ static int ad7124_parse_channel_config(struct iio_dev= *indio_dev, * measurement yields an unsigned value, but * this matches the device's manual. */ - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_BE, diff --git a/drivers/iio/adc/ad7173.c b/drivers/iio/adc/ad7173.c index d36612352b44..ca8cffd3b279 100644 --- a/drivers/iio/adc/ad7173.c +++ b/drivers/iio/adc/ad7173.c @@ -1549,7 +1549,7 @@ static const struct iio_info ad7173_info =3D { }; =20 static const struct iio_scan_type ad4113_scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, @@ -1561,7 +1561,7 @@ static const struct iio_chan_spec ad7173_channel_temp= late =3D { .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_BE, @@ -1577,7 +1577,7 @@ static const struct iio_chan_spec ad7173_temp_iio_cha= nnel_template =3D { BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_OFFSET) | BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_BE, diff --git a/drivers/iio/adc/ad7191.c b/drivers/iio/adc/ad7191.c index d9cd903ffdd2..5ebdf06c093c 100644 --- a/drivers/iio/adc/ad7191.c +++ b/drivers/iio/adc/ad7191.c @@ -437,7 +437,7 @@ static const struct iio_chan_spec ad7191_channels[] =3D= { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_BE, @@ -458,7 +458,7 @@ static const struct iio_chan_spec ad7191_channels[] =3D= { .info_mask_shared_by_type_available =3D BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_BE, @@ -479,7 +479,7 @@ static const struct iio_chan_spec ad7191_channels[] =3D= { .info_mask_shared_by_type_available =3D BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 2, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_BE, diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c index 530e1d307860..f1874071698c 100644 --- a/drivers/iio/adc/ad7192.c +++ b/drivers/iio/adc/ad7192.c @@ -1151,7 +1151,7 @@ static const struct iio_info ad7195_info =3D { .ext_info =3D (_ext_info), \ .scan_index =3D (_si), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 24, \ .storagebits =3D 32, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/adc/ad7266.c b/drivers/iio/adc/ad7266.c index 3364ac6c4631..0a8c0aa98916 100644 --- a/drivers/iio/adc/ad7266.c +++ b/drivers/iio/adc/ad7266.c @@ -160,7 +160,7 @@ static int ad7266_read_raw(struct iio_dev *indio_dev, if (ret < 0) return ret; *val =3D (*val >> 2) & 0xfff; - if (chan->scan_type.sign =3D=3D 's') + if (chan->scan_type.format =3D=3D 's') *val =3D sign_extend32(*val, chan->scan_type.realbits - 1); =20 @@ -196,7 +196,7 @@ static int ad7266_read_raw(struct iio_dev *indio_dev, | BIT(IIO_CHAN_INFO_OFFSET), \ .scan_index =3D (_chan), \ .scan_type =3D { \ - .sign =3D (_sign), \ + .format =3D (_sign), \ .realbits =3D 12, \ .storagebits =3D 16, \ .shift =3D 2, \ @@ -244,7 +244,7 @@ static AD7266_DECLARE_SINGLE_ENDED_CHANNELS_FIXED(s, 's= '); | BIT(IIO_CHAN_INFO_OFFSET), \ .scan_index =3D (_chan), \ .scan_type =3D { \ - .sign =3D _sign, \ + .format =3D _sign, \ .realbits =3D 12, \ .storagebits =3D 16, \ .shift =3D 2, \ diff --git a/drivers/iio/adc/ad7280a.c b/drivers/iio/adc/ad7280a.c index ba12a3796e2b..d0f9e4db6a63 100644 --- a/drivers/iio/adc/ad7280a.c +++ b/drivers/iio/adc/ad7280a.c @@ -621,7 +621,7 @@ static void ad7280_common_fields_init(struct iio_chan_s= pec *chan, int addr, chan->info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO); chan->address =3D addr; chan->scan_index =3D cnt; - chan->scan_type.sign =3D 'u'; + chan->scan_type.format =3D 'u'; chan->scan_type.realbits =3D 12; chan->scan_type.storagebits =3D 32; } @@ -638,7 +638,7 @@ static void ad7280_total_voltage_channel_init(struct ii= o_chan_spec *chan, chan->info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW); chan->info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE); chan->scan_index =3D cnt; - chan->scan_type.sign =3D 'u'; + chan->scan_type.format =3D 'u'; chan->scan_type.realbits =3D 32; chan->scan_type.storagebits =3D 32; } diff --git a/drivers/iio/adc/ad7298.c b/drivers/iio/adc/ad7298.c index 7c0538ea15c8..c5a4a063a432 100644 --- a/drivers/iio/adc/ad7298.c +++ b/drivers/iio/adc/ad7298.c @@ -63,7 +63,7 @@ struct ad7298_state { .address =3D index, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 12, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ @@ -81,7 +81,7 @@ static const struct iio_chan_spec ad7298_channels[] =3D { .address =3D AD7298_CH_TEMP, .scan_index =3D -1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 32, .storagebits =3D 32, }, diff --git a/drivers/iio/adc/ad7380.c b/drivers/iio/adc/ad7380.c index bfd908deefc0..e51a19c15ed8 100644 --- a/drivers/iio/adc/ad7380.c +++ b/drivers/iio/adc/ad7380.c @@ -155,13 +155,13 @@ enum { /* Extended scan types for 12-bit unsigned chips. */ static const struct iio_scan_type ad7380_scan_type_12_u[] =3D { [AD7380_SCAN_TYPE_NORMAL] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 12, .storagebits =3D 16, .endianness =3D IIO_CPU, }, [AD7380_SCAN_TYPE_RESOLUTION_BOOST] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 14, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -171,13 +171,13 @@ static const struct iio_scan_type ad7380_scan_type_12= _u[] =3D { /* Extended scan types for 14-bit signed chips. */ static const struct iio_scan_type ad7380_scan_type_14_s[] =3D { [AD7380_SCAN_TYPE_NORMAL] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 14, .storagebits =3D 16, .endianness =3D IIO_CPU, }, [AD7380_SCAN_TYPE_RESOLUTION_BOOST] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -187,13 +187,13 @@ static const struct iio_scan_type ad7380_scan_type_14= _s[] =3D { /* Extended scan types for 14-bit unsigned chips. */ static const struct iio_scan_type ad7380_scan_type_14_u[] =3D { [AD7380_SCAN_TYPE_NORMAL] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 14, .storagebits =3D 16, .endianness =3D IIO_CPU, }, [AD7380_SCAN_TYPE_RESOLUTION_BOOST] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -203,13 +203,13 @@ static const struct iio_scan_type ad7380_scan_type_14= _u[] =3D { /* Extended scan types for 16-bit signed_chips. */ static const struct iio_scan_type ad7380_scan_type_16_s[] =3D { [AD7380_SCAN_TYPE_NORMAL] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, }, [AD7380_SCAN_TYPE_RESOLUTION_BOOST] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 18, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -219,13 +219,13 @@ static const struct iio_scan_type ad7380_scan_type_16= _s[] =3D { /* Extended scan types for 16-bit unsigned chips. */ static const struct iio_scan_type ad7380_scan_type_16_u[] =3D { [AD7380_SCAN_TYPE_NORMAL] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, }, [AD7380_SCAN_TYPE_RESOLUTION_BOOST] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 18, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -240,13 +240,13 @@ static const struct iio_scan_type ad7380_scan_type_16= _u[] =3D { /* Extended scan types for 12-bit unsigned chips, offload support. */ static const struct iio_scan_type ad7380_scan_type_12_u_offload[] =3D { [AD7380_SCAN_TYPE_NORMAL] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 12, .storagebits =3D 32, .endianness =3D IIO_CPU, }, [AD7380_SCAN_TYPE_RESOLUTION_BOOST] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 14, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -256,13 +256,13 @@ static const struct iio_scan_type ad7380_scan_type_12= _u_offload[] =3D { /* Extended scan types for 14-bit signed chips, offload support. */ static const struct iio_scan_type ad7380_scan_type_14_s_offload[] =3D { [AD7380_SCAN_TYPE_NORMAL] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 14, .storagebits =3D 32, .endianness =3D IIO_CPU, }, [AD7380_SCAN_TYPE_RESOLUTION_BOOST] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -272,13 +272,13 @@ static const struct iio_scan_type ad7380_scan_type_14= _s_offload[] =3D { /* Extended scan types for 14-bit unsigned chips, offload support. */ static const struct iio_scan_type ad7380_scan_type_14_u_offload[] =3D { [AD7380_SCAN_TYPE_NORMAL] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 14, .storagebits =3D 32, .endianness =3D IIO_CPU, }, [AD7380_SCAN_TYPE_RESOLUTION_BOOST] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -288,13 +288,13 @@ static const struct iio_scan_type ad7380_scan_type_14= _u_offload[] =3D { /* Extended scan types for 16-bit signed_chips, offload support. */ static const struct iio_scan_type ad7380_scan_type_16_s_offload[] =3D { [AD7380_SCAN_TYPE_NORMAL] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 32, .endianness =3D IIO_CPU, }, [AD7380_SCAN_TYPE_RESOLUTION_BOOST] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 18, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -304,13 +304,13 @@ static const struct iio_scan_type ad7380_scan_type_16= _s_offload[] =3D { /* Extended scan types for 16-bit unsigned chips, offload support. */ static const struct iio_scan_type ad7380_scan_type_16_u_offload[] =3D { [AD7380_SCAN_TYPE_NORMAL] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 32, .endianness =3D IIO_CPU, }, [AD7380_SCAN_TYPE_RESOLUTION_BOOST] =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 18, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -1400,14 +1400,14 @@ static int ad7380_read_direct(struct ad7380_state *= st, unsigned int scan_index, return ret; =20 if (scan_type->realbits > 16) { - if (scan_type->sign =3D=3D 's') + if (scan_type->format =3D=3D 's') *val =3D sign_extend32(*(u32 *)(st->scan_data + 4 * index), scan_type->realbits - 1); else *val =3D *(u32 *)(st->scan_data + 4 * index) & GENMASK(scan_type->realbits - 1, 0); } else { - if (scan_type->sign =3D=3D 's') + if (scan_type->format =3D=3D 's') *val =3D sign_extend32(*(u16 *)(st->scan_data + 2 * index), scan_type->realbits - 1); else diff --git a/drivers/iio/adc/ad7405.c b/drivers/iio/adc/ad7405.c index 9adf85a732ce..85566b635d3c 100644 --- a/drivers/iio/adc/ad7405.c +++ b/drivers/iio/adc/ad7405.c @@ -133,7 +133,7 @@ static const struct iio_chan_spec ad7405_channel =3D { .differential =3D 1, .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, }, diff --git a/drivers/iio/adc/ad7476.c b/drivers/iio/adc/ad7476.c index 21d3f6aae972..a52e70827a8b 100644 --- a/drivers/iio/adc/ad7476.c +++ b/drivers/iio/adc/ad7476.c @@ -160,7 +160,7 @@ static int ad7476_read_raw(struct iio_dev *indio_dev, .info_mask_separate =3D _info_mask_sep, \ .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D (_shift), \ diff --git a/drivers/iio/adc/ad7606.c b/drivers/iio/adc/ad7606.c index d9271894f091..80aca38118e3 100644 --- a/drivers/iio/adc/ad7606.c +++ b/drivers/iio/adc/ad7606.c @@ -413,7 +413,7 @@ static int ad7606c_18bit_chan_scale_setup(struct iio_de= v *indio_dev, /* Bipolar single-ended ranges start at 0 (b0000) */ ci->reg_offset =3D 0; ci->range =3D 3; - chan->scan_type.sign =3D 's'; + chan->scan_type.format =3D 's'; =20 return 0; } @@ -424,7 +424,7 @@ static int ad7606c_18bit_chan_scale_setup(struct iio_de= v *indio_dev, /* Unipolar single-ended ranges start at 5 (b0101) */ ci->reg_offset =3D 5; ci->range =3D 1; - chan->scan_type.sign =3D 'u'; + chan->scan_type.format =3D 'u'; =20 return 0; } @@ -458,7 +458,7 @@ static int ad7606c_16bit_chan_scale_setup(struct iio_de= v *indio_dev, ci->range =3D 1; chan->differential =3D 1; chan->channel2 =3D chan->channel; - chan->scan_type.sign =3D 's'; + chan->scan_type.format =3D 's'; =20 return 0; } @@ -472,7 +472,7 @@ static int ad7606c_16bit_chan_scale_setup(struct iio_de= v *indio_dev, /* Bipolar single-ended ranges start at 0 (b0000) */ ci->reg_offset =3D 0; ci->range =3D 3; - chan->scan_type.sign =3D 's'; + chan->scan_type.format =3D 's'; =20 return 0; } @@ -483,7 +483,7 @@ static int ad7606c_16bit_chan_scale_setup(struct iio_de= v *indio_dev, /* Unipolar single-ended ranges start at 5 (b0101) */ ci->reg_offset =3D 5; ci->range =3D 1; - chan->scan_type.sign =3D 'u'; + chan->scan_type.format =3D 'u'; =20 return 0; } @@ -703,7 +703,7 @@ static int ad7606_scan_direct(struct iio_dev *indio_dev= , unsigned int ch, =20 *val &=3D GENMASK(realbits - 1, 0); =20 - if (chan->scan_type.sign =3D=3D 's') + if (chan->scan_type.format =3D=3D 's') *val =3D sign_extend32(*val, realbits - 1); =20 error_ret: @@ -1412,7 +1412,7 @@ static int ad7606_probe_channels(struct iio_dev *indi= o_dev) chan->indexed =3D 1; chan->channel =3D i; chan->scan_index =3D i; - chan->scan_type.sign =3D 's'; + chan->scan_type.format =3D 's'; chan->scan_type.realbits =3D st->chip_info->bits; /* * If in SPI offload mode, storagebits are set based diff --git a/drivers/iio/adc/ad7625.c b/drivers/iio/adc/ad7625.c index 0466c0c7eae4..bccc83437611 100644 --- a/drivers/iio/adc/ad7625.c +++ b/drivers/iio/adc/ad7625.c @@ -54,7 +54,7 @@ struct ad7625_chip_info { .info_mask_separate =3D BIT(IIO_CHAN_INFO_SCALE), \ .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D 0, \ - .scan_type.sign =3D 's', \ + .scan_type.format =3D 's', \ .scan_type.storagebits =3D (_bits) > 16 ? 32 : 16, \ .scan_type.realbits =3D (_bits), \ } diff --git a/drivers/iio/adc/ad7766.c b/drivers/iio/adc/ad7766.c index 9e4a66477d2d..510fbdbb223b 100644 --- a/drivers/iio/adc/ad7766.c +++ b/drivers/iio/adc/ad7766.c @@ -154,7 +154,7 @@ static const struct iio_chan_spec ad7766_channels[] =3D= { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_BE, diff --git a/drivers/iio/adc/ad7768-1.c b/drivers/iio/adc/ad7768-1.c index fcd8aea7152e..43da6d33340d 100644 --- a/drivers/iio/adc/ad7768-1.c +++ b/drivers/iio/adc/ad7768-1.c @@ -254,14 +254,14 @@ static const char * const ad7768_filter_enum[] =3D { =20 static const struct iio_scan_type ad7768_scan_type[] =3D { [AD7768_SCAN_TYPE_NORMAL] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 24, .storagebits =3D 32, .shift =3D 8, .endianness =3D IIO_BE, }, [AD7768_SCAN_TYPE_HIGH_SPEED] =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, @@ -541,7 +541,7 @@ static void ad7768_fill_scale_tbl(struct iio_dev *dev) u64 tmp2; =20 scan_type =3D iio_get_current_scan_type(dev, &dev->channels[0]); - if (scan_type->sign =3D=3D 's') + if (scan_type->format =3D=3D 's') val2 =3D scan_type->realbits - 1; else val2 =3D scan_type->realbits; @@ -1102,7 +1102,7 @@ static int ad7768_write_raw(struct iio_dev *indio_dev, if (!st->chip->has_pga) return -EOPNOTSUPP; =20 - if (scan_type->sign =3D=3D 's') + if (scan_type->format =3D=3D 's') gain_mode =3D ad7768_calc_pga_gain(st, val, val2, scan_type->realbits - 1); else diff --git a/drivers/iio/adc/ad7779.c b/drivers/iio/adc/ad7779.c index 695cc79e78da..2e91ebc9196b 100644 --- a/drivers/iio/adc/ad7779.c +++ b/drivers/iio/adc/ad7779.c @@ -690,7 +690,7 @@ static const struct iio_chan_spec_ext_info ad7779_ext_f= ilter[] =3D { .scan_index =3D (index), \ .ext_info =3D (_ext_info), \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 24, \ .storagebits =3D 32, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/adc/ad7780.c b/drivers/iio/adc/ad7780.c index 24d2dcad8f4d..23b50160d150 100644 --- a/drivers/iio/adc/ad7780.c +++ b/drivers/iio/adc/ad7780.c @@ -217,7 +217,7 @@ static const struct ad_sigma_delta_info ad7780_sigma_de= lta_info =3D { .info_mask_shared_by_all =3D _mask_all, \ .scan_index =3D 1, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (_bits), \ .storagebits =3D 32, \ .shift =3D (_wordsize) - (_bits), \ diff --git a/drivers/iio/adc/ad7791.c b/drivers/iio/adc/ad7791.c index 041fc25e3209..d033cecfc7cf 100644 --- a/drivers/iio/adc/ad7791.c +++ b/drivers/iio/adc/ad7791.c @@ -80,7 +80,7 @@ .info_mask_shared_by_all =3D _mask_all, \ .scan_index =3D (_si), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (_bits), \ .storagebits =3D (_storagebits), \ .shift =3D (_shift), \ diff --git a/drivers/iio/adc/ad7793.c b/drivers/iio/adc/ad7793.c index ccf18ce48e34..bc28309f52c7 100644 --- a/drivers/iio/adc/ad7793.c +++ b/drivers/iio/adc/ad7793.c @@ -568,7 +568,7 @@ static const struct iio_info ad7797_info =3D { .info_mask_shared_by_all =3D _mask_all, \ .scan_index =3D (_si), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (_bits), \ .storagebits =3D (_storagebits), \ .shift =3D (_shift), \ diff --git a/drivers/iio/adc/ad7887.c b/drivers/iio/adc/ad7887.c index 87ff95643794..183a9fdf55d8 100644 --- a/drivers/iio/adc/ad7887.c +++ b/drivers/iio/adc/ad7887.c @@ -188,7 +188,7 @@ static int ad7887_read_raw(struct iio_dev *indio_dev, .address =3D (x), \ .scan_index =3D (x), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 12, \ .storagebits =3D 16, \ .shift =3D 0, \ diff --git a/drivers/iio/adc/ad7923.c b/drivers/iio/adc/ad7923.c index 0369151c7db1..d0f939ceccfb 100644 --- a/drivers/iio/adc/ad7923.c +++ b/drivers/iio/adc/ad7923.c @@ -91,7 +91,7 @@ enum ad7923_id { .address =3D index, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 12 - (bits), \ diff --git a/drivers/iio/adc/ad7944.c b/drivers/iio/adc/ad7944.c index 7722cf9e8214..ae17adeebd3a 100644 --- a/drivers/iio/adc/ad7944.c +++ b/drivers/iio/adc/ad7944.c @@ -135,7 +135,7 @@ static const struct ad7944_chip_info _name##_chip_info = =3D { \ .channel =3D 0, \ .channel2 =3D _diff ? 1 : 0, \ .scan_index =3D 0, \ - .scan_type.sign =3D _diff ? 's' : 'u', \ + .scan_type.format =3D _diff ? 's' : 'u', \ .scan_type.realbits =3D _bits, \ .scan_type.storagebits =3D _bits > 16 ? 32 : 16, \ .scan_type.endianness =3D IIO_CPU, \ @@ -152,7 +152,7 @@ static const struct ad7944_chip_info _name##_chip_info = =3D { \ .channel =3D 0, \ .channel2 =3D _diff ? 1 : 0, \ .scan_index =3D 0, \ - .scan_type.sign =3D _diff ? 's' : 'u', \ + .scan_type.format =3D _diff ? 's' : 'u', \ .scan_type.realbits =3D _bits, \ .scan_type.storagebits =3D 32, \ .scan_type.endianness =3D IIO_CPU, \ @@ -364,7 +364,7 @@ static int ad7944_single_conversion(struct ad7944_adc *= adc, *val =3D adc->sample.raw.u16; } =20 - if (chan->scan_type.sign =3D=3D 's') + if (chan->scan_type.format =3D=3D 's') *val =3D sign_extend32(*val, chan->scan_type.realbits - 1); else *val &=3D GENMASK(chan->scan_type.realbits - 1, 0); @@ -410,7 +410,7 @@ static int ad7944_read_raw(struct iio_dev *indio_dev, case IIO_VOLTAGE: *val =3D adc->ref_mv; =20 - if (chan->scan_type.sign =3D=3D 's') + if (chan->scan_type.format =3D=3D 's') *val2 =3D chan->scan_type.realbits - 1; else *val2 =3D chan->scan_type.realbits; diff --git a/drivers/iio/adc/ad799x.c b/drivers/iio/adc/ad799x.c index 108bb22162ef..5731e6d04eb5 100644 --- a/drivers/iio/adc/ad799x.c +++ b/drivers/iio/adc/ad799x.c @@ -586,7 +586,7 @@ static const struct iio_event_spec ad799x_events[] =3D { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D (_index), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (_realbits), \ .storagebits =3D 16, \ .shift =3D 12 - (_realbits), \ diff --git a/drivers/iio/adc/ad9467.c b/drivers/iio/adc/ad9467.c index 022888545580..31a7d23020d1 100644 --- a/drivers/iio/adc/ad9467.c +++ b/drivers/iio/adc/ad9467.c @@ -319,7 +319,7 @@ static void __ad9467_get_scale(struct ad9467_state *st,= int index, .info_mask_shared_by_type_available =3D avai_mask, \ .scan_index =3D _si, \ .scan_type =3D { \ - .sign =3D _sign, \ + .format =3D _sign, \ .realbits =3D _bits, \ .storagebits =3D 16, \ }, \ @@ -343,7 +343,7 @@ static const struct iio_chan_spec ad9434_channels[] =3D= { BIT(IIO_CHAN_INFO_CALIBBIAS), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 12, .storagebits =3D 16, }, diff --git a/drivers/iio/adc/ade9000.c b/drivers/iio/adc/ade9000.c index db085dc5e526..3523c8fb5409 100644 --- a/drivers/iio/adc/ade9000.c +++ b/drivers/iio/adc/ade9000.c @@ -451,7 +451,7 @@ static const struct iio_chan_spec_ext_info ade9000_ext_= info[] =3D { .scan_index =3D num, \ .indexed =3D 1, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 32, \ .storagebits =3D 32, \ .endianness =3D IIO_BE, \ @@ -471,7 +471,7 @@ static const struct iio_chan_spec_ext_info ade9000_ext_= info[] =3D { .scan_index =3D num + 1, /* interleave with current channels */ \ .indexed =3D 1, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 32, \ .storagebits =3D 32, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/adc/at91-sama5d2_adc.c b/drivers/iio/adc/at91-sama= 5d2_adc.c index aa4ba3f5a506..559bed1ed59e 100644 --- a/drivers/iio/adc/at91-sama5d2_adc.c +++ b/drivers/iio/adc/at91-sama5d2_adc.c @@ -337,7 +337,7 @@ static const struct at91_adc_reg_layout sama7g5_layout = =3D { .address =3D addr, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D rbits, \ .storagebits =3D 16, \ }, \ @@ -366,7 +366,7 @@ static const struct at91_adc_reg_layout sama7g5_layout = =3D { .address =3D addr, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D rbits, \ .storagebits =3D 16, \ }, \ @@ -394,7 +394,7 @@ static const struct at91_adc_reg_layout sama7g5_layout = =3D { .channel2 =3D mod, \ .scan_index =3D num, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 12, \ .storagebits =3D 16, \ }, \ @@ -411,7 +411,7 @@ static const struct at91_adc_reg_layout sama7g5_layout = =3D { .channel =3D num, \ .scan_index =3D num, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 12, \ .storagebits =3D 16, \ }, \ @@ -1787,7 +1787,7 @@ static int at91_adc_read_info_raw(struct iio_dev *ind= io_dev, if (ret > 0) { *val =3D st->conversion_value; ret =3D at91_adc_adjust_val_osr(st, val); - if (chan->scan_type.sign =3D=3D 's') + if (chan->scan_type.format =3D=3D 's') *val =3D sign_extend32(*val, chan->scan_type.realbits - 1); st->conversion_done =3D false; diff --git a/drivers/iio/adc/at91_adc.c b/drivers/iio/adc/at91_adc.c index 920dd9ffd27a..01d52190fd42 100644 --- a/drivers/iio/adc/at91_adc.c +++ b/drivers/iio/adc/at91_adc.c @@ -514,7 +514,7 @@ static int at91_adc_channel_init(struct iio_dev *idev) chan->indexed =3D 1; chan->channel =3D bit; chan->scan_index =3D idx; - chan->scan_type.sign =3D 'u'; + chan->scan_type.format =3D 'u'; chan->scan_type.realbits =3D st->res; chan->scan_type.storagebits =3D 16; chan->info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE); @@ -526,7 +526,7 @@ static int at91_adc_channel_init(struct iio_dev *idev) timestamp->type =3D IIO_TIMESTAMP; timestamp->channel =3D -1; timestamp->scan_index =3D idx; - timestamp->scan_type.sign =3D 's'; + timestamp->scan_type.format =3D 's'; timestamp->scan_type.realbits =3D 64; timestamp->scan_type.storagebits =3D 64; =20 diff --git a/drivers/iio/adc/cc10001_adc.c b/drivers/iio/adc/cc10001_adc.c index 2c51b90b7101..3a53ab745017 100644 --- a/drivers/iio/adc/cc10001_adc.c +++ b/drivers/iio/adc/cc10001_adc.c @@ -281,7 +281,7 @@ static int cc10001_adc_channel_init(struct iio_dev *ind= io_dev, chan->indexed =3D 1; chan->channel =3D bit; chan->scan_index =3D idx; - chan->scan_type.sign =3D 'u'; + chan->scan_type.format =3D 'u'; chan->scan_type.realbits =3D 10; chan->scan_type.storagebits =3D 16; chan->info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE); @@ -293,7 +293,7 @@ static int cc10001_adc_channel_init(struct iio_dev *ind= io_dev, timestamp->type =3D IIO_TIMESTAMP; timestamp->channel =3D -1; timestamp->scan_index =3D idx; - timestamp->scan_type.sign =3D 's'; + timestamp->scan_type.format =3D 's'; timestamp->scan_type.realbits =3D 64; timestamp->scan_type.storagebits =3D 64; =20 diff --git a/drivers/iio/adc/cpcap-adc.c b/drivers/iio/adc/cpcap-adc.c index d9ee2ea116a7..0c5034c4279e 100644 --- a/drivers/iio/adc/cpcap-adc.c +++ b/drivers/iio/adc/cpcap-adc.c @@ -340,7 +340,7 @@ static const int temp_map[CPCAP_MAX_TEMP_LVL][2] =3D { BIT(IIO_CHAN_INFO_PROCESSED), \ .scan_index =3D (_index), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 10, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/adc/dln2-adc.c b/drivers/iio/adc/dln2-adc.c index eb902a946efe..0db0ac027c9e 100644 --- a/drivers/iio/adc/dln2-adc.c +++ b/drivers/iio/adc/dln2-adc.c @@ -438,7 +438,7 @@ static int dln2_update_scan_mode(struct iio_dev *indio_= dev, lval.info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SCALE) | \ BIT(IIO_CHAN_INFO_SAMP_FREQ); \ lval.scan_index =3D idx; \ - lval.scan_type.sign =3D 'u'; \ + lval.scan_type.format =3D 'u'; \ lval.scan_type.realbits =3D DLN2_ADC_DATA_BITS; \ lval.scan_type.storagebits =3D 16; \ lval.scan_type.endianness =3D IIO_LE; \ @@ -449,7 +449,7 @@ static int dln2_update_scan_mode(struct iio_dev *indio_= dev, lval.type =3D IIO_TIMESTAMP; \ lval.channel =3D -1; \ lval.scan_index =3D _si; \ - lval.scan_type.sign =3D 's'; \ + lval.scan_type.format =3D 's'; \ lval.scan_type.realbits =3D 64; \ lval.scan_type.storagebits =3D 64; \ } diff --git a/drivers/iio/adc/hx711.c b/drivers/iio/adc/hx711.c index 1db8b68a8f64..01fe7fa171a5 100644 --- a/drivers/iio/adc/hx711.c +++ b/drivers/iio/adc/hx711.c @@ -432,7 +432,7 @@ static const struct iio_chan_spec hx711_chan_spec[] =3D= { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -446,7 +446,7 @@ static const struct iio_chan_spec hx711_chan_spec[] =3D= { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_CPU, diff --git a/drivers/iio/adc/ina2xx-adc.c b/drivers/iio/adc/ina2xx-adc.c index 857e1b69d6cd..bee4622f4cf6 100644 --- a/drivers/iio/adc/ina2xx-adc.c +++ b/drivers/iio/adc/ina2xx-adc.c @@ -623,7 +623,7 @@ static ssize_t ina2xx_shunt_resistor_store(struct devic= e *dev, .info_mask_shared_by_dir =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D (_index), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ @@ -641,7 +641,7 @@ static ssize_t ina2xx_shunt_resistor_store(struct devic= e *dev, BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), \ .scan_index =3D (_index), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ @@ -666,7 +666,7 @@ static ssize_t ina2xx_shunt_resistor_store(struct devic= e *dev, .info_mask_shared_by_dir =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D (_index), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .shift =3D _shift, \ .realbits =3D 16 - _shift, \ .storagebits =3D 16, \ @@ -686,7 +686,7 @@ static ssize_t ina2xx_shunt_resistor_store(struct devic= e *dev, BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), \ .scan_index =3D (_index), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/adc/ingenic-adc.c b/drivers/iio/adc/ingenic-adc.c index 1e802c8779a4..129b2b697bda 100644 --- a/drivers/iio/adc/ingenic-adc.c +++ b/drivers/iio/adc/ingenic-adc.c @@ -456,7 +456,7 @@ static const struct iio_chan_spec jz4770_channels[] =3D= { .channel =3D INGENIC_ADC_TOUCH_XP, .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 12, .storagebits =3D 16, }, @@ -467,7 +467,7 @@ static const struct iio_chan_spec jz4770_channels[] =3D= { .channel =3D INGENIC_ADC_TOUCH_YP, .scan_index =3D 1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 12, .storagebits =3D 16, }, @@ -478,7 +478,7 @@ static const struct iio_chan_spec jz4770_channels[] =3D= { .channel =3D INGENIC_ADC_TOUCH_XN, .scan_index =3D 2, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 12, .storagebits =3D 16, }, @@ -489,7 +489,7 @@ static const struct iio_chan_spec jz4770_channels[] =3D= { .channel =3D INGENIC_ADC_TOUCH_YN, .scan_index =3D 3, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 12, .storagebits =3D 16, }, @@ -500,7 +500,7 @@ static const struct iio_chan_spec jz4770_channels[] =3D= { .channel =3D INGENIC_ADC_TOUCH_XD, .scan_index =3D 4, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 12, .storagebits =3D 16, }, @@ -511,7 +511,7 @@ static const struct iio_chan_spec jz4770_channels[] =3D= { .channel =3D INGENIC_ADC_TOUCH_YD, .scan_index =3D 5, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 12, .storagebits =3D 16, }, diff --git a/drivers/iio/adc/max1027.c b/drivers/iio/adc/max1027.c index 7e736e77d8bb..270b38b2a1ea 100644 --- a/drivers/iio/adc/max1027.c +++ b/drivers/iio/adc/max1027.c @@ -103,7 +103,7 @@ MODULE_DEVICE_TABLE(of, max1027_adc_dt_ids); .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D index + 1, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D depth, \ .storagebits =3D 16, \ .shift =3D (depth =3D=3D 10) ? 2 : 0, \ @@ -119,7 +119,7 @@ MODULE_DEVICE_TABLE(of, max1027_adc_dt_ids); .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D 0, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 12, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/adc/max1118.c b/drivers/iio/adc/max1118.c index 7d7001e8e3d9..34a8eb933991 100644 --- a/drivers/iio/adc/max1118.c +++ b/drivers/iio/adc/max1118.c @@ -54,7 +54,7 @@ struct max1118 { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D ch, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 8, \ .storagebits =3D 8, \ }, \ diff --git a/drivers/iio/adc/max11205.c b/drivers/iio/adc/max11205.c index 6c803df220b6..04faf995ff99 100644 --- a/drivers/iio/adc/max11205.c +++ b/drivers/iio/adc/max11205.c @@ -75,7 +75,7 @@ static const struct iio_chan_spec max11205_channels[] =3D= { .type =3D IIO_VOLTAGE, .indexed =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, diff --git a/drivers/iio/adc/max11410.c b/drivers/iio/adc/max11410.c index 511b2f14dfaf..46e15608cba9 100644 --- a/drivers/iio/adc/max11410.c +++ b/drivers/iio/adc/max11410.c @@ -156,7 +156,7 @@ static const struct iio_chan_spec chanspec_template =3D= { .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_LE, diff --git a/drivers/iio/adc/max1363.c b/drivers/iio/adc/max1363.c index 9dd547e62b6c..74728dd6ac86 100644 --- a/drivers/iio/adc/max1363.c +++ b/drivers/iio/adc/max1363.c @@ -473,7 +473,7 @@ static const struct iio_event_spec max1363_events[] =3D= { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .datasheet_name =3D "AIN"#num, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D bits, \ .storagebits =3D (bits > 8) ? 16 : 8, \ .endianness =3D IIO_BE, \ @@ -496,7 +496,7 @@ static const struct iio_event_spec max1363_events[] =3D= { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .datasheet_name =3D "AIN"#num"-AIN"#num2, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D bits, \ .storagebits =3D (bits > 8) ? 16 : 8, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/adc/mcp3911.c b/drivers/iio/adc/mcp3911.c index ddc3721f3f68..1c9338594714 100644 --- a/drivers/iio/adc/mcp3911.c +++ b/drivers/iio/adc/mcp3911.c @@ -446,7 +446,7 @@ static int mcp3911_calc_scale_table(u32 vref_mv) .info_mask_separate_available =3D \ BIT(IIO_CHAN_INFO_SCALE), \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 24, \ .storagebits =3D 32, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/adc/mt6359-auxadc.c b/drivers/iio/adc/mt6359-auxad= c.c index f426a289e867..98b11237ca8d 100644 --- a/drivers/iio/adc/mt6359-auxadc.c +++ b/drivers/iio/adc/mt6359-auxadc.c @@ -196,7 +196,7 @@ struct mtk_pmic_auxadc_info { .scan_index =3D PMIC_AUXADC_CHAN_##_ch_idx, \ .datasheet_name =3D __stringify(_name), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D _nbits, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU \ diff --git a/drivers/iio/adc/mt6360-adc.c b/drivers/iio/adc/mt6360-adc.c index e0e4df418612..c2b2b7aa8dd5 100644 --- a/drivers/iio/adc/mt6360-adc.c +++ b/drivers/iio/adc/mt6360-adc.c @@ -230,7 +230,7 @@ static const struct iio_info mt6360_adc_iio_info =3D { .scan_index =3D MT6360_CHAN_##_idx, \ .datasheet_name =3D #_idx, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/adc/mxs-lradc-adc.c b/drivers/iio/adc/mxs-lradc-ad= c.c index dda5182a5076..97b04bccc5a8 100644 --- a/drivers/iio/adc/mxs-lradc-adc.c +++ b/drivers/iio/adc/mxs-lradc-adc.c @@ -582,7 +582,7 @@ static const struct iio_buffer_setup_ops mxs_lradc_adc_= buffer_ops =3D { .channel =3D (idx), \ .address =3D (idx), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D LRADC_RESOLUTION, \ .storagebits =3D 32, \ }, \ @@ -607,7 +607,7 @@ static const struct iio_chan_spec mx23_lradc_chan_spec[= ] =3D { BIT(IIO_CHAN_INFO_OFFSET) | BIT(IIO_CHAN_INFO_SCALE), .channel =3D 8, - .scan_type =3D {.sign =3D 'u', .realbits =3D 18, .storagebits =3D 32,}, + .scan_type =3D {.format =3D 'u', .realbits =3D 18, .storagebits =3D 32,}, .datasheet_name =3D "TEMP_DIE", }, /* Hidden channel to keep indexes */ @@ -643,7 +643,7 @@ static const struct iio_chan_spec mx28_lradc_chan_spec[= ] =3D { BIT(IIO_CHAN_INFO_OFFSET) | BIT(IIO_CHAN_INFO_SCALE), .channel =3D 8, - .scan_type =3D {.sign =3D 'u', .realbits =3D 18, .storagebits =3D 32,}, + .scan_type =3D {.format =3D 'u', .realbits =3D 18, .storagebits =3D 32,}, .datasheet_name =3D "TEMP_DIE", }, /* Hidden channel to keep indexes */ diff --git a/drivers/iio/adc/nxp-sar-adc.c b/drivers/iio/adc/nxp-sar-adc.c index 9efa883c277d..2faa4c583167 100644 --- a/drivers/iio/adc/nxp-sar-adc.c +++ b/drivers/iio/adc/nxp-sar-adc.c @@ -167,7 +167,7 @@ struct nxp_sar_adc_data { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D (_idx), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 12, \ .storagebits =3D 16, \ }, \ diff --git a/drivers/iio/adc/pac1921.c b/drivers/iio/adc/pac1921.c index a0227b57f238..ec800d2add06 100644 --- a/drivers/iio/adc/pac1921.c +++ b/drivers/iio/adc/pac1921.c @@ -937,7 +937,7 @@ static const struct iio_chan_spec pac1921_channels[] = =3D { .address =3D PAC1921_REG_VBUS, .scan_index =3D PAC1921_CHAN_VBUS, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 10, .storagebits =3D 16, .endianness =3D IIO_CPU @@ -960,7 +960,7 @@ static const struct iio_chan_spec pac1921_channels[] = =3D { .address =3D PAC1921_REG_VSENSE, .scan_index =3D PAC1921_CHAN_VSENSE, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 10, .storagebits =3D 16, .endianness =3D IIO_CPU @@ -983,7 +983,7 @@ static const struct iio_chan_spec pac1921_channels[] = =3D { .address =3D PAC1921_REG_VSENSE, .scan_index =3D PAC1921_CHAN_CURRENT, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 10, .storagebits =3D 16, .endianness =3D IIO_CPU @@ -1005,7 +1005,7 @@ static const struct iio_chan_spec pac1921_channels[] = =3D { .address =3D PAC1921_REG_VPOWER, .scan_index =3D PAC1921_CHAN_POWER, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 10, .storagebits =3D 16, .endianness =3D IIO_CPU diff --git a/drivers/iio/adc/pac1934.c b/drivers/iio/adc/pac1934.c index 712b5e9caba6..ab489739a3a5 100644 --- a/drivers/iio/adc/pac1934.c +++ b/drivers/iio/adc/pac1934.c @@ -330,7 +330,7 @@ struct pac1934_chip_info { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D (_si), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 48, \ .storagebits =3D 64, \ .endianness =3D IIO_CPU, \ @@ -348,7 +348,7 @@ struct pac1934_chip_info { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D (_si), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ @@ -366,7 +366,7 @@ struct pac1934_chip_info { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D (_si), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ @@ -384,7 +384,7 @@ struct pac1934_chip_info { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D (_si), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ @@ -402,7 +402,7 @@ struct pac1934_chip_info { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D (_si), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ @@ -420,7 +420,7 @@ struct pac1934_chip_info { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D (_si), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 28, \ .storagebits =3D 32, \ .shift =3D 4, \ @@ -839,7 +839,7 @@ static int pac1934_read_raw(struct iio_dev *indio_dev, case PAC1934_VBUS_AVG_3_ADDR: case PAC1934_VBUS_AVG_4_ADDR: *val =3D PAC1934_VOLTAGE_MILLIVOLTS_MAX; - if (chan->scan_type.sign =3D=3D 'u') + if (chan->scan_type.format =3D=3D 'u') *val2 =3D PAC1934_VOLTAGE_U_RES; else *val2 =3D PAC1934_VOLTAGE_S_RES; @@ -858,7 +858,7 @@ static int pac1934_read_raw(struct iio_dev *indio_dev, case PAC1934_VSENSE_AVG_3_ADDR: case PAC1934_VSENSE_AVG_4_ADDR: *val =3D PAC1934_MAX_VSENSE_RSHIFTED_BY_16B; - if (chan->scan_type.sign =3D=3D 'u') + if (chan->scan_type.format =3D=3D 'u') *val2 =3D info->shunts[channel]; else *val2 =3D info->shunts[channel] >> 1; @@ -873,7 +873,7 @@ static int pac1934_read_raw(struct iio_dev *indio_dev, case PAC1934_VPOWER_3_ADDR: case PAC1934_VPOWER_4_ADDR: *val =3D PAC1934_MAX_VPOWER_RSHIFTED_BY_28B; - if (chan->scan_type.sign =3D=3D 'u') + if (chan->scan_type.format =3D=3D 'u') *val2 =3D info->shunts[channel]; else *val2 =3D info->shunts[channel] >> 1; @@ -888,7 +888,7 @@ static int pac1934_read_raw(struct iio_dev *indio_dev, */ *val =3D PAC1934_SCALE_CONSTANT; =20 - if (chan->scan_type.sign =3D=3D 'u') + if (chan->scan_type.format =3D=3D 'u') *val2 =3D info->shunts[channel]; else *val2 =3D info->shunts[channel] >> 1; @@ -1393,17 +1393,17 @@ static int pac1934_prep_iio_channels(struct pac1934= _chip_info *info, struct iio_ * whole chip rail(channel) is bi-directional */ if (info->bi_dir[cnt]) { - ch_sp[PAC1934_CH_ENERGY].scan_type.sign =3D 's'; + ch_sp[PAC1934_CH_ENERGY].scan_type.format =3D 's'; ch_sp[PAC1934_CH_ENERGY].scan_type.realbits =3D 47; - ch_sp[PAC1934_CH_POWER].scan_type.sign =3D 's'; + ch_sp[PAC1934_CH_POWER].scan_type.format =3D 's'; ch_sp[PAC1934_CH_POWER].scan_type.realbits =3D 27; - ch_sp[PAC1934_CH_VOLTAGE].scan_type.sign =3D 's'; + ch_sp[PAC1934_CH_VOLTAGE].scan_type.format =3D 's'; ch_sp[PAC1934_CH_VOLTAGE].scan_type.realbits =3D 15; - ch_sp[PAC1934_CH_CURRENT].scan_type.sign =3D 's'; + ch_sp[PAC1934_CH_CURRENT].scan_type.format =3D 's'; ch_sp[PAC1934_CH_CURRENT].scan_type.realbits =3D 15; - ch_sp[PAC1934_CH_VOLTAGE_AVERAGE].scan_type.sign =3D 's'; + ch_sp[PAC1934_CH_VOLTAGE_AVERAGE].scan_type.format =3D 's'; ch_sp[PAC1934_CH_VOLTAGE_AVERAGE].scan_type.realbits =3D 15; - ch_sp[PAC1934_CH_CURRENT_AVERAGE].scan_type.sign =3D 's'; + ch_sp[PAC1934_CH_CURRENT_AVERAGE].scan_type.format =3D 's'; ch_sp[PAC1934_CH_CURRENT_AVERAGE].scan_type.realbits =3D 15; } tmp_data +=3D sizeof(pac1934_single_channel); diff --git a/drivers/iio/adc/rockchip_saradc.c b/drivers/iio/adc/rockchip_s= aradc.c index 0f0bf2906af0..44d084b32dee 100644 --- a/drivers/iio/adc/rockchip_saradc.c +++ b/drivers/iio/adc/rockchip_saradc.c @@ -221,7 +221,7 @@ static const struct iio_info rockchip_saradc_iio_info = =3D { .datasheet_name =3D _id, \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D _res, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/adc/rtq6056.c b/drivers/iio/adc/rtq6056.c index 2bf3a09ac6b0..b16e0dc507c1 100644 --- a/drivers/iio/adc/rtq6056.c +++ b/drivers/iio/adc/rtq6056.c @@ -127,7 +127,7 @@ static const struct iio_chan_spec rtq6056_channels[RTQ6= 056_MAX_CHANNEL + 1] =3D { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_OVERSAMPLING_RA= TIO), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -146,7 +146,7 @@ static const struct iio_chan_spec rtq6056_channels[RTQ6= 056_MAX_CHANNEL + 1] =3D { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_OVERSAMPLING_RA= TIO), .scan_index =3D 1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -164,7 +164,7 @@ static const struct iio_chan_spec rtq6056_channels[RTQ6= 056_MAX_CHANNEL + 1] =3D { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_OVERSAMPLING_RA= TIO), .scan_index =3D 2, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -181,7 +181,7 @@ static const struct iio_chan_spec rtq6056_channels[RTQ6= 056_MAX_CHANNEL + 1] =3D { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_OVERSAMPLING_RA= TIO), .scan_index =3D 3, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -210,7 +210,7 @@ static const struct iio_chan_spec rtq6059_channels[RTQ6= 056_MAX_CHANNEL + 1] =3D { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_OVERSAMPLING_RA= TIO), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -228,7 +228,7 @@ static const struct iio_chan_spec rtq6059_channels[RTQ6= 056_MAX_CHANNEL + 1] =3D { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_OVERSAMPLING_RA= TIO), .scan_index =3D 1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -246,7 +246,7 @@ static const struct iio_chan_spec rtq6059_channels[RTQ6= 056_MAX_CHANNEL + 1] =3D { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_OVERSAMPLING_RA= TIO), .scan_index =3D 2, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -263,7 +263,7 @@ static const struct iio_chan_spec rtq6059_channels[RTQ6= 056_MAX_CHANNEL + 1] =3D { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_OVERSAMPLING_RA= TIO), .scan_index =3D 3, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/adc/sd_adc_modulator.c b/drivers/iio/adc/sd_adc_mo= dulator.c index 9f7a75168aac..584f9c2d97f9 100644 --- a/drivers/iio/adc/sd_adc_modulator.c +++ b/drivers/iio/adc/sd_adc_modulator.c @@ -21,7 +21,7 @@ static const struct iio_chan_spec iio_sd_mod_ch =3D { .type =3D IIO_VOLTAGE, .indexed =3D 1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 1, .shift =3D 0, }, diff --git a/drivers/iio/adc/stm32-adc.c b/drivers/iio/adc/stm32-adc.c index 2d7f88459c7c..80499bca915e 100644 --- a/drivers/iio/adc/stm32-adc.c +++ b/drivers/iio/adc/stm32-adc.c @@ -2109,7 +2109,7 @@ static void stm32_adc_chan_init_one(struct iio_dev *i= ndio_dev, chan->info_mask_shared_by_all |=3D BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO); chan->info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_OVERSAMPLI= NG_RATIO); } - chan->scan_type.sign =3D 'u'; + chan->scan_type.format =3D 'u'; chan->scan_type.realbits =3D adc->cfg->adc_info->resolutions[adc->res]; chan->scan_type.storagebits =3D 16; chan->ext_info =3D stm32_adc_ext_info; @@ -2448,7 +2448,7 @@ static int stm32_adc_chan_fw_init(struct iio_dev *ind= io_dev, bool timestamping) timestamp->type =3D IIO_TIMESTAMP; timestamp->channel =3D -1; timestamp->scan_index =3D scan_index; - timestamp->scan_type.sign =3D 's'; + timestamp->scan_type.format =3D 's'; timestamp->scan_type.realbits =3D 64; timestamp->scan_type.storagebits =3D 64; =20 diff --git a/drivers/iio/adc/stm32-dfsdm-adc.c b/drivers/iio/adc/stm32-dfsd= m-adc.c index 9664b9bd75d4..7241c443060e 100644 --- a/drivers/iio/adc/stm32-dfsdm-adc.c +++ b/drivers/iio/adc/stm32-dfsdm-adc.c @@ -1559,7 +1559,7 @@ static int stm32_dfsdm_adc_chan_init_one(struct iio_d= ev *indio_dev, struct iio_c } else { ch->scan_type.shift =3D 8; } - ch->scan_type.sign =3D 's'; + ch->scan_type.format =3D 's'; ch->scan_type.realbits =3D 24; ch->scan_type.storagebits =3D 32; =20 diff --git a/drivers/iio/adc/ti-adc081c.c b/drivers/iio/adc/ti-adc081c.c index 8ef51c57912d..308e03c08068 100644 --- a/drivers/iio/adc/ti-adc081c.c +++ b/drivers/iio/adc/ti-adc081c.c @@ -81,7 +81,7 @@ static int adc081c_read_raw(struct iio_dev *iio, .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (_bits), \ .storagebits =3D 16, \ .shift =3D 12 - (_bits), \ diff --git a/drivers/iio/adc/ti-adc0832.c b/drivers/iio/adc/ti-adc0832.c index cfcdafbe284b..41554d6f1fd9 100644 --- a/drivers/iio/adc/ti-adc0832.c +++ b/drivers/iio/adc/ti-adc0832.c @@ -49,7 +49,7 @@ struct adc0832 { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D chan, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 8, \ .storagebits =3D 8, \ }, \ @@ -66,7 +66,7 @@ struct adc0832 { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D si, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 8, \ .storagebits =3D 8, \ }, \ diff --git a/drivers/iio/adc/ti-adc084s021.c b/drivers/iio/adc/ti-adc084s02= 1.c index a100f770fa1c..0651847bfd70 100644 --- a/drivers/iio/adc/ti-adc084s021.c +++ b/drivers/iio/adc/ti-adc084s021.c @@ -46,7 +46,7 @@ struct adc084s021 { .indexed =3D 1, \ .scan_index =3D (num), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 8, \ .storagebits =3D 16, \ .shift =3D 4, \ diff --git a/drivers/iio/adc/ti-adc108s102.c b/drivers/iio/adc/ti-adc108s10= 2.c index 7d615e2bbf39..2103ef1b149e 100644 --- a/drivers/iio/adc/ti-adc108s102.c +++ b/drivers/iio/adc/ti-adc108s102.c @@ -90,7 +90,7 @@ struct adc108s102_state { .address =3D index, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D ADC108S102_BITS, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/adc/ti-adc12138.c b/drivers/iio/adc/ti-adc12138.c index e5ec4b073daa..368ac836316d 100644 --- a/drivers/iio/adc/ti-adc12138.c +++ b/drivers/iio/adc/ti-adc12138.c @@ -67,7 +67,7 @@ struct adc12138 { | BIT(IIO_CHAN_INFO_OFFSET), \ .scan_index =3D chan, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 13, \ .storagebits =3D 16, \ .shift =3D 3, \ @@ -87,7 +87,7 @@ struct adc12138 { | BIT(IIO_CHAN_INFO_OFFSET), \ .scan_index =3D si, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 13, \ .storagebits =3D 16, \ .shift =3D 3, \ diff --git a/drivers/iio/adc/ti-adc161s626.c b/drivers/iio/adc/ti-adc161s62= 6.c index 28aa6b80160c..2446b0be6716 100644 --- a/drivers/iio/adc/ti-adc161s626.c +++ b/drivers/iio/adc/ti-adc161s626.c @@ -38,7 +38,7 @@ static const struct iio_chan_spec ti_adc141s626_channels[= ] =3D { BIT(IIO_CHAN_INFO_OFFSET), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 14, .storagebits =3D 16, }, @@ -55,7 +55,7 @@ static const struct iio_chan_spec ti_adc161s626_channels[= ] =3D { BIT(IIO_CHAN_INFO_OFFSET), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, }, diff --git a/drivers/iio/adc/ti-ads1015.c b/drivers/iio/adc/ti-ads1015.c index f2a93c63ca14..1a165bc88a46 100644 --- a/drivers/iio/adc/ti-ads1015.c +++ b/drivers/iio/adc/ti-ads1015.c @@ -193,7 +193,7 @@ static const struct iio_event_spec ads1015_events[] =3D= { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D _addr, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (_realbits), \ .storagebits =3D FIT_CHECK((_realbits) + (_shift), 16), \ .shift =3D (_shift), \ @@ -219,7 +219,7 @@ static const struct iio_event_spec ads1015_events[] =3D= { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D _addr, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (_realbits), \ .storagebits =3D FIT_CHECK((_realbits) + (_shift), 16), \ .shift =3D (_shift), \ diff --git a/drivers/iio/adc/ti-ads1018.c b/drivers/iio/adc/ti-ads1018.c index 6246b3cab71f..b3757657aa4c 100644 --- a/drivers/iio/adc/ti-ads1018.c +++ b/drivers/iio/adc/ti-ads1018.c @@ -105,7 +105,7 @@ struct ads1018 { .channel2 =3D _chan2, \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D _realbits, \ .storagebits =3D 16, \ .shift =3D 16 - _realbits, \ @@ -125,7 +125,7 @@ struct ads1018 { .channel =3D _chan, \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D _realbits, \ .storagebits =3D 16, \ .shift =3D 16 - _realbits, \ @@ -143,7 +143,7 @@ struct ads1018 { .type =3D IIO_TEMP, \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D _realbits, \ .storagebits =3D 16, \ .shift =3D 16 - _realbits, \ diff --git a/drivers/iio/adc/ti-ads1100.c b/drivers/iio/adc/ti-ads1100.c index aa8946063c7d..386d554c7ba1 100644 --- a/drivers/iio/adc/ti-ads1100.c +++ b/drivers/iio/adc/ti-ads1100.c @@ -60,7 +60,7 @@ static const struct iio_chan_spec ads1100_channel =3D { .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/adc/ti-ads1119.c b/drivers/iio/adc/ti-ads1119.c index c9cedc59cdcd..11a8366597c9 100644 --- a/drivers/iio/adc/ti-ads1119.c +++ b/drivers/iio/adc/ti-ads1119.c @@ -586,7 +586,7 @@ static int ads1119_alloc_and_config_channels(struct iio= _dev *indio_dev) BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/adc/ti-ads124s08.c b/drivers/iio/adc/ti-ads124s08.c index 8ea1269f74db..656e5746c1e3 100644 --- a/drivers/iio/adc/ti-ads124s08.c +++ b/drivers/iio/adc/ti-ads124s08.c @@ -117,7 +117,7 @@ struct ads124s_private { .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW), \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 32, \ .storagebits =3D 32, \ }, \ diff --git a/drivers/iio/adc/ti-ads1298.c b/drivers/iio/adc/ti-ads1298.c index ae30b47e4514..3f4d763d02f7 100644 --- a/drivers/iio/adc/ti-ads1298.c +++ b/drivers/iio/adc/ti-ads1298.c @@ -149,7 +149,7 @@ struct ads1298_private { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D ADS1298_BITS_PER_SAMPLE, \ .storagebits =3D 32, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/adc/ti-ads131e08.c b/drivers/iio/adc/ti-ads131e08.c index a585621b0bc3..8e76c224bb13 100644 --- a/drivers/iio/adc/ti-ads131e08.c +++ b/drivers/iio/adc/ti-ads131e08.c @@ -768,7 +768,7 @@ static int ads131e08_alloc_channels(struct iio_dev *ind= io_dev) BIT(IIO_CHAN_INFO_SCALE); channels[i].info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SAMP_FREQ); channels[i].scan_index =3D channel; - channels[i].scan_type.sign =3D 's'; + channels[i].scan_type.format =3D 's'; channels[i].scan_type.realbits =3D 24; channels[i].scan_type.storagebits =3D 32; channels[i].scan_type.shift =3D 8; diff --git a/drivers/iio/adc/ti-ads7950.c b/drivers/iio/adc/ti-ads7950.c index bbe1ce577789..a16c5de2afcb 100644 --- a/drivers/iio/adc/ti-ads7950.c +++ b/drivers/iio/adc/ti-ads7950.c @@ -144,7 +144,7 @@ enum ti_ads7950_id { .datasheet_name =3D "CH##index", \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D bits, \ .storagebits =3D 16, \ .shift =3D 12 - (bits), \ diff --git a/drivers/iio/adc/ti-ads8688.c b/drivers/iio/adc/ti-ads8688.c index b0bf46cae0b6..df57fc4021d2 100644 --- a/drivers/iio/adc/ti-ads8688.c +++ b/drivers/iio/adc/ti-ads8688.c @@ -157,7 +157,7 @@ static const struct attribute_group ads8688_attribute_g= roup =3D { | BIT(IIO_CHAN_INFO_OFFSET), \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/adc/ti-lmp92064.c b/drivers/iio/adc/ti-lmp92064.c index 7e57006a8a12..1f043180383f 100644 --- a/drivers/iio/adc/ti-lmp92064.c +++ b/drivers/iio/adc/ti-lmp92064.c @@ -96,7 +96,7 @@ static const struct iio_chan_spec lmp92064_adc_channels[]= =3D { BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D TI_LMP92064_CHAN_INC, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 12, .storagebits =3D 16, }, @@ -109,7 +109,7 @@ static const struct iio_chan_spec lmp92064_adc_channels= [] =3D { BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D TI_LMP92064_CHAN_INV, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 12, .storagebits =3D 16, }, diff --git a/drivers/iio/adc/ti-tlc4541.c b/drivers/iio/adc/ti-tlc4541.c index f67945c62c99..514815f048af 100644 --- a/drivers/iio/adc/ti-tlc4541.c +++ b/drivers/iio/adc/ti-tlc4541.c @@ -60,7 +60,7 @@ enum tlc4541_id { .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW), \ .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D (bitshift), \ diff --git a/drivers/iio/adc/ti-tsc2046.c b/drivers/iio/adc/ti-tsc2046.c index aba4b10a17ac..cd891338fe4b 100644 --- a/drivers/iio/adc/ti-tsc2046.c +++ b/drivers/iio/adc/ti-tsc2046.c @@ -192,7 +192,7 @@ struct tsc2046_adc_priv { .datasheet_name =3D "#name", \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D bits, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_ad= c.c index a1a28584de93..8ec440503a6c 100644 --- a/drivers/iio/adc/ti_am335x_adc.c +++ b/drivers/iio/adc/ti_am335x_adc.c @@ -417,7 +417,7 @@ static int tiadc_channel_init(struct device *dev, struc= t iio_dev *indio_dev, chan->info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE); chan->datasheet_name =3D chan_name_ain[chan->channel]; chan->scan_index =3D i; - chan->scan_type.sign =3D 'u'; + chan->scan_type.format =3D 'u'; chan->scan_type.realbits =3D 12; chan->scan_type.storagebits =3D 16; } diff --git a/drivers/iio/adc/vf610_adc.c b/drivers/iio/adc/vf610_adc.c index d7182ed0d2a7..be6f0b4d9ced 100644 --- a/drivers/iio/adc/vf610_adc.c +++ b/drivers/iio/adc/vf610_adc.c @@ -515,7 +515,7 @@ static const struct iio_chan_spec_ext_info vf610_ext_in= fo[] =3D { .ext_info =3D vf610_ext_info, \ .scan_index =3D (_idx), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 12, \ .storagebits =3D 16, \ }, \ @@ -527,7 +527,7 @@ static const struct iio_chan_spec_ext_info vf610_ext_in= fo[] =3D { .info_mask_separate =3D BIT(IIO_CHAN_INFO_PROCESSED), \ .scan_index =3D (_idx), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 12, \ .storagebits =3D 16, \ }, \ diff --git a/drivers/iio/adc/xilinx-ams.c b/drivers/iio/adc/xilinx-ams.c index 124470c92529..83c5872b04a4 100644 --- a/drivers/iio/adc/xilinx-ams.c +++ b/drivers/iio/adc/xilinx-ams.c @@ -1208,7 +1208,7 @@ static int ams_get_ext_chan(struct fwnode_handle *cha= n_node, memcpy(chan, &ams_pl_channels[ext_chan], sizeof(*channels)); =20 if (fwnode_property_read_bool(child, "xlnx,bipolar")) - chan->scan_type.sign =3D 's'; + chan->scan_type.format =3D 's'; =20 num_channels++; } diff --git a/drivers/iio/adc/xilinx-xadc-core.c b/drivers/iio/adc/xilinx-xa= dc-core.c index e257c1b94a5f..40c854076e84 100644 --- a/drivers/iio/adc/xilinx-xadc-core.c +++ b/drivers/iio/adc/xilinx-xadc-core.c @@ -928,7 +928,7 @@ static int xadc_read_raw(struct iio_dev *indio_dev, return ret; =20 val16 >>=3D chan->scan_type.shift; - if (chan->scan_type.sign =3D=3D 'u') + if (chan->scan_type.format =3D=3D 'u') *val =3D val16; else *val =3D sign_extend32(val16, bits - 1); @@ -1066,7 +1066,7 @@ static const struct iio_event_spec xadc_voltage_event= s[] =3D { .num_event_specs =3D ARRAY_SIZE(xadc_temp_events), \ .scan_index =3D (_scan_index), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (_bits), \ .storagebits =3D 16, \ .shift =3D 16 - (_bits), \ @@ -1086,7 +1086,7 @@ static const struct iio_event_spec xadc_voltage_event= s[] =3D { .num_event_specs =3D (_alarm) ? ARRAY_SIZE(xadc_voltage_events) : 0, \ .scan_index =3D (_scan_index), \ .scan_type =3D { \ - .sign =3D ((_addr) =3D=3D XADC_REG_VREFN) ? 's' : 'u', \ + .format =3D ((_addr) =3D=3D XADC_REG_VREFN) ? 's' : 'u', \ .realbits =3D (_bits), \ .storagebits =3D 16, \ .shift =3D 16 - (_bits), \ @@ -1265,7 +1265,7 @@ static int xadc_parse_dt(struct iio_dev *indio_dev, u= nsigned int *conf, int irq) continue; =20 if (fwnode_property_read_bool(child, "xlnx,bipolar")) - chan->scan_type.sign =3D 's'; + chan->scan_type.format =3D 's'; =20 if (reg =3D=3D 0) { chan->scan_index =3D 11; @@ -1420,7 +1420,7 @@ static int xadc_probe(struct platform_device *pdev) =20 bipolar_mask =3D 0; for (i =3D 0; i < indio_dev->num_channels; i++) { - if (indio_dev->channels[i].scan_type.sign =3D=3D 's') + if (indio_dev->channels[i].scan_type.format =3D=3D 's') bipolar_mask |=3D BIT(indio_dev->channels[i].scan_index); } =20 diff --git a/drivers/iio/addac/ad74115.c b/drivers/iio/addac/ad74115.c index f8b04d86b01f..df3c9ac4c708 100644 --- a/drivers/iio/addac/ad74115.c +++ b/drivers/iio/addac/ad74115.c @@ -1280,7 +1280,7 @@ static const struct iio_info ad74115_info =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 32, \ .shift =3D 8, \ diff --git a/drivers/iio/addac/ad74413r.c b/drivers/iio/addac/ad74413r.c index a20b4d48c5f7..5b9c1521b1c4 100644 --- a/drivers/iio/addac/ad74413r.c +++ b/drivers/iio/addac/ad74413r.c @@ -1120,7 +1120,7 @@ static const struct iio_info ad74413r_info =3D { .info_mask_separate_available =3D \ BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 32, \ .shift =3D 8, \ diff --git a/drivers/iio/chemical/atlas-ezo-sensor.c b/drivers/iio/chemical= /atlas-ezo-sensor.c index 59f3a4fa9e9f..33c6f24c612f 100644 --- a/drivers/iio/chemical/atlas-ezo-sensor.c +++ b/drivers/iio/chemical/atlas-ezo-sensor.c @@ -52,7 +52,7 @@ struct atlas_ezo_data { BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D 0, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 32, \ .storagebits =3D 32, \ .endianness =3D IIO_CPU, \ @@ -74,7 +74,7 @@ static const struct iio_chan_spec atlas_hum_ezo_channels[= ] =3D { BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, diff --git a/drivers/iio/chemical/atlas-sensor.c b/drivers/iio/chemical/atl= as-sensor.c index 8bbba85af699..92876b5cbd89 100644 --- a/drivers/iio/chemical/atlas-sensor.c +++ b/drivers/iio/chemical/atlas-sensor.c @@ -118,7 +118,7 @@ static const struct iio_chan_spec atlas_ph_channels[] = =3D { BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_BE, @@ -145,7 +145,7 @@ static const struct iio_chan_spec atlas_ph_channels[] = =3D { BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D _idx + 1, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 32, \ .storagebits =3D 32, \ .endianness =3D IIO_BE, \ @@ -160,7 +160,7 @@ static const struct iio_chan_spec atlas_ec_channels[] = =3D { BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_BE, @@ -187,7 +187,7 @@ static const struct iio_chan_spec atlas_orp_channels[] = =3D { BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_BE, @@ -204,7 +204,7 @@ static const struct iio_chan_spec atlas_do_channels[] = =3D { BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_BE, @@ -228,7 +228,7 @@ static const struct iio_chan_spec atlas_rtd_channels[] = =3D { .info_mask_separate =3D BIT(IIO_CHAN_INFO_PROCESSED), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_BE, diff --git a/drivers/iio/chemical/bme680_core.c b/drivers/iio/chemical/bme6= 80_core.c index 70f81c4a96ba..35910ed963a9 100644 --- a/drivers/iio/chemical/bme680_core.c +++ b/drivers/iio/chemical/bme680_core.c @@ -172,7 +172,7 @@ static const struct iio_chan_spec bme680_channels[] =3D= { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -187,7 +187,7 @@ static const struct iio_chan_spec bme680_channels[] =3D= { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), .scan_index =3D 1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -202,7 +202,7 @@ static const struct iio_chan_spec bme680_channels[] =3D= { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), .scan_index =3D 2, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -213,7 +213,7 @@ static const struct iio_chan_spec bme680_channels[] =3D= { .info_mask_separate =3D BIT(IIO_CHAN_INFO_PROCESSED), .scan_index =3D 3, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, diff --git a/drivers/iio/chemical/ccs811.c b/drivers/iio/chemical/ccs811.c index 998c9239c4c7..52f883efeae0 100644 --- a/drivers/iio/chemical/ccs811.c +++ b/drivers/iio/chemical/ccs811.c @@ -105,7 +105,7 @@ static const struct iio_chan_spec ccs811_channels[] =3D= { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, @@ -118,7 +118,7 @@ static const struct iio_chan_spec ccs811_channels[] =3D= { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, diff --git a/drivers/iio/chemical/ens160_core.c b/drivers/iio/chemical/ens1= 60_core.c index bbc96c4c6283..cf12e7230a01 100644 --- a/drivers/iio/chemical/ens160_core.c +++ b/drivers/iio/chemical/ens160_core.c @@ -76,7 +76,7 @@ static const struct iio_chan_spec ens160_channels[] =3D { .address =3D ENS160_REG_DATA_TVOC, .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, @@ -91,7 +91,7 @@ static const struct iio_chan_spec ens160_channels[] =3D { .address =3D ENS160_REG_DATA_ECO2, .scan_index =3D 1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, diff --git a/drivers/iio/chemical/pms7003.c b/drivers/iio/chemical/pms7003.c index 656d4a12c58f..d74c560cd7ce 100644 --- a/drivers/iio/chemical/pms7003.c +++ b/drivers/iio/chemical/pms7003.c @@ -178,7 +178,7 @@ static const struct iio_info pms7003_info =3D { .info_mask_separate =3D BIT(IIO_CHAN_INFO_PROCESSED), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 10, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/chemical/scd30_core.c b/drivers/iio/chemical/scd30= _core.c index a665fcb78806..2ebe914758d0 100644 --- a/drivers/iio/chemical/scd30_core.c +++ b/drivers/iio/chemical/scd30_core.c @@ -455,7 +455,7 @@ static const struct iio_info scd30_info =3D { }; =20 #define SCD30_CHAN_SCAN_TYPE(_sign, _realbits) .scan_type =3D { \ - .sign =3D _sign, \ + .format =3D _sign, \ .realbits =3D _realbits, \ .storagebits =3D 32, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/chemical/scd4x.c b/drivers/iio/chemical/scd4x.c index 23a326fb62a7..f7f999fd593a 100644 --- a/drivers/iio/chemical/scd4x.c +++ b/drivers/iio/chemical/scd4x.c @@ -583,7 +583,7 @@ static const struct iio_chan_spec scd4x_channels[] =3D { .address =3D SCD4X_CO2, .scan_index =3D SCD4X_CO2, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -598,7 +598,7 @@ static const struct iio_chan_spec scd4x_channels[] =3D { .address =3D SCD4X_TEMP, .scan_index =3D SCD4X_TEMP, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -611,7 +611,7 @@ static const struct iio_chan_spec scd4x_channels[] =3D { .address =3D SCD4X_HR, .scan_index =3D SCD4X_HR, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/chemical/sps30.c b/drivers/iio/chemical/sps30.c index a934bf0298dd..a372ce9b58dd 100644 --- a/drivers/iio/chemical/sps30.c +++ b/drivers/iio/chemical/sps30.c @@ -299,7 +299,7 @@ static const struct iio_info sps30_info =3D { .address =3D _mod, \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 19, \ .storagebits =3D 32, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/common/cros_ec_sensors/cros_ec_activity.c b/driver= s/iio/common/cros_ec_sensors/cros_ec_activity.c index 6e38d115b6fe..d44c026833a8 100644 --- a/drivers/iio/common/cros_ec_sensors/cros_ec_activity.c +++ b/drivers/iio/common/cros_ec_sensors/cros_ec_activity.c @@ -283,7 +283,7 @@ static int cros_ec_sensors_probe(struct platform_device= *pdev) channel->scan_index =3D index; channel->type =3D IIO_TIMESTAMP; channel->channel =3D -1; - channel->scan_type.sign =3D 's'; + channel->scan_type.format =3D 's'; channel->scan_type.realbits =3D 64; channel->scan_type.storagebits =3D 64; =20 diff --git a/drivers/iio/common/cros_ec_sensors/cros_ec_lid_angle.c b/drive= rs/iio/common/cros_ec_sensors/cros_ec_lid_angle.c index 2d3d148b4206..8aa46b9bdb48 100644 --- a/drivers/iio/common/cros_ec_sensors/cros_ec_lid_angle.c +++ b/drivers/iio/common/cros_ec_sensors/cros_ec_lid_angle.c @@ -36,7 +36,7 @@ static const struct iio_chan_spec cros_ec_lid_angle_chann= els[] =3D { .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW), .scan_type.realbits =3D CROS_EC_SENSOR_BITS, .scan_type.storagebits =3D CROS_EC_SENSOR_BITS, - .scan_type.sign =3D 'u', + .scan_type.format =3D 'u', .type =3D IIO_ANGL }, IIO_CHAN_SOFT_TIMESTAMP(1) diff --git a/drivers/iio/common/cros_ec_sensors/cros_ec_sensors.c b/drivers= /iio/common/cros_ec_sensors/cros_ec_sensors.c index 82cef4a12442..8eb0d1a411d6 100644 --- a/drivers/iio/common/cros_ec_sensors/cros_ec_sensors.c +++ b/drivers/iio/common/cros_ec_sensors/cros_ec_sensors.c @@ -260,7 +260,7 @@ static int cros_ec_sensors_probe(struct platform_device= *pdev) channel->ext_info =3D cros_ec_sensors_ext_info; channel->modified =3D 1; channel->channel2 =3D IIO_MOD_X + i; - channel->scan_type.sign =3D 's'; + channel->scan_type.format =3D 's'; =20 /* Sensor specific */ switch (state->core.type) { @@ -283,7 +283,7 @@ static int cros_ec_sensors_probe(struct platform_device= *pdev) channel->type =3D IIO_TIMESTAMP; channel->channel =3D -1; channel->scan_index =3D CROS_EC_SENSOR_MAX_AXIS; - channel->scan_type.sign =3D 's'; + channel->scan_type.format =3D 's'; channel->scan_type.realbits =3D 64; channel->scan_type.storagebits =3D 64; =20 diff --git a/drivers/iio/common/scmi_sensors/scmi_iio.c b/drivers/iio/commo= n/scmi_sensors/scmi_iio.c index 5136ad9ada04..cec652be5fcb 100644 --- a/drivers/iio/common/scmi_sensors/scmi_iio.c +++ b/drivers/iio/common/scmi_sensors/scmi_iio.c @@ -425,7 +425,7 @@ static void scmi_iio_set_timestamp_channel(struct iio_c= han_spec *iio_chan, iio_chan->type =3D IIO_TIMESTAMP; iio_chan->channel =3D -1; iio_chan->scan_index =3D scan_index; - iio_chan->scan_type.sign =3D 'u'; + iio_chan->scan_type.format =3D 'u'; iio_chan->scan_type.realbits =3D 64; iio_chan->scan_type.storagebits =3D 64; } @@ -443,7 +443,7 @@ static void scmi_iio_set_data_channel(struct iio_chan_s= pec *iio_chan, iio_chan->info_mask_shared_by_type_available =3D BIT(IIO_CHAN_INFO_SAMP_FREQ); iio_chan->scan_index =3D scan_index; - iio_chan->scan_type.sign =3D 's'; + iio_chan->scan_type.format =3D 's'; iio_chan->scan_type.realbits =3D 64; iio_chan->scan_type.storagebits =3D 64; iio_chan->scan_type.endianness =3D IIO_LE; diff --git a/drivers/iio/common/ssp_sensors/ssp_iio_sensor.h b/drivers/iio/= common/ssp_sensors/ssp_iio_sensor.h index 4528ab55eb68..b5b188fbeafd 100644 --- a/drivers/iio/common/ssp_sensors/ssp_iio_sensor.h +++ b/drivers/iio/common/ssp_sensors/ssp_iio_sensor.h @@ -10,7 +10,7 @@ .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SAMP_FREQ),\ .scan_index =3D _index,\ .scan_type =3D {\ - .sign =3D 's',\ + .format =3D 's',\ .realbits =3D 16,\ .storagebits =3D 16,\ .shift =3D 0,\ @@ -24,7 +24,7 @@ .channel =3D -1, \ .scan_index =3D _si, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 64, \ .storagebits =3D 64, \ }, \ diff --git a/drivers/iio/dac/ad3552r-hs.c b/drivers/iio/dac/ad3552r-hs.c index a9578afa7015..00094cbfddda 100644 --- a/drivers/iio/dac/ad3552r-hs.c +++ b/drivers/iio/dac/ad3552r-hs.c @@ -766,7 +766,7 @@ static const struct iio_buffer_setup_ops ad3552r_hs_buf= fer_setup_ops =3D { .channel =3D (ch), \ .scan_index =3D (ch), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/dac/ad3552r.c b/drivers/iio/dac/ad3552r.c index 93c33bc3e1be..ec93298c574c 100644 --- a/drivers/iio/dac/ad3552r.c +++ b/drivers/iio/dac/ad3552r.c @@ -128,7 +128,7 @@ static int ad3552r_update_reg_field(struct ad3552r_desc= *dac, u8 addr, u16 mask, .channel =3D _idx, \ .scan_index =3D _idx, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/dac/ad5064.c b/drivers/iio/dac/ad5064.c index 84be5174babd..1e83e0b9bc0e 100644 --- a/drivers/iio/dac/ad5064.c +++ b/drivers/iio/dac/ad5064.c @@ -402,7 +402,7 @@ static const struct iio_chan_spec_ext_info ltc2617_ext_= info[] =3D { BIT(IIO_CHAN_INFO_SCALE), \ .address =3D addr, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D (_shift), \ diff --git a/drivers/iio/dac/ad5360.c b/drivers/iio/dac/ad5360.c index bd32fa57b1d7..47277097abbe 100644 --- a/drivers/iio/dac/ad5360.c +++ b/drivers/iio/dac/ad5360.c @@ -109,7 +109,7 @@ enum ad5360_type { BIT(IIO_CHAN_INFO_CALIBSCALE) | \ BIT(IIO_CHAN_INFO_CALIBBIAS), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 16 - (bits), \ diff --git a/drivers/iio/dac/ad5380.c b/drivers/iio/dac/ad5380.c index 8b813cee7625..52ce975b8c8a 100644 --- a/drivers/iio/dac/ad5380.c +++ b/drivers/iio/dac/ad5380.c @@ -258,7 +258,7 @@ static const struct iio_chan_spec_ext_info ad5380_ext_i= nfo[] =3D { BIT(IIO_CHAN_INFO_CALIBBIAS), \ .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (_bits), \ .storagebits =3D 16, \ .shift =3D 14 - (_bits), \ diff --git a/drivers/iio/dac/ad5421.c b/drivers/iio/dac/ad5421.c index d9d7031c4432..9ced9a0561ed 100644 --- a/drivers/iio/dac/ad5421.c +++ b/drivers/iio/dac/ad5421.c @@ -116,7 +116,7 @@ static const struct iio_chan_spec ad5421_channels[] =3D= { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_OFFSET), .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, }, diff --git a/drivers/iio/dac/ad5446.h b/drivers/iio/dac/ad5446.h index 6ba31d98f415..9dbd03700dcd 100644 --- a/drivers/iio/dac/ad5446.h +++ b/drivers/iio/dac/ad5446.h @@ -20,7 +20,7 @@ extern const struct iio_chan_spec_ext_info ad5446_ext_inf= o_powerdown[]; .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW), \ .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D (storage), \ .shift =3D (_shift), \ diff --git a/drivers/iio/dac/ad5449.c b/drivers/iio/dac/ad5449.c index d8c325260259..2487fda06937 100644 --- a/drivers/iio/dac/ad5449.c +++ b/drivers/iio/dac/ad5449.c @@ -203,7 +203,7 @@ static const struct iio_info ad5449_info =3D { BIT(IIO_CHAN_INFO_SCALE), \ .address =3D (chan), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 12 - (bits), \ diff --git a/drivers/iio/dac/ad5504.c b/drivers/iio/dac/ad5504.c index 355bcb6a8ba0..c1e52379b970 100644 --- a/drivers/iio/dac/ad5504.c +++ b/drivers/iio/dac/ad5504.c @@ -254,7 +254,7 @@ static const struct iio_chan_spec_ext_info ad5504_ext_i= nfo[] =3D { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .address =3D AD5504_ADDR_DAC(_chan), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 12, \ .storagebits =3D 16, \ }, \ diff --git a/drivers/iio/dac/ad5592r-base.c b/drivers/iio/dac/ad5592r-base.c index 4720733d66b2..da48cd20c68e 100644 --- a/drivers/iio/dac/ad5592r-base.c +++ b/drivers/iio/dac/ad5592r-base.c @@ -480,7 +480,7 @@ static void ad5592r_setup_channel(struct iio_dev *iio_d= ev, chan->channel =3D id; chan->info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW); chan->info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE); - chan->scan_type.sign =3D 'u'; + chan->scan_type.format =3D 'u'; chan->scan_type.realbits =3D 12; chan->scan_type.storagebits =3D 16; chan->ext_info =3D ad5592r_ext_info; diff --git a/drivers/iio/dac/ad5624r_spi.c b/drivers/iio/dac/ad5624r_spi.c index 13aefe769bad..23cba2bc6aa8 100644 --- a/drivers/iio/dac/ad5624r_spi.c +++ b/drivers/iio/dac/ad5624r_spi.c @@ -172,7 +172,7 @@ static const struct iio_chan_spec_ext_info ad5624r_ext_= info[] =3D { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .address =3D (_chan), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (_bits), \ .storagebits =3D 16, \ .shift =3D 16 - (_bits), \ diff --git a/drivers/iio/dac/ad5686.c b/drivers/iio/dac/ad5686.c index 4b18498aa074..f0db41452bca 100644 --- a/drivers/iio/dac/ad5686.c +++ b/drivers/iio/dac/ad5686.c @@ -197,7 +197,7 @@ static const struct iio_chan_spec_ext_info ad5686_ext_i= nfo[] =3D { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE),\ .address =3D addr, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D (_shift), \ diff --git a/drivers/iio/dac/ad5755.c b/drivers/iio/dac/ad5755.c index d0e5f35462b1..fa3d3727068f 100644 --- a/drivers/iio/dac/ad5755.c +++ b/drivers/iio/dac/ad5755.c @@ -534,7 +534,7 @@ static const struct iio_chan_spec_ext_info ad5755_ext_i= nfo[] =3D { BIT(IIO_CHAN_INFO_CALIBSCALE) | \ BIT(IIO_CHAN_INFO_CALIBBIAS), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (_bits), \ .storagebits =3D 16, \ .shift =3D 16 - (_bits), \ diff --git a/drivers/iio/dac/ad5761.c b/drivers/iio/dac/ad5761.c index b5d20f04f070..6253390af191 100644 --- a/drivers/iio/dac/ad5761.c +++ b/drivers/iio/dac/ad5761.c @@ -257,7 +257,7 @@ static const struct iio_info ad5761_info =3D { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE) | \ BIT(IIO_CHAN_INFO_OFFSET), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (_bits), \ .storagebits =3D 16, \ .shift =3D 16 - (_bits), \ diff --git a/drivers/iio/dac/ad5764.c b/drivers/iio/dac/ad5764.c index fbbd7105a80c..01db3fe903cd 100644 --- a/drivers/iio/dac/ad5764.c +++ b/drivers/iio/dac/ad5764.c @@ -84,7 +84,7 @@ enum ad5764_type { BIT(IIO_CHAN_INFO_CALIBBIAS), \ .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_OFFSET), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (_bits), \ .storagebits =3D 16, \ .shift =3D 16 - (_bits), \ diff --git a/drivers/iio/dac/ad5766.c b/drivers/iio/dac/ad5766.c index f6a0a0d84fef..af27a1ad3f5e 100644 --- a/drivers/iio/dac/ad5766.c +++ b/drivers/iio/dac/ad5766.c @@ -449,7 +449,7 @@ static const struct iio_chan_spec_ext_info ad5766_ext_i= nfo[] =3D { BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D (_chan), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (_bits), \ .storagebits =3D 16, \ .shift =3D 16 - (_bits), \ diff --git a/drivers/iio/dac/ad5791.c b/drivers/iio/dac/ad5791.c index ae7297f08398..3c3740286cba 100644 --- a/drivers/iio/dac/ad5791.c +++ b/drivers/iio/dac/ad5791.c @@ -323,7 +323,7 @@ static const struct ad5791_chip_info _name##_chip_info = =3D { \ .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE) | \ BIT(IIO_CHAN_INFO_OFFSET), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D 32, \ .shift =3D (_shift), \ @@ -341,7 +341,7 @@ static const struct ad5791_chip_info _name##_chip_info = =3D { \ BIT(IIO_CHAN_INFO_OFFSET), \ .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ),\ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D 32, \ .shift =3D (_shift), \ diff --git a/drivers/iio/dac/ad7303.c b/drivers/iio/dac/ad7303.c index a88cc639047d..7f3e63e1f928 100644 --- a/drivers/iio/dac/ad7303.c +++ b/drivers/iio/dac/ad7303.c @@ -185,7 +185,7 @@ static const struct iio_chan_spec_ext_info ad7303_ext_i= nfo[] =3D { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .address =3D (chan), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 8, \ .storagebits =3D 8, \ .shift =3D 0, \ diff --git a/drivers/iio/dac/ad8460.c b/drivers/iio/dac/ad8460.c index 6e45686902dd..566977b95b41 100644 --- a/drivers/iio/dac/ad8460.c +++ b/drivers/iio/dac/ad8460.c @@ -742,7 +742,7 @@ static const struct iio_event_spec ad8460_events[] =3D { .channel =3D 0, \ .scan_index =3D 0, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 14, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/dac/ad9739a.c b/drivers/iio/dac/ad9739a.c index d77b46d83bd4..96952f2d33fd 100644 --- a/drivers/iio/dac/ad9739a.c +++ b/drivers/iio/dac/ad9739a.c @@ -335,7 +335,7 @@ static struct iio_chan_spec ad9739a_channels[] =3D { .output =3D 1, .ext_info =3D ad9739a_ext_info, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .storagebits =3D 16, .realbits =3D 16, }, diff --git a/drivers/iio/dac/ltc1660.c b/drivers/iio/dac/ltc1660.c index 6e80b49f4665..20c4cbe92ac2 100644 --- a/drivers/iio/dac/ltc1660.c +++ b/drivers/iio/dac/ltc1660.c @@ -109,7 +109,7 @@ static int ltc1660_write_raw(struct iio_dev *indio_dev, .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW), \ .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 12 - (bits), \ diff --git a/drivers/iio/dac/max5522.c b/drivers/iio/dac/max5522.c index 1b8fe6b8d26e..cb180ec476af 100644 --- a/drivers/iio/dac/max5522.c +++ b/drivers/iio/dac/max5522.c @@ -45,7 +45,7 @@ struct max5522_state { .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW) | \ BIT(IIO_CHAN_INFO_SCALE), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 10, \ .storagebits =3D 16, \ .shift =3D 2, \ diff --git a/drivers/iio/dac/mcp4922.c b/drivers/iio/dac/mcp4922.c index 74f338afcab9..30a4eb19b515 100644 --- a/drivers/iio/dac/mcp4922.c +++ b/drivers/iio/dac/mcp4922.c @@ -41,7 +41,7 @@ struct mcp4922_state { .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW), \ .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 12 - (bits), \ diff --git a/drivers/iio/dac/stm32-dac.c b/drivers/iio/dac/stm32-dac.c index b860e18d52a1..c2d592358f51 100644 --- a/drivers/iio/dac/stm32-dac.c +++ b/drivers/iio/dac/stm32-dac.c @@ -255,7 +255,7 @@ static const struct iio_chan_spec_ext_info stm32_dac_ex= t_info[] =3D { BIT(IIO_CHAN_INFO_SCALE), \ /* scan_index is always 0 as num_channels is 1 */ \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 12, \ .storagebits =3D 16, \ }, \ diff --git a/drivers/iio/dummy/iio_simple_dummy.c b/drivers/iio/dummy/iio_s= imple_dummy.c index 19fcdbbc11c6..a950f083a1b6 100644 --- a/drivers/iio/dummy/iio_simple_dummy.c +++ b/drivers/iio/dummy/iio_simple_dummy.c @@ -128,7 +128,7 @@ static const struct iio_chan_spec iio_dummy_channels[] = =3D { /* The ordering of elements in the buffer via an enum */ .scan_index =3D DUMMY_INDEX_VOLTAGE_0, .scan_type =3D { /* Description of storage in buffer */ - .sign =3D 'u', /* unsigned */ + .format =3D 'u', /* unsigned */ .realbits =3D 13, /* 13 bits */ .storagebits =3D 16, /* 16 bits used for storage */ .shift =3D 0, /* zero shift */ @@ -167,7 +167,7 @@ static const struct iio_chan_spec iio_dummy_channels[] = =3D { */ .scan_index =3D DUMMY_INDEX_DIFFVOLTAGE_1M2, .scan_type =3D { /* Description of storage in buffer */ - .sign =3D 's', /* signed */ + .format =3D 's', /* signed */ .realbits =3D 12, /* 12 bits */ .storagebits =3D 16, /* 16 bits used for storage */ .shift =3D 0, /* zero shift */ @@ -185,7 +185,7 @@ static const struct iio_chan_spec iio_dummy_channels[] = =3D { .info_mask_shared_by_dir =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_index =3D DUMMY_INDEX_DIFFVOLTAGE_3M4, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 11, .storagebits =3D 16, .shift =3D 0, @@ -212,7 +212,7 @@ static const struct iio_chan_spec iio_dummy_channels[] = =3D { .info_mask_shared_by_dir =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_index =3D DUMMY_INDEX_ACCELX, .scan_type =3D { /* Description of storage in buffer */ - .sign =3D 's', /* signed */ + .format =3D 's', /* signed */ .realbits =3D 16, /* 16 bits */ .storagebits =3D 16, /* 16 bits used for storage */ .shift =3D 0, /* zero shift */ diff --git a/drivers/iio/gyro/adis16136.c b/drivers/iio/gyro/adis16136.c index 369c7428e1ef..fd3ad9950e08 100644 --- a/drivers/iio/gyro/adis16136.c +++ b/drivers/iio/gyro/adis16136.c @@ -361,7 +361,7 @@ static const struct iio_chan_spec adis16136_channels[] = =3D { .address =3D ADIS16136_REG_GYRO_OUT2, .scan_index =3D ADIS16136_SCAN_GYRO, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_BE, @@ -375,7 +375,7 @@ static const struct iio_chan_spec adis16136_channels[] = =3D { .address =3D ADIS16136_REG_TEMP_OUT, .scan_index =3D ADIS16136_SCAN_TEMP, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, diff --git a/drivers/iio/gyro/adxrs290.c b/drivers/iio/gyro/adxrs290.c index 3efe385ebedc..2efbc4f49d2c 100644 --- a/drivers/iio/gyro/adxrs290.c +++ b/drivers/iio/gyro/adxrs290.c @@ -538,7 +538,7 @@ static irqreturn_t adxrs290_trigger_handler(int irq, vo= id *p) BIT(IIO_CHAN_INFO_HIGH_PASS_FILTER_3DB_FREQUENCY), \ .scan_index =3D ADXRS290_IDX_##axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ @@ -555,7 +555,7 @@ static const struct iio_chan_spec adxrs290_channels[] = =3D { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D ADXRS290_IDX_TEMP, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 12, .storagebits =3D 16, .endianness =3D IIO_LE, diff --git a/drivers/iio/gyro/bmg160_core.c b/drivers/iio/gyro/bmg160_core.c index 38394b5f3275..7de69d7b7ebd 100644 --- a/drivers/iio/gyro/bmg160_core.c +++ b/drivers/iio/gyro/bmg160_core.c @@ -833,7 +833,7 @@ static const struct iio_event_spec bmg160_event =3D { BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY), \ .scan_index =3D AXIS_##_axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/gyro/fxas21002c_core.c b/drivers/iio/gyro/fxas2100= 2c_core.c index a88670207cec..0773764eed43 100644 --- a/drivers/iio/gyro/fxas21002c_core.c +++ b/drivers/iio/gyro/fxas21002c_core.c @@ -696,7 +696,7 @@ static const struct attribute_group fxas21002c_attrs_gr= oup =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D CHANNEL_SCAN_INDEX_##_axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/gyro/hid-sensor-gyro-3d.c b/drivers/iio/gyro/hid-s= ensor-gyro-3d.c index c43990c518f7..f85122041a67 100644 --- a/drivers/iio/gyro/hid-sensor-gyro-3d.c +++ b/drivers/iio/gyro/hid-sensor-gyro-3d.c @@ -86,7 +86,7 @@ static const struct iio_chan_spec gyro_3d_channels[] =3D { static void gyro_3d_adjust_channel_bit_mask(struct iio_chan_spec *channels, int channel, int size) { - channels[channel].scan_type.sign =3D 's'; + channels[channel].scan_type.format =3D 's'; /* Real storage bits will change based on the report desc. */ channels[channel].scan_type.realbits =3D size * 8; /* Maximum size of a sample to capture is u32 */ diff --git a/drivers/iio/gyro/itg3200_core.c b/drivers/iio/gyro/itg3200_cor= e.c index bfe95ec1abda..1d7df9235d13 100644 --- a/drivers/iio/gyro/itg3200_core.c +++ b/drivers/iio/gyro/itg3200_core.c @@ -257,7 +257,7 @@ static const struct iio_chan_spec_ext_info itg3200_ext_= info[] =3D { }; =20 #define ITG3200_ST \ - { .sign =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D I= IO_BE } + { .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D= IIO_BE } =20 #define ITG3200_GYRO_CHAN(_mod) { \ .type =3D IIO_ANGL_VEL, \ diff --git a/drivers/iio/gyro/mpu3050-core.c b/drivers/iio/gyro/mpu3050-cor= e.c index ee2fcd20545d..484411bf634a 100644 --- a/drivers/iio/gyro/mpu3050-core.c +++ b/drivers/iio/gyro/mpu3050-core.c @@ -697,7 +697,7 @@ static const struct iio_chan_spec_ext_info mpu3050_ext_= info[] =3D { .ext_info =3D mpu3050_ext_info, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ @@ -713,7 +713,7 @@ static const struct iio_chan_spec mpu3050_channels[] = =3D { .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, diff --git a/drivers/iio/health/afe440x.h b/drivers/iio/health/afe440x.h index 0adea0047eba..3b1a89f85ed1 100644 --- a/drivers/iio/health/afe440x.h +++ b/drivers/iio/health/afe440x.h @@ -87,7 +87,7 @@ .address =3D _index, \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 24, \ .storagebits =3D 32, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/health/max30100.c b/drivers/iio/health/max30100.c index 7dfdb5eb305e..8b62d7a3546f 100644 --- a/drivers/iio/health/max30100.c +++ b/drivers/iio/health/max30100.c @@ -124,7 +124,7 @@ static const struct iio_chan_spec max30100_channels[] = =3D { =20 .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, @@ -137,7 +137,7 @@ static const struct iio_chan_spec max30100_channels[] = =3D { =20 .scan_index =3D 1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, diff --git a/drivers/iio/health/max30102.c b/drivers/iio/health/max30102.c index 47da44efd68b..acb38b6dd036 100644 --- a/drivers/iio/health/max30102.c +++ b/drivers/iio/health/max30102.c @@ -135,7 +135,7 @@ static const unsigned long max30105_scan_masks[] =3D { .modified =3D 1, \ .scan_index =3D _si, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .shift =3D 8, \ .realbits =3D 18, \ .storagebits =3D 32, \ diff --git a/drivers/iio/humidity/am2315.c b/drivers/iio/humidity/am2315.c index 02ca23eb8991..c279309464d9 100644 --- a/drivers/iio/humidity/am2315.c +++ b/drivers/iio/humidity/am2315.c @@ -51,7 +51,7 @@ static const struct iio_chan_spec am2315_channels[] =3D { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -63,7 +63,7 @@ static const struct iio_chan_spec am2315_channels[] =3D { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/humidity/hdc100x.c b/drivers/iio/humidity/hdc100x.c index c2b36e682e06..8e876cb1c43f 100644 --- a/drivers/iio/humidity/hdc100x.c +++ b/drivers/iio/humidity/hdc100x.c @@ -100,7 +100,7 @@ static const struct iio_chan_spec hdc100x_channels[] = =3D { BIT(IIO_CHAN_INFO_OFFSET), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, @@ -114,7 +114,7 @@ static const struct iio_chan_spec hdc100x_channels[] = =3D { BIT(IIO_CHAN_INFO_INT_TIME), .scan_index =3D 1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, diff --git a/drivers/iio/humidity/hid-sensor-humidity.c b/drivers/iio/humid= ity/hid-sensor-humidity.c index be2338d5f407..4f258cfe3641 100644 --- a/drivers/iio/humidity/hid-sensor-humidity.c +++ b/drivers/iio/humidity/hid-sensor-humidity.c @@ -47,7 +47,7 @@ static const struct iio_chan_spec humidity_channels[] =3D= { static void humidity_adjust_channel_bit_mask(struct iio_chan_spec *channel= s, int channel, int size) { - channels[channel].scan_type.sign =3D 's'; + channels[channel].scan_type.format =3D 's'; /* Real storage bits will change based on the report desc. */ channels[channel].scan_type.realbits =3D size * 8; /* Maximum size of a sample to capture is s32 */ diff --git a/drivers/iio/humidity/hts221_core.c b/drivers/iio/humidity/hts2= 21_core.c index bfeb0a60d3af..ae07945653e9 100644 --- a/drivers/iio/humidity/hts221_core.c +++ b/drivers/iio/humidity/hts221_core.c @@ -100,7 +100,7 @@ static const struct iio_chan_spec hts221_channels[] =3D= { .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, @@ -116,7 +116,7 @@ static const struct iio_chan_spec hts221_channels[] =3D= { .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, diff --git a/drivers/iio/imu/adis.c b/drivers/iio/imu/adis.c index d160147cce0b..80b82637063b 100644 --- a/drivers/iio/imu/adis.c +++ b/drivers/iio/imu/adis.c @@ -482,7 +482,7 @@ int adis_single_conversion(struct iio_dev *indio_dev, return ret; } =20 - if (chan->scan_type.sign =3D=3D 's') + if (chan->scan_type.format =3D=3D 's') *val =3D sign_extend32(uval, chan->scan_type.realbits - 1); else *val =3D uval & ((1 << chan->scan_type.realbits) - 1); diff --git a/drivers/iio/imu/adis16400.c b/drivers/iio/imu/adis16400.c index 36323ad149e0..90b029fbce54 100644 --- a/drivers/iio/imu/adis16400.c +++ b/drivers/iio/imu/adis16400.c @@ -653,7 +653,7 @@ static irqreturn_t adis16400_trigger_handler(int irq, v= oid *p) .address =3D (addr), \ .scan_index =3D (si), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 0, \ @@ -679,7 +679,7 @@ static irqreturn_t adis16400_trigger_handler(int irq, v= oid *p) .address =3D addr, \ .scan_index =3D ADIS16400_SCAN_GYRO_ ## mod, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 0, \ @@ -699,7 +699,7 @@ static irqreturn_t adis16400_trigger_handler(int irq, v= oid *p) .address =3D (addr), \ .scan_index =3D ADIS16400_SCAN_ACC_ ## mod, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 0, \ @@ -718,7 +718,7 @@ static irqreturn_t adis16400_trigger_handler(int irq, v= oid *p) .address =3D (addr), \ .scan_index =3D ADIS16400_SCAN_MAGN_ ## mod, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 0, \ @@ -744,7 +744,7 @@ static irqreturn_t adis16400_trigger_handler(int irq, v= oid *p) .address =3D (addr), \ .scan_index =3D ADIS16350_SCAN_TEMP_ ## mod, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 0, \ @@ -763,7 +763,7 @@ static irqreturn_t adis16400_trigger_handler(int irq, v= oid *p) .address =3D (addr), \ .scan_index =3D ADIS16350_SCAN_TEMP_X, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 0, \ @@ -781,7 +781,7 @@ static irqreturn_t adis16400_trigger_handler(int irq, v= oid *p) .address =3D (addr), \ .scan_index =3D ADIS16300_SCAN_INCLI_ ## mod, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .shift =3D 0, \ @@ -834,7 +834,7 @@ static const struct iio_chan_spec adis16448_channels[] = =3D { .address =3D ADIS16448_BARO_OUT, .scan_index =3D ADIS16400_SCAN_BARO, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, diff --git a/drivers/iio/imu/adis16460.c b/drivers/iio/imu/adis16460.c index ba1887d36577..e26e83ab4442 100644 --- a/drivers/iio/imu/adis16460.c +++ b/drivers/iio/imu/adis16460.c @@ -242,7 +242,7 @@ enum { .address =3D (_address), \ .scan_index =3D (_si), \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (_bits), \ .storagebits =3D (_bits), \ .endianness =3D IIO_BE, \ @@ -270,7 +270,7 @@ enum { .address =3D ADIS16460_REG_TEMP_OUT, \ .scan_index =3D ADIS16460_SCAN_TEMP, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/imu/adis16475.c b/drivers/iio/imu/adis16475.c index ab39bea1e729..61b0060e206a 100644 --- a/drivers/iio/imu/adis16475.c +++ b/drivers/iio/imu/adis16475.c @@ -671,7 +671,7 @@ static int adis16475_write_raw(struct iio_dev *indio_de= v, .address =3D (_address), \ .scan_index =3D (_si), \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (_r_bits), \ .storagebits =3D (_s_bits), \ .endianness =3D IIO_BE, \ @@ -699,7 +699,7 @@ static int adis16475_write_raw(struct iio_dev *indio_de= v, .address =3D ADIS16475_REG_TEMP_OUT, \ .scan_index =3D ADIS16475_SCAN_TEMP, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ @@ -717,7 +717,7 @@ static int adis16475_write_raw(struct iio_dev *indio_de= v, .address =3D (_address), \ .scan_index =3D _si, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (_r_bits), \ .storagebits =3D (_s_bits), \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/imu/adis16480.c b/drivers/iio/imu/adis16480.c index 543d5c4bfb11..71bd30a43eb1 100644 --- a/drivers/iio/imu/adis16480.c +++ b/drivers/iio/imu/adis16480.c @@ -741,7 +741,7 @@ static int adis16480_write_raw(struct iio_dev *indio_de= v, .address =3D (_address), \ .scan_index =3D (_si), \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (_bits), \ .storagebits =3D (_bits), \ .endianness =3D IIO_BE, \ @@ -798,7 +798,7 @@ static int adis16480_write_raw(struct iio_dev *indio_de= v, .address =3D ADIS16480_REG_BAROM_OUT, \ .scan_index =3D ADIS16480_SCAN_BARO, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 32, \ .storagebits =3D 32, \ .endianness =3D IIO_BE, \ @@ -816,7 +816,7 @@ static int adis16480_write_raw(struct iio_dev *indio_de= v, .address =3D ADIS16480_REG_TEMP_OUT, \ .scan_index =3D ADIS16480_SCAN_TEMP, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/imu/adis16550.c b/drivers/iio/imu/adis16550.c index 28f0dbd0226c..5e73a756f254 100644 --- a/drivers/iio/imu/adis16550.c +++ b/drivers/iio/imu/adis16550.c @@ -706,7 +706,7 @@ static int adis16550_write_raw(struct iio_dev *indio_de= v, .address =3D (_address), \ .scan_index =3D (_si), \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 32, \ .storagebits =3D 32, \ .endianness =3D IIO_BE, \ @@ -731,7 +731,7 @@ static int adis16550_write_raw(struct iio_dev *indio_de= v, .address =3D ADIS16550_REG_TEMP, \ .scan_index =3D ADIS16550_SCAN_TEMP, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 32, \ .endianness =3D IIO_BE, \ @@ -748,7 +748,7 @@ static int adis16550_write_raw(struct iio_dev *indio_de= v, .address =3D (_address), \ .scan_index =3D _si, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 32, \ .storagebits =3D 32, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/imu/bmi160/bmi160_core.c b/drivers/iio/imu/bmi160/= bmi160_core.c index 5f47708b4c5d..0a3b7d7c7dd5 100644 --- a/drivers/iio/imu/bmi160/bmi160_core.c +++ b/drivers/iio/imu/bmi160/bmi160_core.c @@ -105,7 +105,7 @@ BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/imu/bmi270/bmi270_core.c b/drivers/iio/imu/bmi270/= bmi270_core.c index 2ad230788532..c6a829b8814b 100644 --- a/drivers/iio/imu/bmi270/bmi270_core.c +++ b/drivers/iio/imu/bmi270/bmi270_core.c @@ -1275,7 +1275,7 @@ static const struct iio_info bmi270_info =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D BMI270_SCAN_ACCEL_##_axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ @@ -1296,7 +1296,7 @@ static const struct iio_info bmi270_info =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D BMI270_SCAN_GYRO_##_axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/imu/bmi323/bmi323_core.c b/drivers/iio/imu/bmi323/= bmi323_core.c index 6bcb9a436581..c7c9184ef6ce 100644 --- a/drivers/iio/imu/bmi323/bmi323_core.c +++ b/drivers/iio/imu/bmi323/bmi323_core.c @@ -248,7 +248,7 @@ static const struct iio_event_spec bmi323_accel_event[]= =3D { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ @@ -272,7 +272,7 @@ static const struct iio_event_spec bmi323_accel_event[]= =3D { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/imu/bno055/bno055.c b/drivers/iio/imu/bno055/bno05= 5.c index 303bc308f80a..e74e3e3c5e8c 100644 --- a/drivers/iio/imu/bno055/bno055.c +++ b/drivers/iio/imu/bno055/bno055.c @@ -444,7 +444,7 @@ static void bno055_uninit(void *arg) .info_mask_shared_by_type_available =3D _avail, \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c b/drivers/ii= o/imu/inv_icm42600/inv_icm42600_accel.c index 54760d8f92a2..48a8ea89b491 100644 --- a/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c +++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c @@ -42,7 +42,7 @@ BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c b/drivers/iio= /imu/inv_icm42600/inv_icm42600_gyro.c index 7ef0a25ec74f..59d23fd62254 100644 --- a/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c +++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c @@ -39,7 +39,7 @@ BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_temp.h b/drivers/iio= /imu/inv_icm42600/inv_icm42600_temp.h index 3941186512fb..a2f58b8982dc 100644 --- a/drivers/iio/imu/inv_icm42600/inv_icm42600_temp.h +++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_temp.h @@ -17,7 +17,7 @@ BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ }, \ diff --git a/drivers/iio/imu/inv_icm45600/inv_icm45600.h b/drivers/iio/imu/= inv_icm45600/inv_icm45600.h index c5b5446f6c3b..485287c05493 100644 --- a/drivers/iio/imu/inv_icm45600/inv_icm45600.h +++ b/drivers/iio/imu/inv_icm45600/inv_icm45600.h @@ -346,7 +346,7 @@ inv_icm45600_get_mount_matrix(const struct iio_dev *ind= io_dev, BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/imu/inv_icm45600/inv_icm45600_accel.c b/drivers/ii= o/imu/inv_icm45600/inv_icm45600_accel.c index efa22e02657f..6235c03fc9bd 100644 --- a/drivers/iio/imu/inv_icm45600/inv_icm45600_accel.c +++ b/drivers/iio/imu/inv_icm45600/inv_icm45600_accel.c @@ -52,7 +52,7 @@ static const struct iio_chan_spec_ext_info inv_icm45600_a= ccel_ext_infos[] =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/imu/inv_icm45600/inv_icm45600_gyro.c b/drivers/iio= /imu/inv_icm45600/inv_icm45600_gyro.c index 1e85fd0e4ea9..a374b276d813 100644 --- a/drivers/iio/imu/inv_icm45600/inv_icm45600_gyro.c +++ b/drivers/iio/imu/inv_icm45600/inv_icm45600_gyro.c @@ -52,7 +52,7 @@ static const struct iio_chan_spec_ext_info inv_icm45600_g= yro_ext_infos[] =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/i= nv_mpu6050/inv_mpu_core.c index b2fa1f4957a5..418a623ab856 100644 --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c @@ -1469,7 +1469,7 @@ static const struct iio_event_spec inv_wom_events[] = =3D { BIT(IIO_CHAN_INFO_CALIBBIAS), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .shift =3D 0, \ @@ -1486,7 +1486,7 @@ static const struct iio_event_spec inv_wom_events[] = =3D { | BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .shift =3D 0, \ @@ -1578,7 +1578,7 @@ static const unsigned long inv_mpu_scan_masks[] =3D { BIT(IIO_CHAN_INFO_RAW), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D _bits, \ .storagebits =3D 16, \ .shift =3D 0, \ diff --git a/drivers/iio/imu/kmx61.c b/drivers/iio/imu/kmx61.c index 3cd91d8a89ee..43c6281da0bd 100644 --- a/drivers/iio/imu/kmx61.c +++ b/drivers/iio/imu/kmx61.c @@ -234,7 +234,7 @@ static const struct iio_event_spec kmx61_event =3D { .address =3D KMX61_ACC, \ .scan_index =3D KMX61_AXIS_ ## _axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 12, \ .storagebits =3D 16, \ .shift =3D 4, \ @@ -254,7 +254,7 @@ static const struct iio_event_spec kmx61_event =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D KMX61_AXIS_ ## _axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 14, \ .storagebits =3D 16, \ .shift =3D 2, \ diff --git a/drivers/iio/imu/smi240.c b/drivers/iio/imu/smi240.c index d159ee59acdd..f2a504c69e6a 100644 --- a/drivers/iio/imu/smi240.c +++ b/drivers/iio/imu/smi240.c @@ -80,7 +80,7 @@ BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ @@ -96,7 +96,7 @@ BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/imu/smi330/smi330_core.c b/drivers/iio/imu/smi330/= smi330_core.c index 7ec5ae7f521a..5d7f6730e2ca 100644 --- a/drivers/iio/imu/smi330/smi330_core.c +++ b/drivers/iio/imu/smi330/smi330_core.c @@ -85,7 +85,7 @@ BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D SMI330_SCAN_ACCEL_##_axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ @@ -110,7 +110,7 @@ BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D SMI330_SCAN_GYRO_##_axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ @@ -124,7 +124,7 @@ BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D _index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h b/drivers/iio/imu/st_l= sm6dsx/st_lsm6dsx.h index 07b1773c87bd..39d23b9e677c 100644 --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h @@ -92,7 +92,7 @@ enum st_lsm6dsx_hw_id { .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D scan_idx, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ @@ -113,7 +113,7 @@ enum st_lsm6dsx_hw_id { .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D scan_idx, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-b= uffer.c index f15a180dc49e..60f16749c79d 100644 --- a/drivers/iio/industrialio-buffer.c +++ b/drivers/iio/industrialio-buffer.c @@ -421,7 +421,7 @@ static ssize_t iio_show_fixed_type(struct device *dev, if (scan_type->repeat > 1) return sysfs_emit(buf, "%s:%c%d/%dX%d>>%u\n", iio_endian_prefix[type], - scan_type->sign, + scan_type->format, scan_type->realbits, scan_type->storagebits, scan_type->repeat, @@ -429,7 +429,7 @@ static ssize_t iio_show_fixed_type(struct device *dev, else return sysfs_emit(buf, "%s:%c%d/%d>>%u\n", iio_endian_prefix[type], - scan_type->sign, + scan_type->format, scan_type->realbits, scan_type->storagebits, scan_type->shift); diff --git a/drivers/iio/light/acpi-als.c b/drivers/iio/light/acpi-als.c index d5d1a8b9c035..84626ff5d5bc 100644 --- a/drivers/iio/light/acpi-als.c +++ b/drivers/iio/light/acpi-als.c @@ -38,7 +38,7 @@ static const struct iio_chan_spec acpi_als_channels[] =3D= { { .type =3D IIO_LIGHT, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 32, .storagebits =3D 32, }, diff --git a/drivers/iio/light/adjd_s311.c b/drivers/iio/light/adjd_s311.c index edb3d9dc8bed..377bbd821870 100644 --- a/drivers/iio/light/adjd_s311.c +++ b/drivers/iio/light/adjd_s311.c @@ -152,7 +152,7 @@ static irqreturn_t adjd_s311_trigger_handler(int irq, v= oid *p) .channel2 =3D (IIO_MOD_LIGHT_##_color), \ .scan_index =3D (_scan_idx), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 10, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/light/apds9960.c b/drivers/iio/light/apds9960.c index 785c5dbe2d08..f227ff629628 100644 --- a/drivers/iio/light/apds9960.c +++ b/drivers/iio/light/apds9960.c @@ -278,7 +278,7 @@ static const struct iio_event_spec apds9960_als_event_s= pec[] =3D { .scan_index =3D _si, \ .indexed =3D 1, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 8, \ .storagebits =3D 8, \ }, \ diff --git a/drivers/iio/light/as73211.c b/drivers/iio/light/as73211.c index 32719f584c47..e41aa5a89684 100644 --- a/drivers/iio/light/as73211.c +++ b/drivers/iio/light/as73211.c @@ -142,7 +142,7 @@ struct as73211_data { .address =3D _addr, \ .scan_index =3D _si, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ @@ -194,7 +194,7 @@ static const struct iio_chan_spec as73211_channels[] = =3D { .address =3D AS73211_OUT_TEMP, .scan_index =3D AS73211_SCAN_INDEX_TEMP, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, @@ -216,7 +216,7 @@ static const struct iio_chan_spec as7331_channels[] =3D= { .address =3D AS73211_OUT_TEMP, .scan_index =3D AS73211_SCAN_INDEX_TEMP, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, diff --git a/drivers/iio/light/bh1745.c b/drivers/iio/light/bh1745.c index 10b00344bbed..d13b58db8c40 100644 --- a/drivers/iio/light/bh1745.c +++ b/drivers/iio/light/bh1745.c @@ -207,7 +207,7 @@ static const struct iio_event_spec bh1745_event_spec[] = =3D { .channel2 =3D IIO_MOD_LIGHT_##_colour, .address =3D _addr, \ .scan_index =3D _si, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/light/cros_ec_light_prox.c b/drivers/iio/light/cro= s_ec_light_prox.c index 815806ceb5c8..2178ab3f2936 100644 --- a/drivers/iio/light/cros_ec_light_prox.c +++ b/drivers/iio/light/cros_ec_light_prox.c @@ -200,7 +200,7 @@ static int cros_ec_light_prox_probe(struct platform_dev= ice *pdev) channel->scan_type.shift =3D 0; channel->scan_index =3D 0; channel->ext_info =3D cros_ec_sensors_ext_info; - channel->scan_type.sign =3D 'u'; + channel->scan_type.format =3D 'u'; =20 /* Sensor specific */ switch (state->core.type) { @@ -228,7 +228,7 @@ static int cros_ec_light_prox_probe(struct platform_dev= ice *pdev) channel->type =3D IIO_TIMESTAMP; channel->channel =3D -1; channel->scan_index =3D 1; - channel->scan_type.sign =3D 's'; + channel->scan_type.format =3D 's'; channel->scan_type.realbits =3D 64; channel->scan_type.storagebits =3D 64; =20 diff --git a/drivers/iio/light/gp2ap020a00f.c b/drivers/iio/light/gp2ap020a= 00f.c index c7df4b258e2c..d493819376ba 100644 --- a/drivers/iio/light/gp2ap020a00f.c +++ b/drivers/iio/light/gp2ap020a00f.c @@ -1327,7 +1327,7 @@ static const struct iio_chan_spec gp2ap020a00f_channe= ls[] =3D { .modified =3D 1, .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW), .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .shift =3D 0, .storagebits =3D 32, @@ -1344,7 +1344,7 @@ static const struct iio_chan_spec gp2ap020a00f_channe= ls[] =3D { .modified =3D 1, .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW), .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .shift =3D 0, .storagebits =3D 32, @@ -1358,7 +1358,7 @@ static const struct iio_chan_spec gp2ap020a00f_channe= ls[] =3D { .modified =3D 0, .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW), .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .shift =3D 0, .storagebits =3D 16, diff --git a/drivers/iio/light/hid-sensor-als.c b/drivers/iio/light/hid-sen= sor-als.c index 384572844162..631602f865e6 100644 --- a/drivers/iio/light/hid-sensor-als.c +++ b/drivers/iio/light/hid-sensor-als.c @@ -121,7 +121,7 @@ static const struct iio_chan_spec als_channels[] =3D { static void als_adjust_channel_bit_mask(struct iio_chan_spec *channels, int channel, int size) { - channels[channel].scan_type.sign =3D 's'; + channels[channel].scan_type.format =3D 's'; /* Real storage bits will change based on the report desc. */ channels[channel].scan_type.realbits =3D size * 8; /* Maximum size of a sample to capture is u32 */ diff --git a/drivers/iio/light/hid-sensor-prox.c b/drivers/iio/light/hid-se= nsor-prox.c index efa904a70d0e..f4506c9fe2f0 100644 --- a/drivers/iio/light/hid-sensor-prox.c +++ b/drivers/iio/light/hid-sensor-prox.c @@ -71,7 +71,7 @@ static const struct iio_chan_spec prox_channels[] =3D { static void prox_adjust_channel_bit_mask(struct iio_chan_spec *channels, int channel, int size) { - channels[channel].scan_type.sign =3D 's'; + channels[channel].scan_type.format =3D 's'; /* Real storage bits will change based on the report desc. */ channels[channel].scan_type.realbits =3D size * 8; /* Maximum size of a sample to capture is u32 */ diff --git a/drivers/iio/light/isl29125.c b/drivers/iio/light/isl29125.c index 3acb8a4f1d12..8dec5ab93055 100644 --- a/drivers/iio/light/isl29125.c +++ b/drivers/iio/light/isl29125.c @@ -61,7 +61,7 @@ struct isl29125_data { .channel2 =3D IIO_MOD_LIGHT_##_color, \ .scan_index =3D _si, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/light/ltr501.c b/drivers/iio/light/ltr501.c index 022e0693983b..889ce4fa8d44 100644 --- a/drivers/iio/light/ltr501.c +++ b/drivers/iio/light/ltr501.c @@ -585,7 +585,7 @@ static const struct iio_event_spec ltr501_pxs_event_spe= c[] =3D { .info_mask_shared_by_type =3D (_shared), \ .scan_index =3D (_idx), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ @@ -617,7 +617,7 @@ static const struct iio_chan_spec ltr501_channels[] =3D= { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 2, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 11, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/light/max44000.c b/drivers/iio/light/max44000.c index 039d45af3a7f..eacb20c9c945 100644 --- a/drivers/iio/light/max44000.c +++ b/drivers/iio/light/max44000.c @@ -135,7 +135,7 @@ static const struct iio_chan_spec max44000_channels[] = =3D { BIT(IIO_CHAN_INFO_INT_TIME), .scan_index =3D MAX44000_SCAN_INDEX_ALS, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 14, .storagebits =3D 16, } @@ -145,7 +145,7 @@ static const struct iio_chan_spec max44000_channels[] = =3D { .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW), .scan_index =3D MAX44000_SCAN_INDEX_PRX, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 8, .storagebits =3D 16, } diff --git a/drivers/iio/light/opt4060.c b/drivers/iio/light/opt4060.c index d6e915ab355d..584ecf30082a 100644 --- a/drivers/iio/light/opt4060.c +++ b/drivers/iio/light/opt4060.c @@ -534,7 +534,7 @@ static void opt4060_chip_off_action(void *chip) .address =3D OPT4060_##_color##_MSB, \ .scan_index =3D OPT4060_##_color, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 32, \ .storagebits =3D 32, \ .endianness =3D IIO_CPU, \ @@ -558,7 +558,7 @@ static void opt4060_chip_off_action(void *chip) .info_mask_shared_by_all_available =3D BIT(IIO_CHAN_INFO_INT_TIME), \ .scan_index =3D OPT4060_##_channel, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 32, \ .storagebits =3D 32, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/light/rohm-bu27034.c b/drivers/iio/light/rohm-bu27= 034.c index 28d111ac8c0a..800bf2ed51b9 100644 --- a/drivers/iio/light/rohm-bu27034.c +++ b/drivers/iio/light/rohm-bu27034.c @@ -158,7 +158,7 @@ static const struct iio_itime_sel_mul bu27034_itimes[] = =3D { .address =3D BU27034_REG_##_name##_LO, \ .scan_index =3D BU27034_CHAN_##_name, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ @@ -174,7 +174,7 @@ static const struct iio_chan_spec bu27034_channels[] = =3D { .channel =3D BU27034_CHAN_ALS, .scan_index =3D BU27034_CHAN_ALS, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, diff --git a/drivers/iio/light/rpr0521.c b/drivers/iio/light/rpr0521.c index 9341c1d58cbe..f40950750239 100644 --- a/drivers/iio/light/rpr0521.c +++ b/drivers/iio/light/rpr0521.c @@ -249,7 +249,7 @@ static const struct iio_chan_spec rpr0521_channels[] = =3D { .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_index =3D RPR0521_CHAN_INDEX_PXS, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, @@ -265,7 +265,7 @@ static const struct iio_chan_spec rpr0521_channels[] = =3D { .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_index =3D RPR0521_CHAN_INDEX_BOTH, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, @@ -281,7 +281,7 @@ static const struct iio_chan_spec rpr0521_channels[] = =3D { .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_index =3D RPR0521_CHAN_INDEX_IR, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, diff --git a/drivers/iio/light/si1145.c b/drivers/iio/light/si1145.c index ef0abc4499b7..78c1cc320d38 100644 --- a/drivers/iio/light/si1145.c +++ b/drivers/iio/light/si1145.c @@ -793,7 +793,7 @@ static int si1145_write_raw(struct iio_dev *indio_dev, } =20 #define SI1145_ST { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/light/st_uvis25_core.c b/drivers/iio/light/st_uvis= 25_core.c index bcd729a9924e..a18fbf791a90 100644 --- a/drivers/iio/light/st_uvis25_core.c +++ b/drivers/iio/light/st_uvis25_core.c @@ -43,7 +43,7 @@ static const struct iio_chan_spec st_uvis25_channels[] = =3D { .info_mask_separate =3D BIT(IIO_CHAN_INFO_PROCESSED), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 8, .storagebits =3D 8, }, diff --git a/drivers/iio/light/tcs3414.c b/drivers/iio/light/tcs3414.c index 5be461e6dbdb..9b4c8184af8f 100644 --- a/drivers/iio/light/tcs3414.c +++ b/drivers/iio/light/tcs3414.c @@ -65,7 +65,7 @@ struct tcs3414_data { .address =3D _addr, \ .scan_index =3D _si, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/light/tcs3472.c b/drivers/iio/light/tcs3472.c index 12429a3261b3..7328631876fb 100644 --- a/drivers/iio/light/tcs3472.c +++ b/drivers/iio/light/tcs3472.c @@ -93,7 +93,7 @@ static const struct iio_event_spec tcs3472_events[] =3D { .address =3D _addr, \ .scan_index =3D _si, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c index a36c23813679..29e719a392ef 100644 --- a/drivers/iio/light/vcnl4000.c +++ b/drivers/iio/light/vcnl4000.c @@ -1809,7 +1809,7 @@ static const struct iio_chan_spec vcnl4010_channels[]= =3D { .num_event_specs =3D ARRAY_SIZE(vcnl4000_event_spec), .ext_info =3D vcnl4000_ext_info, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/light/vcnl4035.c b/drivers/iio/light/vcnl4035.c index 963747927425..976383b72ac0 100644 --- a/drivers/iio/light/vcnl4035.c +++ b/drivers/iio/light/vcnl4035.c @@ -378,7 +378,7 @@ static const struct iio_chan_spec vcnl4035_channels[] = =3D { .num_event_specs =3D ARRAY_SIZE(vcnl4035_event_spec), .scan_index =3D VCNL4035_CHAN_INDEX_LIGHT, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, @@ -392,7 +392,7 @@ static const struct iio_chan_spec vcnl4035_channels[] = =3D { .info_mask_separate =3D BIT(IIO_CHAN_INFO_RAW), .scan_index =3D VCNL4035_CHAN_INDEX_WHITE_LED, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, diff --git a/drivers/iio/light/veml6030.c b/drivers/iio/light/veml6030.c index 6bcacae3863c..a1c63ad52246 100644 --- a/drivers/iio/light/veml6030.c +++ b/drivers/iio/light/veml6030.c @@ -285,7 +285,7 @@ static const struct iio_chan_spec veml6030_channels[] = =3D { .num_event_specs =3D ARRAY_SIZE(veml6030_event_spec), .scan_index =3D VEML6030_SCAN_ALS, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -303,7 +303,7 @@ static const struct iio_chan_spec veml6030_channels[] = =3D { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D VEML6030_SCAN_WH, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -324,7 +324,7 @@ static const struct iio_chan_spec veml7700_channels[] = =3D { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D VEML6030_SCAN_ALS, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -342,7 +342,7 @@ static const struct iio_chan_spec veml7700_channels[] = =3D { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D VEML6030_SCAN_WH, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/light/veml6046x00.c b/drivers/iio/light/veml6046x0= 0.c index e60f24d46e7b..692cdedd202d 100644 --- a/drivers/iio/light/veml6046x00.c +++ b/drivers/iio/light/veml6046x00.c @@ -329,7 +329,7 @@ static const struct iio_chan_spec veml6046x00_channels[= ] =3D { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D VEML6046X00_SCAN_R, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, @@ -347,7 +347,7 @@ static const struct iio_chan_spec veml6046x00_channels[= ] =3D { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D VEML6046X00_SCAN_G, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, @@ -365,7 +365,7 @@ static const struct iio_chan_spec veml6046x00_channels[= ] =3D { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D VEML6046X00_SCAN_B, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, @@ -383,7 +383,7 @@ static const struct iio_chan_spec veml6046x00_channels[= ] =3D { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D VEML6046X00_SCAN_IR, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, diff --git a/drivers/iio/light/vl6180.c b/drivers/iio/light/vl6180.c index c1314b144367..3aebeea6ece9 100644 --- a/drivers/iio/light/vl6180.c +++ b/drivers/iio/light/vl6180.c @@ -281,7 +281,7 @@ static const struct iio_chan_spec vl6180_channels[] =3D= { .address =3D VL6180_ALS, .scan_index =3D VL6180_ALS, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, }, @@ -295,7 +295,7 @@ static const struct iio_chan_spec vl6180_channels[] =3D= { .address =3D VL6180_RANGE, .scan_index =3D VL6180_RANGE, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 8, .storagebits =3D 8, }, @@ -307,7 +307,7 @@ static const struct iio_chan_spec vl6180_channels[] =3D= { .address =3D VL6180_PROX, .scan_index =3D VL6180_PROX, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, }, diff --git a/drivers/iio/magnetometer/af8133j.c b/drivers/iio/magnetometer/= af8133j.c index b1768c3aa8f3..cac53f85a6e6 100644 --- a/drivers/iio/magnetometer/af8133j.c +++ b/drivers/iio/magnetometer/af8133j.c @@ -84,7 +84,7 @@ static const struct iio_chan_spec_ext_info af8133j_ext_in= fo[] =3D { .ext_info =3D af8133j_ext_info, \ .scan_index =3D _si, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_LE, \ diff --git a/drivers/iio/magnetometer/ak8974.c b/drivers/iio/magnetometer/a= k8974.c index 68ece700c7ce..000429798b9e 100644 --- a/drivers/iio/magnetometer/ak8974.c +++ b/drivers/iio/magnetometer/ak8974.c @@ -716,7 +716,7 @@ static const struct iio_chan_spec_ext_info ak8974_ext_i= nfo[] =3D { .address =3D index, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D bits, \ .storagebits =3D 16, \ .endianness =3D IIO_LE \ diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/a= k8975.c index d30315ad85de..d0414ab6a155 100644 --- a/drivers/iio/magnetometer/ak8975.c +++ b/drivers/iio/magnetometer/ak8975.c @@ -830,7 +830,7 @@ static const struct iio_chan_spec_ext_info ak8975_ext_i= nfo[] =3D { .address =3D index, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU \ diff --git a/drivers/iio/magnetometer/als31300.c b/drivers/iio/magnetometer= /als31300.c index 2a2677428ed5..26b2c791eb8f 100644 --- a/drivers/iio/magnetometer/als31300.c +++ b/drivers/iio/magnetometer/als31300.c @@ -261,7 +261,7 @@ static irqreturn_t als31300_trigger_handler(int irq, vo= id *p) .address =3D index, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 12, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ @@ -277,7 +277,7 @@ static const struct iio_chan_spec als31300_channels[] = =3D { .address =3D TEMPERATURE, .scan_index =3D TEMPERATURE, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/magnetometer/bmc150_magn.c b/drivers/iio/magnetome= ter/bmc150_magn.c index a022e1805dff..52669027c63b 100644 --- a/drivers/iio/magnetometer/bmc150_magn.c +++ b/drivers/iio/magnetometer/bmc150_magn.c @@ -633,7 +633,7 @@ static const struct attribute_group bmc150_magn_attrs_g= roup =3D { BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D AXIS_##_axis, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 32, \ .storagebits =3D 32, \ .endianness =3D IIO_LE \ diff --git a/drivers/iio/magnetometer/hid-sensor-magn-3d.c b/drivers/iio/ma= gnetometer/hid-sensor-magn-3d.c index c673f9323e47..177236c60ce5 100644 --- a/drivers/iio/magnetometer/hid-sensor-magn-3d.c +++ b/drivers/iio/magnetometer/hid-sensor-magn-3d.c @@ -136,7 +136,7 @@ static const struct iio_chan_spec magn_3d_channels[] = =3D { static void magn_3d_adjust_channel_bit_mask(struct iio_chan_spec *channels, int channel, int size) { - channels[channel].scan_type.sign =3D 's'; + channels[channel].scan_type.format =3D 's'; /* Real storage bits will change based on the report desc. */ channels[channel].scan_type.realbits =3D size * 8; /* Maximum size of a sample to capture is u32 */ diff --git a/drivers/iio/magnetometer/hmc5843_core.c b/drivers/iio/magnetom= eter/hmc5843_core.c index fc16ebd314f7..876653ec3f68 100644 --- a/drivers/iio/magnetometer/hmc5843_core.c +++ b/drivers/iio/magnetometer/hmc5843_core.c @@ -471,7 +471,7 @@ static irqreturn_t hmc5843_trigger_handler(int irq, voi= d *p) BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D idx, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ @@ -489,7 +489,7 @@ static irqreturn_t hmc5843_trigger_handler(int irq, voi= d *p) BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D idx, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/magnetometer/mag3110.c b/drivers/iio/magnetometer/= mag3110.c index ff09250a06e7..4d7bdd74318e 100644 --- a/drivers/iio/magnetometer/mag3110.c +++ b/drivers/iio/magnetometer/mag3110.c @@ -422,7 +422,7 @@ static irqreturn_t mag3110_trigger_handler(int irq, voi= d *p) BIT(IIO_CHAN_INFO_SCALE), \ .scan_index =3D idx, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ @@ -439,7 +439,7 @@ static const struct iio_chan_spec mag3110_channels[] = =3D { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 3, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 8, .storagebits =3D 8, }, diff --git a/drivers/iio/magnetometer/rm3100-core.c b/drivers/iio/magnetome= ter/rm3100-core.c index 2b2884425746..498520dc514f 100644 --- a/drivers/iio/magnetometer/rm3100-core.c +++ b/drivers/iio/magnetometer/rm3100-core.c @@ -237,7 +237,7 @@ static int rm3100_read_mag(struct rm3100_data *data, in= t idx, int *val) BIT(IIO_CHAN_INFO_SAMP_FREQ), \ .scan_index =3D idx, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 24, \ .storagebits =3D 32, \ .shift =3D 8, \ diff --git a/drivers/iio/magnetometer/tlv493d.c b/drivers/iio/magnetometer/= tlv493d.c index ec53fd40277b..6731088a0320 100644 --- a/drivers/iio/magnetometer/tlv493d.c +++ b/drivers/iio/magnetometer/tlv493d.c @@ -379,7 +379,7 @@ static irqreturn_t tlv493d_trigger_handler(int irq, voi= d *ptr) .address =3D index, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 12, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ @@ -398,7 +398,7 @@ static const struct iio_chan_spec tlv493d_channels[] = =3D { .address =3D TLV493D_TEMPERATURE, .scan_index =3D TLV493D_TEMPERATURE, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 12, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/magnetometer/tmag5273.c b/drivers/iio/magnetometer= /tmag5273.c index 2adc3c036ab4..61790147bdea 100644 --- a/drivers/iio/magnetometer/tmag5273.c +++ b/drivers/iio/magnetometer/tmag5273.c @@ -405,7 +405,7 @@ static int tmag5273_write_raw(struct iio_dev *indio_dev, .address =3D index, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_CPU, \ @@ -421,7 +421,7 @@ static const struct iio_chan_spec tmag5273_channels[] = =3D { .address =3D TEMPERATURE, .scan_index =3D TEMPERATURE, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -441,7 +441,7 @@ static const struct iio_chan_spec tmag5273_channels[] = =3D { .address =3D ANGLE, .scan_index =3D ANGLE, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, @@ -457,7 +457,7 @@ static const struct iio_chan_spec tmag5273_channels[] = =3D { .address =3D MAGNITUDE, .scan_index =3D MAGNITUDE, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/magnetometer/yamaha-yas530.c b/drivers/iio/magneto= meter/yamaha-yas530.c index d49e37edcbed..f836c7cc6790 100644 --- a/drivers/iio/magnetometer/yamaha-yas530.c +++ b/drivers/iio/magnetometer/yamaha-yas530.c @@ -713,7 +713,7 @@ static const struct iio_chan_spec_ext_info yas5xx_ext_i= nfo[] =3D { .address =3D index, \ .scan_index =3D index, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 32, \ .storagebits =3D 32, \ .endianness =3D IIO_CPU, \ @@ -727,7 +727,7 @@ static const struct iio_chan_spec yas5xx_channels[] =3D= { .address =3D 0, .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, diff --git a/drivers/iio/orientation/hid-sensor-incl-3d.c b/drivers/iio/ori= entation/hid-sensor-incl-3d.c index 4e23a598a3fb..577b4a5bad34 100644 --- a/drivers/iio/orientation/hid-sensor-incl-3d.c +++ b/drivers/iio/orientation/hid-sensor-incl-3d.c @@ -89,7 +89,7 @@ static const struct iio_chan_spec incl_3d_channels[] =3D { static void incl_3d_adjust_channel_bit_mask(struct iio_chan_spec *chan, int size) { - chan->scan_type.sign =3D 's'; + chan->scan_type.format =3D 's'; /* Real storage bits will change based on the report desc. */ chan->scan_type.realbits =3D size * 8; /* Maximum size of a sample to capture is u32 */ diff --git a/drivers/iio/orientation/hid-sensor-rotation.c b/drivers/iio/or= ientation/hid-sensor-rotation.c index e759f91a710a..dddf8dfc328b 100644 --- a/drivers/iio/orientation/hid-sensor-rotation.c +++ b/drivers/iio/orientation/hid-sensor-rotation.c @@ -54,7 +54,7 @@ static const struct iio_chan_spec dev_rot_channels[] =3D { static void dev_rot_adjust_channel_bit_mask(struct iio_chan_spec *chan, int size) { - chan->scan_type.sign =3D 's'; + chan->scan_type.format =3D 's'; /* Real storage bits will change based on the report desc. */ chan->scan_type.realbits =3D size * 8; /* Maximum size of a sample to capture is u32 */ diff --git a/drivers/iio/position/hid-sensor-custom-intel-hinge.c b/drivers= /iio/position/hid-sensor-custom-intel-hinge.c index a26d391661fd..fb4e38dbdb89 100644 --- a/drivers/iio/position/hid-sensor-custom-intel-hinge.c +++ b/drivers/iio/position/hid-sensor-custom-intel-hinge.c @@ -65,7 +65,7 @@ static const struct iio_chan_spec hinge_channels[] =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ) | BIT(IIO_CHAN_INFO_HYSTERESIS), .scan_index =3D CHANNEL_SCAN_INDEX_HINGE_ANGLE, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .storagebits =3D 32, }, }, { @@ -78,7 +78,7 @@ static const struct iio_chan_spec hinge_channels[] =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ) | BIT(IIO_CHAN_INFO_HYSTERESIS), .scan_index =3D CHANNEL_SCAN_INDEX_SCREEN_ANGLE, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .storagebits =3D 32, }, }, { @@ -91,7 +91,7 @@ static const struct iio_chan_spec hinge_channels[] =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ) | BIT(IIO_CHAN_INFO_HYSTERESIS), .scan_index =3D CHANNEL_SCAN_INDEX_KEYBOARD_ANGLE, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .storagebits =3D 32, }, }, diff --git a/drivers/iio/potentiostat/lmp91000.c b/drivers/iio/potentiostat= /lmp91000.c index eccc2a34358f..4bd06ada903d 100644 --- a/drivers/iio/potentiostat/lmp91000.c +++ b/drivers/iio/potentiostat/lmp91000.c @@ -85,7 +85,7 @@ static const struct iio_chan_spec lmp91000_channels[] =3D= { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 32, .storagebits =3D 32, }, diff --git a/drivers/iio/pressure/abp2030pa.c b/drivers/iio/pressure/abp203= 0pa.c index 4ca056a73cef..734cdaa4b252 100644 --- a/drivers/iio/pressure/abp2030pa.c +++ b/drivers/iio/pressure/abp2030pa.c @@ -426,7 +426,7 @@ static const struct iio_chan_spec abp2_channels[] =3D { BIT(IIO_CHAN_INFO_OFFSET), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -439,7 +439,7 @@ static const struct iio_chan_spec abp2_channels[] =3D { BIT(IIO_CHAN_INFO_OFFSET), .scan_index =3D 1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_CPU, diff --git a/drivers/iio/pressure/bmp280-core.c b/drivers/iio/pressure/bmp2= 80-core.c index d983ce9c0b99..59e04154cfe2 100644 --- a/drivers/iio/pressure/bmp280-core.c +++ b/drivers/iio/pressure/bmp280-core.c @@ -161,7 +161,7 @@ static const struct iio_chan_spec bmp280_channels[] =3D= { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -176,7 +176,7 @@ static const struct iio_chan_spec bmp280_channels[] =3D= { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -195,7 +195,7 @@ static const struct iio_chan_spec bme280_channels[] =3D= { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -210,7 +210,7 @@ static const struct iio_chan_spec bme280_channels[] =3D= { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -225,7 +225,7 @@ static const struct iio_chan_spec bme280_channels[] =3D= { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), .scan_index =3D 2, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -246,7 +246,7 @@ static const struct iio_chan_spec bmp380_channels[] =3D= { BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -263,7 +263,7 @@ static const struct iio_chan_spec bmp380_channels[] =3D= { BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY), .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -284,7 +284,7 @@ static const struct iio_chan_spec bmp580_channels[] =3D= { BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_LE, @@ -301,7 +301,7 @@ static const struct iio_chan_spec bmp580_channels[] =3D= { BIT(IIO_CHAN_INFO_LOW_PASS_FILTER_3DB_FREQUENCY), .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_LE, diff --git a/drivers/iio/pressure/cros_ec_baro.c b/drivers/iio/pressure/cro= s_ec_baro.c index c6b950c596c1..d1d722089521 100644 --- a/drivers/iio/pressure/cros_ec_baro.c +++ b/drivers/iio/pressure/cros_ec_baro.c @@ -158,7 +158,7 @@ static int cros_ec_baro_probe(struct platform_device *p= dev) channel->scan_type.shift =3D 0; channel->scan_index =3D 0; channel->ext_info =3D cros_ec_sensors_ext_info; - channel->scan_type.sign =3D 'u'; + channel->scan_type.format =3D 'u'; =20 /* Sensor specific */ switch (state->core.type) { @@ -175,7 +175,7 @@ static int cros_ec_baro_probe(struct platform_device *p= dev) channel->type =3D IIO_TIMESTAMP; channel->channel =3D -1; channel->scan_index =3D 1; - channel->scan_type.sign =3D 's'; + channel->scan_type.format =3D 's'; channel->scan_type.realbits =3D 64; channel->scan_type.storagebits =3D 64; =20 diff --git a/drivers/iio/pressure/dlhl60d.c b/drivers/iio/pressure/dlhl60d.c index 46feb27fe632..5fb02cdfac39 100644 --- a/drivers/iio/pressure/dlhl60d.c +++ b/drivers/iio/pressure/dlhl60d.c @@ -214,7 +214,7 @@ static const struct iio_chan_spec dlh_channels[] =3D { BIT(IIO_CHAN_INFO_OFFSET), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D DLH_NUM_PR_BITS, .storagebits =3D 32, .shift =3D 8, @@ -229,7 +229,7 @@ static const struct iio_chan_spec dlh_channels[] =3D { BIT(IIO_CHAN_INFO_OFFSET), .scan_index =3D 1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D DLH_NUM_TEMP_BITS, .storagebits =3D 32, .shift =3D 8, diff --git a/drivers/iio/pressure/hid-sensor-press.c b/drivers/iio/pressure= /hid-sensor-press.c index 5f1d6abda3e4..5248f8390c8e 100644 --- a/drivers/iio/pressure/hid-sensor-press.c +++ b/drivers/iio/pressure/hid-sensor-press.c @@ -57,7 +57,7 @@ static const struct iio_chan_spec press_channels[] =3D { static void press_adjust_channel_bit_mask(struct iio_chan_spec *channels, int channel, int size) { - channels[channel].scan_type.sign =3D 's'; + channels[channel].scan_type.format =3D 's'; /* Real storage bits will change based on the report desc. */ channels[channel].scan_type.realbits =3D size * 8; /* Maximum size of a sample to capture is u32 */ diff --git a/drivers/iio/pressure/hsc030pa.c b/drivers/iio/pressure/hsc030p= a.c index 2d00c0656259..914513f2ca99 100644 --- a/drivers/iio/pressure/hsc030pa.c +++ b/drivers/iio/pressure/hsc030pa.c @@ -410,7 +410,7 @@ static const struct iio_chan_spec hsc_channels[] =3D { BIT(IIO_CHAN_INFO_OFFSET), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 14, .storagebits =3D 16, .endianness =3D IIO_BE, @@ -423,7 +423,7 @@ static const struct iio_chan_spec hsc_channels[] =3D { BIT(IIO_CHAN_INFO_OFFSET), .scan_index =3D 1, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 11, .storagebits =3D 16, .shift =3D 5, diff --git a/drivers/iio/pressure/mpl3115.c b/drivers/iio/pressure/mpl3115.c index aeac1586f12e..4f73f2a80298 100644 --- a/drivers/iio/pressure/mpl3115.c +++ b/drivers/iio/pressure/mpl3115.c @@ -341,7 +341,7 @@ static const struct iio_chan_spec mpl3115_channels[] = =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 20, .storagebits =3D 32, .shift =3D 12, @@ -359,7 +359,7 @@ static const struct iio_chan_spec mpl3115_channels[] = =3D { BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 12, .storagebits =3D 16, .shift =3D 4, diff --git a/drivers/iio/pressure/mprls0025pa.c b/drivers/iio/pressure/mprl= s0025pa.c index e8c495f336ff..515b7d5c01e3 100644 --- a/drivers/iio/pressure/mprls0025pa.c +++ b/drivers/iio/pressure/mprls0025pa.c @@ -166,7 +166,7 @@ static const struct iio_chan_spec mpr_channels[] =3D { BIT(IIO_CHAN_INFO_OFFSET), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_CPU, diff --git a/drivers/iio/pressure/ms5611_core.c b/drivers/iio/pressure/ms56= 11_core.c index bdac27bd5a5d..89705f578cc2 100644 --- a/drivers/iio/pressure/ms5611_core.c +++ b/drivers/iio/pressure/ms5611_core.c @@ -347,7 +347,7 @@ static const struct iio_chan_spec ms5611_channels[] =3D= { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, @@ -360,7 +360,7 @@ static const struct iio_chan_spec ms5611_channels[] =3D= { BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 32, .storagebits =3D 32, .endianness =3D IIO_CPU, diff --git a/drivers/iio/pressure/rohm-bm1390.c b/drivers/iio/pressure/rohm= -bm1390.c index dac27fd359ad..fc6f9e66baed 100644 --- a/drivers/iio/pressure/rohm-bm1390.c +++ b/drivers/iio/pressure/rohm-bm1390.c @@ -176,7 +176,7 @@ static const struct iio_chan_spec bm1390_channels[] =3D= { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D BM1390_CHAN_PRESSURE, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 22, .storagebits =3D 32, .endianness =3D IIO_LE, @@ -188,7 +188,7 @@ static const struct iio_chan_spec bm1390_channels[] =3D= { .info_mask_shared_by_type =3D BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D BM1390_CHAN_TEMP, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, diff --git a/drivers/iio/pressure/st_pressure_core.c b/drivers/iio/pressure= /st_pressure_core.c index b70d1cee82f3..d74cc65986e6 100644 --- a/drivers/iio/pressure/st_pressure_core.c +++ b/drivers/iio/pressure/st_pressure_core.c @@ -127,7 +127,7 @@ static const struct iio_chan_spec st_press_1_channels[]= =3D { .address =3D ST_PRESS_1_OUT_XL_ADDR, .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_LE, @@ -141,7 +141,7 @@ static const struct iio_chan_spec st_press_1_channels[]= =3D { .address =3D ST_TEMP_1_OUT_L_ADDR, .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, @@ -161,7 +161,7 @@ static const struct iio_chan_spec st_press_lps001wp_cha= nnels[] =3D { .address =3D ST_PRESS_LPS001WP_OUT_L_ADDR, .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, @@ -175,7 +175,7 @@ static const struct iio_chan_spec st_press_lps001wp_cha= nnels[] =3D { .address =3D ST_TEMP_LPS001WP_OUT_L_ADDR, .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, @@ -193,7 +193,7 @@ static const struct iio_chan_spec st_press_lps22hb_chan= nels[] =3D { .address =3D ST_PRESS_1_OUT_XL_ADDR, .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_LE, @@ -208,7 +208,7 @@ static const struct iio_chan_spec st_press_lps22hb_chan= nels[] =3D { .address =3D ST_TEMP_1_OUT_L_ADDR, .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, diff --git a/drivers/iio/pressure/zpa2326.c b/drivers/iio/pressure/zpa2326.c index 4923a558a26a..99ce1961a493 100644 --- a/drivers/iio/pressure/zpa2326.c +++ b/drivers/iio/pressure/zpa2326.c @@ -1545,7 +1545,7 @@ static const struct iio_chan_spec zpa2326_channels[] = =3D { .type =3D IIO_PRESSURE, .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 24, .storagebits =3D 32, .endianness =3D IIO_LE, @@ -1558,7 +1558,7 @@ static const struct iio_chan_spec zpa2326_channels[] = =3D { .type =3D IIO_TEMP, .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_LE, diff --git a/drivers/iio/proximity/as3935.c b/drivers/iio/proximity/as3935.c index f1018b14aecf..ee8d2ea2fa3b 100644 --- a/drivers/iio/proximity/as3935.c +++ b/drivers/iio/proximity/as3935.c @@ -77,7 +77,7 @@ static const struct iio_chan_spec as3935_channels[] =3D { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 6, .storagebits =3D 8, }, diff --git a/drivers/iio/proximity/hx9023s.c b/drivers/iio/proximity/hx9023= s.c index 2918dfc0df54..7de66a823cf0 100644 --- a/drivers/iio/proximity/hx9023s.c +++ b/drivers/iio/proximity/hx9023s.c @@ -248,7 +248,7 @@ static const struct iio_event_spec hx9023s_events[] =3D= { .num_event_specs =3D ARRAY_SIZE(hx9023s_events), \ .scan_index =3D idx, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 16, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/proximity/irsd200.c b/drivers/iio/proximity/irsd20= 0.c index 65af31d43453..93e2e5c4218c 100644 --- a/drivers/iio/proximity/irsd200.c +++ b/drivers/iio/proximity/irsd200.c @@ -844,7 +844,7 @@ static const struct iio_chan_spec irsd200_channels[] = =3D { .event_spec =3D irsd200_event_spec, .num_event_specs =3D ARRAY_SIZE(irsd200_event_spec), .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/proximity/isl29501.c b/drivers/iio/proximity/isl29= 501.c index f69db6f2f380..03ea16bfdd4d 100644 --- a/drivers/iio/proximity/isl29501.c +++ b/drivers/iio/proximity/isl29501.c @@ -496,7 +496,7 @@ static const struct iio_chan_spec isl29501_channels[] = =3D { BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_CALIBBIAS), .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/proximity/mb1232.c b/drivers/iio/proximity/mb1232.c index 34b49c54e68b..eb786eeaf9f8 100644 --- a/drivers/iio/proximity/mb1232.c +++ b/drivers/iio/proximity/mb1232.c @@ -166,7 +166,7 @@ static const struct iio_chan_spec mb1232_channels[] =3D= { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/proximity/pulsedlight-lidar-lite-v2.c b/drivers/ii= o/proximity/pulsedlight-lidar-lite-v2.c index 21336b8f122a..c011f18f256b 100644 --- a/drivers/iio/proximity/pulsedlight-lidar-lite-v2.c +++ b/drivers/iio/proximity/pulsedlight-lidar-lite-v2.c @@ -52,7 +52,7 @@ static const struct iio_chan_spec lidar_channels[] =3D { BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, }, diff --git a/drivers/iio/proximity/srf08.c b/drivers/iio/proximity/srf08.c index d7e4cc48cfbf..63896279ca1f 100644 --- a/drivers/iio/proximity/srf08.c +++ b/drivers/iio/proximity/srf08.c @@ -417,7 +417,7 @@ static const struct iio_chan_spec srf08_channels[] =3D { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_CPU, diff --git a/drivers/iio/proximity/sx9310.c b/drivers/iio/proximity/sx9310.c index fb02eac78ed4..088c33ae9ffd 100644 --- a/drivers/iio/proximity/sx9310.c +++ b/drivers/iio/proximity/sx9310.c @@ -151,7 +151,7 @@ static_assert(SX9310_NUM_CHANNELS <=3D SX_COMMON_MAX_NU= M_CHANNELS); .num_event_specs =3D ARRAY_SIZE(sx_common_events), \ .scan_index =3D idx, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 12, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/proximity/sx9324.c b/drivers/iio/proximity/sx9324.c index c7b2d03c23bc..9b26d0675957 100644 --- a/drivers/iio/proximity/sx9324.c +++ b/drivers/iio/proximity/sx9324.c @@ -222,7 +222,7 @@ static const struct iio_chan_spec_ext_info sx9324_chann= el_ext_info[] =3D { .num_event_specs =3D ARRAY_SIZE(sx_common_events), \ .scan_index =3D idx, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 12, \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ diff --git a/drivers/iio/proximity/sx9360.c b/drivers/iio/proximity/sx9360.c index 4448988d4e7e..02b7dad3686d 100644 --- a/drivers/iio/proximity/sx9360.c +++ b/drivers/iio/proximity/sx9360.c @@ -138,7 +138,7 @@ static const struct iio_chan_spec sx9360_channels[] =3D= { .channel =3D 0, .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 12, .storagebits =3D 16, .endianness =3D IIO_BE, @@ -160,7 +160,7 @@ static const struct iio_chan_spec sx9360_channels[] =3D= { .channel =3D 1, .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 12, .storagebits =3D 16, .endianness =3D IIO_BE, diff --git a/drivers/iio/proximity/sx9500.c b/drivers/iio/proximity/sx9500.c index 6c67bae7488c..536ac37934c0 100644 --- a/drivers/iio/proximity/sx9500.c +++ b/drivers/iio/proximity/sx9500.c @@ -114,7 +114,7 @@ static const struct iio_event_spec sx9500_events[] =3D { .num_event_specs =3D ARRAY_SIZE(sx9500_events), \ .scan_index =3D idx, \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D 16, \ .storagebits =3D 16, \ .shift =3D 0, \ diff --git a/drivers/iio/proximity/vl53l0x-i2c.c b/drivers/iio/proximity/vl= 53l0x-i2c.c index ad3e46d47fa8..eb35694beb98 100644 --- a/drivers/iio/proximity/vl53l0x-i2c.c +++ b/drivers/iio/proximity/vl53l0x-i2c.c @@ -202,7 +202,7 @@ static const struct iio_chan_spec vl53l0x_channels[] = =3D { BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 12, .storagebits =3D 16, }, diff --git a/drivers/iio/resolver/ad2s1210.c b/drivers/iio/resolver/ad2s121= 0.c index 06d9c784f93e..2fa3c48702d0 100644 --- a/drivers/iio/resolver/ad2s1210.c +++ b/drivers/iio/resolver/ad2s1210.c @@ -925,7 +925,7 @@ static const struct iio_chan_spec ad2s1210_channels[] = =3D { .channel =3D 0, .scan_index =3D 0, .scan_type =3D { - .sign =3D 'u', + .format =3D 'u', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, @@ -941,7 +941,7 @@ static const struct iio_chan_spec ad2s1210_channels[] = =3D { .channel =3D 0, .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, diff --git a/drivers/iio/temperature/hid-sensor-temperature.c b/drivers/iio= /temperature/hid-sensor-temperature.c index 9f628a8e5cfb..2d631cb516af 100644 --- a/drivers/iio/temperature/hid-sensor-temperature.c +++ b/drivers/iio/temperature/hid-sensor-temperature.c @@ -47,7 +47,7 @@ static const struct iio_chan_spec temperature_channels[] = =3D { static void temperature_adjust_channel_bit_mask(struct iio_chan_spec *chan= nels, int channel, int size) { - channels[channel].scan_type.sign =3D 's'; + channels[channel].scan_type.format =3D 's'; /* Real storage bits will change based on the report desc. */ channels[channel].scan_type.realbits =3D size * 8; /* Maximum size of a sample to capture is s32 */ diff --git a/drivers/iio/temperature/maxim_thermocouple.c b/drivers/iio/tem= perature/maxim_thermocouple.c index 205939680fd4..cf07fc7a6925 100644 --- a/drivers/iio/temperature/maxim_thermocouple.c +++ b/drivers/iio/temperature/maxim_thermocouple.c @@ -45,7 +45,7 @@ static const struct iio_chan_spec max6675_channels[] =3D { BIT(IIO_CHAN_INFO_THERMOCOUPLE_TYPE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 13, .storagebits =3D 16, .shift =3D 3, @@ -64,7 +64,7 @@ static const struct iio_chan_spec max31855_channels[] =3D= { BIT(IIO_CHAN_INFO_THERMOCOUPLE_TYPE), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 14, .storagebits =3D 16, .shift =3D 2, @@ -80,7 +80,7 @@ static const struct iio_chan_spec max31855_channels[] =3D= { BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 12, .storagebits =3D 16, .shift =3D 4, diff --git a/drivers/iio/temperature/tmp006.c b/drivers/iio/temperature/tmp= 006.c index d8d8c8936d17..1ca6273a7d9e 100644 --- a/drivers/iio/temperature/tmp006.c +++ b/drivers/iio/temperature/tmp006.c @@ -183,7 +183,7 @@ static const struct iio_chan_spec tmp006_channels[] =3D= { .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_index =3D 0, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 16, .storagebits =3D 16, .endianness =3D IIO_BE, @@ -196,7 +196,7 @@ static const struct iio_chan_spec tmp006_channels[] =3D= { .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), .scan_index =3D 1, .scan_type =3D { - .sign =3D 's', + .format =3D 's', .realbits =3D 14, .storagebits =3D 16, .shift =3D TMP006_TAMBIENT_SHIFT, diff --git a/include/linux/iio/common/st_sensors.h b/include/linux/iio/comm= on/st_sensors.h index f9ae5cdd884f..10a85626854e 100644 --- a/include/linux/iio/common/st_sensors.h +++ b/include/linux/iio/common/st_sensors.h @@ -61,7 +61,7 @@ .channel2 =3D ch2, \ .address =3D addr, \ .scan_type =3D { \ - .sign =3D s, \ + .format =3D s, \ .realbits =3D rbits, \ .shift =3D sbits - rbits, \ .storagebits =3D sbits, \ diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h index a9ecff191bd9..7e41dd92b06a 100644 --- a/include/linux/iio/iio.h +++ b/include/linux/iio/iio.h @@ -178,7 +178,7 @@ struct iio_event_spec { =20 /** * struct iio_scan_type - specification for channel data format in buffer - * @sign: 's' or 'u' to specify signed or unsigned + * @format: (signed or unsigned) integer, or floating point * @realbits: Number of valid bits of data * @storagebits: Realbits + padding * @shift: Shift right by this before masking out realbits. @@ -189,7 +189,7 @@ struct iio_event_spec { * @endianness: little or big endian */ struct iio_scan_type { - char sign; + char format; u8 realbits; u8 storagebits; u8 shift; @@ -332,7 +332,7 @@ static inline bool iio_channel_has_available(const stru= ct iio_chan_spec *chan, .channel =3D -1, \ .scan_index =3D _si, \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D 64, \ .storagebits =3D 64, \ }, \ diff --git a/include/linux/iio/imu/adis.h b/include/linux/iio/imu/adis.h index bfb6df68e6c9..c4c178799859 100644 --- a/include/linux/iio/imu/adis.h +++ b/include/linux/iio/imu/adis.h @@ -468,7 +468,7 @@ int adis_single_conversion(struct iio_dev *indio_dev, .address =3D (addr), \ .scan_index =3D (si), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ @@ -492,7 +492,7 @@ int adis_single_conversion(struct iio_dev *indio_dev, .address =3D (addr), \ .scan_index =3D (si), \ .scan_type =3D { \ - .sign =3D 'u', \ + .format =3D 'u', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ @@ -510,7 +510,7 @@ int adis_single_conversion(struct iio_dev *indio_dev, .address =3D (addr), \ .scan_index =3D (si), \ .scan_type =3D { \ - .sign =3D 's', \ + .format =3D 's', \ .realbits =3D (bits), \ .storagebits =3D 16, \ .endianness =3D IIO_BE, \ --=20 2.39.5 From nobody Tue Apr 7 12:20:29 2026 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AFF613128AE for ; Wed, 25 Feb 2026 10:17:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772014673; cv=none; b=Y/B4QUER56I3LxxhRLikuED4nu4xlpfbU1atXJVqMt10ChzjhZJ73eGKRiZoTun3qiiUTQ9I0Ezuhs7D5NgQ3FYJRsZ1Vr9Usg13MOpYEU0oS7GKyzbu5+UUWtscA4A3hm0bbALbu3ShKc+pxJCU8G+4V+UiX39LfsJzMFE0vS4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772014673; c=relaxed/simple; bh=OUTw+IZ7nvZ0bRHe3v+kMpcU/KJZUTpiBhUnfw/Y2E4=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=YoDKtbtMbIHcrYcnleDDFVnslJGSTN1TWIh79xupMFRqaJP1V4Q+t+fPrVgU8eWXPa3/jZnkagiZU4FfH68QOSUspmD0LjCMCiAAKS/OwRniYgox7BLRJBSqHjIt8gRARE/oayr0j0iKvDZvNbL34PNp+C4daDwJd1WzqZcsvkc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=wGt/ZSXe; arc=none smtp.client-ip=209.85.221.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="wGt/ZSXe" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-43992e14638so167994f8f.0 for ; Wed, 25 Feb 2026 02:17:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1772014669; x=1772619469; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Bfequrh/RHjbP4wgWQJnqugNFeY3tpsmLATDEKfrZHg=; b=wGt/ZSXeaKK2bd2szmFKTDid55d8mhegLtCBl/9DVcCneZUKiFuNF+l3fDD1y/5yWZ jhcDaVrM0boKjShJTMOsO5TLSLjZbr3Cyw79fLwBAm/kNsqh3a370RrMVOLpAwNQLpHN ochfcSJfOdoLt/JZYLJUplzECrxwBN+IaPOiRoZzLny7VNkQanmNWSEB+MRYBUZgDEl/ QrwUOJlH2fnjv3jRokg40txdMyiZcaU7KXsCMGDfSXY/R5A+Ogk6FDXEDJGX4eU6ZCFr mwl2If91Mipa7NIMic1kFOIxWfrAEQ5AbcI8gePARS9Vhh2sBBr9qRsi4hEqgmOocJgH 4MIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772014669; x=1772619469; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Bfequrh/RHjbP4wgWQJnqugNFeY3tpsmLATDEKfrZHg=; b=KL0FIawOkaxtAOeRTiPfQy17G052D0aanCyGSo3DAZk8n66DDNBYvXOW5sYZL9Y8gg PPZXRxc5aE2dKRInl1OY2mWwT+CpkI3PDzDxTAJOrmUsxhxKShwyqjvq9jNoqi++0xyV xd/ozQZW236ZCPVaJ9/aB20m7uwkUNj9fzbKOcxnQF3aABkeaerx7twliinwhjn/CL2d M4Z1W8ZTk1sV3HUyad5rj75gg5e2T4dDCY1tzRdkvhAOHvU9z2iwzjYmjSWM/L9jf26M k3GlWGkU6HvQ/AYwcpI7wGUy3EDI3iOd7KdMiyxP8/q+HSmAj5Thb0yk4Uid83BYmhVq Ks9w== X-Forwarded-Encrypted: i=1; AJvYcCW0OVzvpvYpl/MAxntC2AG8PNYa9udtOQ9e4Nj13HA2HlBHrxVN/VLm/fozGM1/lYDtoJ0ol/8//OB239k=@vger.kernel.org X-Gm-Message-State: AOJu0YwtMjMi3LzVLMn+UCg9P2GHiVq6R5ieu2NVYnjTuyccEnykFx7f 5cnncH1ZxvcAlSPFZzB9d1KB67PNObWQE7kHkPTG28g8EZE85nUNtEQwa+lFJN4A7Kc= X-Gm-Gg: ATEYQzyYPdJxMa3F/w0oy0OSk48Urqby1LJPVG2UHrmvobMVPTBTgKc40VFrbXGewtg RzMFqwGlhkeGtx3L8QcyLDpRGOuJbOLEFj6lbxH9FAidw4q6lDgkh0ewnkRko4B4F8AFoaAidN6 es5ZUQKzhRM7hvBJhpzVDrou0MHYuAkF2YgMRij3FJBXs0/Jx9MqwXjCkbR4cXWqsWcns1vW4WT fpPkJkCar81WzxXOSmP+7rpZ6mTsTVzoDsiS8gGKmfdbn3B+kRE7UdwEQSuhMPDJzaAt3jfpgbU AXlmJEyxl2rFxXUe+TBhVWeFmyvpKZEjo/1WPIrP54QQkV9YfISBiJPcsmunMyA4pitgTbSJ1do VWnnXoKr6uviT6i85/i5I4w8StqZzxBWIQWo9D/eD286SbDUJux2UGkSX5drPf5goWJrHrg== X-Received: by 2002:a05:6000:250a:b0:431:c73:48a8 with SMTP id ffacd0b85a97d-4396f17b061mr27548223f8f.29.1772014668925; Wed, 25 Feb 2026 02:17:48 -0800 (PST) Received: from localhost ([151.35.220.155]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4399037aecesm3282900f8f.15.2026.02.25.02.17.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Feb 2026 02:17:48 -0800 (PST) From: Francesco Lavra To: Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , Jonathan Corbet , Shuah Khan , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org Subject: [PATCH v6 5/7] iio: ABI: Add support for floating-point numbers in buffer scan elements Date: Wed, 25 Feb 2026 11:17:47 +0100 Message-Id: <20260225101748.2368295-1-flavra@baylibre.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260225100421.2366864-1-flavra@baylibre.com> References: <20260225100421.2366864-1-flavra@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=5020; i=flavra@baylibre.com; h=from:subject; bh=OUTw+IZ7nvZ0bRHe3v+kMpcU/KJZUTpiBhUnfw/Y2E4=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBpnsxL2KWraQGWFT7ps0G1BE/xWgXMxvGyYbf+w 0nHZei/3imJAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCaZ7MSwAKCRDt8TtzzpQ2 X6SdC/9nSberRI8aDPTLhZ/27D4R4qq2EwpOVEHwj25osFiAxJqIqhFzdlsoGfLTWk2nhuCpqOP Wq1xrXbq6yuRfwiUolNejqjmNto69BTt11geT6IbySiWQ9vm8HLy7MTS8jCcsPyBER5cq+AyIzY MXrtFTTPYnwLcoAVGNlQsCfOe6PhwxoXPq08bPFy/lZ6NALgxpuuZgozz7ZUK2+VKzD/tB1LjTR PCwj53+93gU+CMxyOUORHgO9kDokLHUrwSXxADsQGm4nBAJrzYduSog6fyWZJKcf63Vpuw3xVY8 PTW6HD8rsNBo9Ns7qA7J3I4i89PZAFOtXbRhZFF2MYpon8Ll/etAIV+fMt7DxGAE09Ei86BWBmI EBs/zpvGmLthmpmmf7c13s6Dl5XdFGf+etFKE93mOEdAWojGqvuONqQU393IzjrSv+kwaodfNEt EFA4qI/85+p4JOVPJce4bVE5cyczN0Hk+MmaIcxKZT4ixYgj4Q4YMnTOEbSak9uuje1tM= X-Developer-Key: i=flavra@baylibre.com; a=openpgp; fpr=8657854F953BDCA31EC314E6EDF13B73CE94365F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In the data storage description of a scan element, the first character after the colon can have the values 's' and 'u' to specify signed and unsigned integers, respectively. Add 'f' as an allowed value to specify floating-point numbers formatted according to the IEEE 754 standard. Signed-off-by: Francesco Lavra --- Documentation/ABI/testing/sysfs-bus-iio | 33 +++++++++++++----------- Documentation/driver-api/iio/buffers.rst | 5 ++-- Documentation/iio/iio_devbuf.rst | 3 ++- 3 files changed, 23 insertions(+), 18 deletions(-) diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/te= sting/sysfs-bus-iio index 5f87dcee78f7..61961bca4dce 100644 --- a/Documentation/ABI/testing/sysfs-bus-iio +++ b/Documentation/ABI/testing/sysfs-bus-iio @@ -1510,21 +1510,24 @@ Contact: linux-iio@vger.kernel.org Description: Description of the scan element data storage within the buffer and hence the form in which it is read from user-space. - Form is [be|le]:[s|u]bits/storagebits[>>shift]. - be or le specifies big or little endian. s or u specifies if - signed (2's complement) or unsigned. bits is the number of bits - of data and storagebits is the space (after padding) that it - occupies in the buffer. shift if specified, is the shift that - needs to be applied prior to masking out unused bits. Some - devices put their data in the middle of the transferred elements - with additional information on both sides. Note that some - devices will have additional information in the unused bits - so to get a clean value, the bits value must be used to mask - the buffer output value appropriately. The storagebits value - also specifies the data alignment. So s48/64>>2 will be a - signed 48 bit integer stored in a 64 bit location aligned to - a 64 bit boundary. To obtain the clean value, shift right 2 - and apply a mask to zero the top 16 bits of the result. + Form is [be|le]:[s|u|f]bits/storagebits[>>shift]. + be or le specifies big or little endian. s means signed (two's + complement), u means unsigned, f means floating-point (IEEE 754 + binary format). bits is the number of bits of data and storagebits + is the space (after padding) that it occupies in the buffer; when + using a floating-point format, bits must be one of the width values + defined in the IEEE 754 standard for binary interchange formats + (e.g. 16 indicates the binary16 format for half-precision numbers). + shift, if specified, is the shift that needs to be applied prior to + masking out unused bits. Some devices put their data in the middle + of the transferred elements with additional information on both + sides. Note that some devices will have additional information in + the unused bits, so to get a clean value the bits value must be + used to mask the buffer output value appropriately. The storagebits + value also specifies the data alignment. So s48/64>>2 will be a + signed 48 bit integer stored in a 64 bit location aligned to a 64 + bit boundary. To obtain the clean value, shift right 2 and apply a + mask to zero the top 16 bits of the result. For other storage combinations this attribute will be extended appropriately. =20 diff --git a/Documentation/driver-api/iio/buffers.rst b/Documentation/drive= r-api/iio/buffers.rst index 00398472ce59..43410b5053d2 100644 --- a/Documentation/driver-api/iio/buffers.rst +++ b/Documentation/driver-api/iio/buffers.rst @@ -37,10 +37,11 @@ directory contains attributes of the following form: * :file:`index`, the scan_index of the channel. * :file:`type`, description of the scan element data storage within the bu= ffer and hence the form in which it is read from user space. - Format is [be|le]:[s|u]bits/storagebits[Xrepeat][>>shift] . + Format is [be|le]:[s|u|f]bits/storagebits[Xrepeat][>>shift] . =20 * *be* or *le*, specifies big or little endian. - * *s* or *u*, specifies if signed (2's complement) or unsigned. + * *s* or *u* or *f*, specifies if signed (2's complement) or unsigned or + floating-point. * *bits*, is the number of valid data bits. * *storagebits*, is the number of bits (after padding) that it occupies = in the buffer. diff --git a/Documentation/iio/iio_devbuf.rst b/Documentation/iio/iio_devbu= f.rst index dca1f0200b0d..6d7e7dcc2d80 100644 --- a/Documentation/iio/iio_devbuf.rst +++ b/Documentation/iio/iio_devbuf.rst @@ -86,7 +86,8 @@ within the buffer and hence the form in which it is read = from userspace. Format is [be|le]:[s|u]bits/storagebits[Xrepeat][>>shift], where: =20 - **be** or **le** specifies big or little-endian. -- **s** or **u** specifies if signed (2's complement) or unsigned. +- **s** or **u** or **f** specifies if signed (2's complement) or unsigned= or + floating-point. - **bits** is the number of valid data bits. - **storagebits** is the number of bits (after padding) that it occupies i= n the buffer. --=20 2.39.5 From nobody Tue Apr 7 12:20:29 2026 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 09F452C0F7F for ; Wed, 25 Feb 2026 10:18:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772014695; cv=none; b=WEYgMswVlBA6lr2XA3GeixOJRHqEdP4cY3u98D4Fa67GzK2zVrP3d7hZErNjpNT8TTayBBlQy2qREscpRgQCMMjNwB9a+tCjCRhjt9tTJYC4AOGlics+lIiZi9pv6EhH0zRN2qZNwBpkpKFZnruCI+CyiRW3mUOxhOepjll22u8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772014695; c=relaxed/simple; bh=/+EtcM4PpShZZS23nog2f3WAGTs3hWTTmC2j8F6kP60=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=P5xl2wQNOG87L4QaenBqNrLB1ahvif8VmkIALmsZo+/cFcQW6piAl3sFbVmBeuTowlybGSCVElj7t9Kxp7JwWeHqiyTLlkqlANiFadZMd+gr+1a57JLB1xw5LnSqCFFmkGGnXoFhjFMyCZBV5YhljKTS/s63GSiSlNQhl65nc18= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=mSGSpb4z; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="mSGSpb4z" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-48372efa020so52033385e9.2 for ; Wed, 25 Feb 2026 02:18:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1772014687; x=1772619487; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=rQCAfG7KfmZ2nh5OrsOY1rBpRss8IzkmBnmQEIjr/00=; b=mSGSpb4zxras9mi+aXVXzb5IWDHE4iGcBr7oVpN4IXy94K7/YvhqSv31cLQazUgIz5 +79Ml+NLRqmN5CjYl4JGF2MM4Nsw6fLOaAgmGdtYmOtXtIaFC53eup0kjXGi8eOlVtm6 ybXeDY3e4Z2dBlwo3orIRzm/76R0Fz6t9EM7gADuG9sgtWJDnSQvrb9vki30qwD6MOw5 fmXxmdOotQVzcoQKovWC01mA5y6u891PilrDT+TlN30TJEQNXu9SUke/DqQYBpM/RaNp j1Cp6WJVc53E32O29OZjSwQ7IUdKpczNwZhaMfIU6ZhiS6GPYuqEhKStAzHqHICKArue Ltlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772014687; x=1772619487; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=rQCAfG7KfmZ2nh5OrsOY1rBpRss8IzkmBnmQEIjr/00=; b=DbkwbigbJhXMjz/8rfA+vnAIAW9Hg2S3+tv4tR4nXUq9os43XF+8vuUSTcyMRIdpRH QYSK0LYuhInDnHC/QiQLqQP8w8b+zK71UP1TYLt11MgVhTTF2/G7dnO63LunAhZPBqpe dFaLbtzhHrQaR9FEUzseJdbzotK4jcRCIz1/OV56m5r1/dQa5kynSM3dVvujjvYJVugs kJV/OG1tRPlMo0jOj9paLgxSABU4eM4maWG0e+VxVzgvsL/eiPO4WkQab5Gr51Isg73s r11gTXcALIanXbGzcLIDTmpFlFcGV4oNMcsLEzNXxY3Tpcmp6cY1DDNEx1rzbLvLoRxQ hIkg== X-Forwarded-Encrypted: i=1; AJvYcCUuFPqlNSEghmG+U79laA6bmLCbeQd0Yllk9i67iKxPL6zWxfgAzOzPiIVG9GAsP6cKblYhadm2eAacUTA=@vger.kernel.org X-Gm-Message-State: AOJu0YwLpD7wAYeZJj3twiKjU0vM+illaFyyD1gyIIpCldZlmwrfDtOg Dz7jrPfOdEc3K3G5gVpipX8OtoQdyzh5zwjmLMAJaEev6KC/S2eQhgzpdqcI5NFC+Zk= X-Gm-Gg: ATEYQzxtkpDyV8XTlM53irdInQ7JRhZxu76zR7kvgpPPwZ7E/lriS/DcWAS7DwIj27Z RR8AjmaZ1/jybvcnPCyqBtiKb1SyUhJyACXDmm6GOQ9SWi5fZxet1bWk1f067q2WG8ou9qicwJq Ww/OswAQz64At2mwHzu519yFJzOaN5ojbjhuFlmQkKE3RgTJFrKc95+53oZwRlYBAgYHQ2DI8LT fdHeiJPckafrOaI2AlMGlEDLTWBM2orlnMpktZpmK90Dw4qDdDgrCgRWG4leL83d6se2NT43m8Y F/l1QxUxX3Mq96Op5ZNj2CeZNUvL+Y7P5Guu+yXvQuwkCgOVjPxWLJmwxoHakdDfZBC/oMFzzK/ Hgu1pyH6QMpZ0897EfJHvq67utr+m8dy1rZPZqMJZOo7c4Sx/Jv+7E6o+tzjbvFQ/XfUElQ/COD L7yLZf X-Received: by 2002:a05:600c:1c29:b0:477:a978:3a7b with SMTP id 5b1f17b1804b1-483bef49dcemr34559995e9.22.1772014687229; Wed, 25 Feb 2026 02:18:07 -0800 (PST) Received: from localhost ([151.35.220.155]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483bd7010a0sm49867195e9.5.2026.02.25.02.18.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Feb 2026 02:18:07 -0800 (PST) From: Francesco Lavra To: Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 6/7] iio: ABI: Add custom data type Date: Wed, 25 Feb 2026 11:18:06 +0100 Message-Id: <20260225101806.2368391-1-flavra@baylibre.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260225100421.2366864-1-flavra@baylibre.com> References: <20260225100421.2366864-1-flavra@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=4581; i=flavra@baylibre.com; h=from:subject; bh=/+EtcM4PpShZZS23nog2f3WAGTs3hWTTmC2j8F6kP60=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBpnsxdWrELV6QZHRH1//cLHvGcAS3iRA4IUjLuG OdEJqYDaOaJAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCaZ7MXQAKCRDt8TtzzpQ2 X3oaDACbVyOKxnql1ABdOV9cFY4thzVqCrlCe+XuB9ecQ0c0GdaSRoFfYGwIXJVdIqC55wrI2aw vXLHDmKsEix2JJvnu4ssmqu9Lq23xgJTryFhCShN0gMpScRWlc0MMcwchV90mX46Yn7pWMGO3/Y tJlLbuV16T/VIyyPCfuGdpfwTT6Yp5t3uze6vXC3CDj+HOxhfIqXiMRX/dyByZszPU0TqBFhBZ5 qLlqoCi/9VNhtia6AvMkEOc6eOMTWDTyvPgRApkIAQU+skanOjPgv7cmEkTOePPEsLRgiHByI8r 6B/eVzReG7R4jBScUW1D1TVBvUs2v8FjLYretnHssjx5hDZZvcjd/Z6x2NhBkDS1t9ExKtIplqb 2c2N1ImTdR19DdbMuP9qMZIdQpBoC/Sm9x9VpOlQM8jYNZc5TZdgcCBzNbHbcyGKy7WwiERdpyn cKb5vFwd4LGDT8+ETUWNzhfqkp/mnfThNI1Yny0rY3fezshsm6fVNGAK90JAuuN4CNPVI= X-Developer-Key: i=flavra@baylibre.com; a=openpgp; fpr=8657854F953BDCA31EC314E6EDF13B73CE94365F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This type is used when the data received from or sent to a device cannot be identified with a standard type and must be processed by custom userspace. Any driver using the custom type must provide a driver-specific document that explains what the data represents and how it is to be interpreted by userspace. Signed-off-by: Francesco Lavra --- Documentation/ABI/testing/sysfs-bus-iio | 19 +++++++++++++++++++ drivers/iio/industrialio-core.c | 1 + include/uapi/linux/iio/types.h | 1 + 3 files changed, 21 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/te= sting/sysfs-bus-iio index 61961bca4dce..2e45e54f54eb 100644 --- a/Documentation/ABI/testing/sysfs-bus-iio +++ b/Documentation/ABI/testing/sysfs-bus-iio @@ -450,6 +450,8 @@ What: /sys/bus/iio/devices/iio:deviceX/in_magn_offset What: /sys/bus/iio/devices/iio:deviceX/in_rot_offset What: /sys/bus/iio/devices/iio:deviceX/in_angl_offset What: /sys/bus/iio/devices/iio:deviceX/in_capacitanceY_offset +What: /sys/bus/iio/devices/iio:deviceX/in_custom_offset +What: /sys/bus/iio/devices/iio:deviceX/in_customY_offset KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: @@ -507,6 +509,8 @@ What: /sys/bus/iio/devices/iio:deviceX/in_intensity_re= d_scale What: /sys/bus/iio/devices/iio:deviceX/in_intensity_green_scale What: /sys/bus/iio/devices/iio:deviceX/in_intensity_blue_scale What: /sys/bus/iio/devices/iio:deviceX/in_concentration_co2_scale +What: /sys/bus/iio/devices/iio:deviceX/in_custom_scale +What: /sys/bus/iio/devices/iio:deviceX/in_customY_scale KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: @@ -1486,6 +1490,8 @@ What: /sys/.../iio:deviceX/bufferY/in_pressureY_en What: /sys/.../iio:deviceX/bufferY/in_pressure_en What: /sys/.../iio:deviceX/bufferY/in_rot_quaternion_en What: /sys/.../iio:deviceX/bufferY/in_proximity_en +What: /sys/.../iio:deviceX/bufferY/in_custom_en +What: /sys/.../iio:deviceX/bufferY/in_customZ_en KernelVersion: 5.11 Contact: linux-iio@vger.kernel.org Description: @@ -1505,6 +1511,8 @@ What: /sys/.../iio:deviceX/bufferY/in_pressureY_type What: /sys/.../iio:deviceX/bufferY/in_pressure_type What: /sys/.../iio:deviceX/bufferY/in_rot_quaternion_type What: /sys/.../iio:deviceX/bufferY/in_proximity_type +What: /sys/.../iio:deviceX/bufferY/in_custom_type +What: /sys/.../iio:deviceX/bufferY/in_customZ_type KernelVersion: 5.11 Contact: linux-iio@vger.kernel.org Description: @@ -1566,6 +1574,8 @@ What: /sys/.../iio:deviceX/bufferY/in_pressureY_index What: /sys/.../iio:deviceX/bufferY/in_pressure_index What: /sys/.../iio:deviceX/bufferY/in_rot_quaternion_index What: /sys/.../iio:deviceX/bufferY/in_proximity_index +What: /sys/.../iio:deviceX/bufferY/in_custom_index +What: /sys/.../iio:deviceX/bufferY/in_customZ_index KernelVersion: 5.11 Contact: linux-iio@vger.kernel.org Description: @@ -2393,6 +2403,15 @@ Description: The x and y light color coordinate on the CIE 1931 chromaticity diagram. =20 +What: /sys/bus/iio/devices/iio:deviceX/in_custom_raw +What: /sys/bus/iio/devices/iio:deviceX/in_customY_raw +KernelVersion: 7.1 +Contact: linux-iio@vger.kernel.org +Description: + Custom input value, whose type is driver-specific and is described + in a separate document. It can have a modifier Y, in which case it + is a measuremement from channel Y. + What: /sys/bus/iio/devices/iio:deviceX/events/in_altvoltageY_mag_either_l= abel What: /sys/bus/iio/devices/iio:deviceX/events/in_altvoltageY_mag_rising_l= abel What: /sys/bus/iio/devices/iio:deviceX/events/in_altvoltageY_thresh_falli= ng_label diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-cor= e.c index 22eefd048ba9..dd179e3b0fb7 100644 --- a/drivers/iio/industrialio-core.c +++ b/drivers/iio/industrialio-core.c @@ -98,6 +98,7 @@ static const char * const iio_chan_type_name_spec[] =3D { [IIO_CHROMATICITY] =3D "chromaticity", [IIO_ATTENTION] =3D "attention", [IIO_ALTCURRENT] =3D "altcurrent", + [IIO_CUSTOM] =3D "custom" }; =20 static const char * const iio_modifier_names[] =3D { diff --git a/include/uapi/linux/iio/types.h b/include/uapi/linux/iio/types.h index 6d269b844271..47fefcdd693c 100644 --- a/include/uapi/linux/iio/types.h +++ b/include/uapi/linux/iio/types.h @@ -53,6 +53,7 @@ enum iio_chan_type { IIO_CHROMATICITY, IIO_ATTENTION, IIO_ALTCURRENT, + IIO_CUSTOM }; =20 enum iio_modifier { --=20 2.39.5 From nobody Tue Apr 7 12:20:29 2026 Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C7AD38F93B for ; Wed, 25 Feb 2026 10:18:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.66 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772014701; cv=none; b=OYIHqIW07ZxQIHqKWrCuSR9ZJ0KhgZgWvIQ6QAAZmMM67EsWCxCt4QIhXiVGsYsx+FtYBCaCtAcfJHeK2njX4AMIxE4pr70+4zZccaG7K0KLjjLMIr8Yor6HttPYorud0o0696OmWGHyzEwohUqedQxtW0H1uDQX7M2KF2Q/BWs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772014701; c=relaxed/simple; bh=7Xc5iR2r3mSsEKkkNfZiPqHLw/poBRd/FgOqBlPCoYM=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Z9GN7RVXLSFxpuX3PZDDW9R7My2lL2l+q86LwGIqWD0ItKnTauR2ZpKSKzyux2ejPfMDfrW7+xfqN/DiXC7RXUirhpBRlC9o5fscf8Fz2B8/hICk0HNiT79VvdyXZWeuhs5L2FazLAoxgtkV1JdbM/pdYrWAoez6TqoViqMfAos= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=GT7X5QXW; arc=none smtp.client-ip=209.85.221.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="GT7X5QXW" Received: by mail-wr1-f66.google.com with SMTP id ffacd0b85a97d-4376c0bffc1so4871412f8f.0 for ; Wed, 25 Feb 2026 02:18:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1772014696; x=1772619496; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=28QWOw1vn6hlB7Z/6wxJ6t4X6YR/ayXcRdrKzUQeF9o=; b=GT7X5QXWa9aaRXkCw6DlWWuRH949YDLVBb4wN5K8sZ3NXKhcVlDb/S9qKOYnGSxMSl 6+19mu2N0q5SdEykI3MJOV6RKtHNRB+kECApy3c9+Dv7FxkZYxR+Ed3dV7Cn3A7I4iLV +VrnQ2F6LAocyJtxDywZZJyN1d1Nr8X3tnX/wAEBY8HoWLKr/YD6TtdtTZb4yohRYcuO yMSfORIDhVoZgCINwzJvCMz4+AZCtspOCHJys9hcs0cJ8JWYZJPaVGitVhsWtbEtWBCZ fCxs10BP28F4jX6iWCXt6Wd9CwArfH3ASQ9wGn15EKtJTe0eVtO3vHzG84gvDHYCsIQ/ v6fA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772014696; x=1772619496; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=28QWOw1vn6hlB7Z/6wxJ6t4X6YR/ayXcRdrKzUQeF9o=; b=HhJt3ROkkmZPXlBEwAVD5m5hubL/YpnzIWP5nQZvUVSzSaHTLmJzhGjSaRSxIL886E DtUz1G4mGwFjjPdHR4+OisATHCYfheLVs9ZAogNKmpzX/aH+KTRO5fQQI1oaMvPvdR// heDDvef35WseoHcloEKWRqSixtIOMAdYN3C3HnUt5Sm/WkoqpNTDqGU9/0/d3j6hwYMb ScIyOm9JnszPJrgnYrEDHiteTEYLrdBrJQqLAr7SS1VGuoyinF2BbYSCObbn9IBUn868 moJBySG0MdSzkyyExsbfEPJ8bVskn9ACszft+tSu+BPwydwoI3/N3ogVxGX3ONj0xYD0 ojjg== X-Forwarded-Encrypted: i=1; AJvYcCXihIsB2WJm69h1A7N/DtJAxfES4oJb/FxHs5TRS93+dm0jUZS2oE9EZSQPBrMblAZEqHvSSy3qpeb0BOg=@vger.kernel.org X-Gm-Message-State: AOJu0YwcoPJLS4ROhA0+9UaFg5N9r2/aqsFWjFW7SUO6edWyAzPNaSc5 d8zZUTUEq7BY/9ka4Xqqd9IRBfQGY6NiyT7qxNy6tVByD5140a7RmvgaZ4qdhvEBVl0= X-Gm-Gg: ATEYQzyczui0JDPoML8prt2badycfy/8wEGQOniBEN5sFKlFn9H3kmNz3f+lTk7LV0F 3ADOJFzglp9yNcpfPsWqoi3azgVyYAFR/OUX3U7TWLTwBghDatvzPiGow0K4b/MWF6OxxYROUmt rhz6PiDADrzHRYPfzQnM++ht/1hpbu6T6mA3B6R/258VufOZLKoHyd1JSN2+TloKRigiBXCC6Ns wh+rtoJqb3u7br+E9q+tlQqEtA9cvZEHghJXZ69l2My4MeY+TUwhF08cZyKF9socdiVSG9/2Uy8 927QRjdk6GNWiPNVkNbxFwW0EnjcL7fx5onVmzfqJ4QnyuzabRSCmAZuzyZKo9NBakyer8a3KB4 KHKROBMLbe5/8uzaXNFjX9PG2r9wdG4UPXfFDsoPbjWjaaPHi7NzwHOEnvEdBB/iQwPigh3YsFl uW2rUu X-Received: by 2002:a05:6000:25c3:b0:439:936b:bfe7 with SMTP id ffacd0b85a97d-439936bc280mr419489f8f.45.1772014696210; Wed, 25 Feb 2026 02:18:16 -0800 (PST) Received: from localhost ([151.35.220.155]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43987f3ed03sm12516439f8f.16.2026.02.25.02.18.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Feb 2026 02:18:15 -0800 (PST) From: Francesco Lavra To: Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , Jonathan Corbet , Shuah Khan , Lorenzo Bianconi , linux-iio@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v6 7/7] iio: imu: st_lsm6dsx: Add support for rotation sensor Date: Wed, 25 Feb 2026 11:18:13 +0100 Message-Id: <20260225101814.2368431-1-flavra@baylibre.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260225100421.2366864-1-flavra@baylibre.com> References: <20260225100421.2366864-1-flavra@baylibre.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=17523; i=flavra@baylibre.com; h=from:subject; bh=7Xc5iR2r3mSsEKkkNfZiPqHLw/poBRd/FgOqBlPCoYM=; b=owEB7QES/pANAwAKAe3xO3POlDZfAcsmYgBpnsxlPLZSbXdNj1LvL64OwyXTo2r/OxPgCDMri bvowPGzMfiJAbMEAAEKAB0WIQSGV4VPlTvcox7DFObt8TtzzpQ2XwUCaZ7MZQAKCRDt8TtzzpQ2 X+NWDACW7lTBTCvvFwKhCA2RlAr7pb8OFZ/y5KGWBv03crK7V2IlVjAyF2KrO6KdELlPX54rAg1 FoAURtaErUREbtM3rbKGdZK+1jmrZzbrJ1QYF3NbRDOUY1/AMhcFkUEMFXBYrDxZPywK6/xjtZv U9gXByh72FyHyL17h/oTZFmjJms9g3M+uRrNbn3Kr1Y/F0cu+oDbbZEbdmFsAasnw4P49ZUDILR 0wD5KxZypndfG7o9KNxSDUZxlRY68iTCV9YcZFC9kJ9ADXrCEPQOAZvE9aED1Z6dXYDWrtmLnT1 pk4jBl7mKbcPAhUr7T8dcA+G+/HJS2R/9z5aa3Q1tzrI1gQUdrPsxA/Wctqj4QnA9QSTU0HJql5 RF8/AJ6+SxjXcC61weg8FT46jcnxB7/M3m44vJOS0i7CxxaxG+JtOJtk1WysOI/nlRMgwDQ0wZH YQtji/SZTRgck6MCZsA4yQbCNzueavHP+U5ru+1IjYw7++dB/OtXFLNwd4bZotR5ZpnpI= X-Developer-Key: i=flavra@baylibre.com; a=openpgp; fpr=8657854F953BDCA31EC314E6EDF13B73CE94365F Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Some IMU chips in the LSM6DSX family have sensor fusion features that combine data from the accelerometer and gyroscope. One of these features generates rotation vector data and makes it available in the hardware FIFO as a quaternion (more specifically, the X, Y and Z components of the quaternion vector, expressed as 16-bit half-precision floating-point numbers). Add support for a new sensor instance that allows receiving sensor fusion data, by defining a new struct st_lsm6dsx_sf_settings (which contains chip-specific details for the sensor fusion functionality), and adding this struct as a new field in struct st_lsm6dsx_settings. In st_lsm6dsx_core.c, populate this new struct for the LSM6DSV and LSM6DSV16X chips, and add the logic to initialize an additional IIO device if this struct is populated for the hardware type being probed. Note: a new IIO device is being defined (as opposed to adding channels to an existing device) because the rate at which sensor fusion data is generated may not match the data rate from any of the existing devices. Tested on LSMDSV16X. Signed-off-by: Francesco Lavra Acked-by: Lorenzo Bianconi --- Documentation/iio/index.rst | 1 + Documentation/iio/st_lsm6dsx.rst | 44 ++++ drivers/iio/imu/st_lsm6dsx/Makefile | 2 +- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h | 26 +- .../iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c | 9 +- drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 58 +++++ .../iio/imu/st_lsm6dsx/st_lsm6dsx_fusion.c | 235 ++++++++++++++++++ 7 files changed, 368 insertions(+), 7 deletions(-) create mode 100644 Documentation/iio/st_lsm6dsx.rst create mode 100644 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_fusion.c diff --git a/Documentation/iio/index.rst b/Documentation/iio/index.rst index ba3e609c6a13..4e2ebe64f97f 100644 --- a/Documentation/iio/index.rst +++ b/Documentation/iio/index.rst @@ -39,3 +39,4 @@ Industrial I/O Kernel Drivers bno055 ep93xx_adc opt4060 + st_lsm6dsx diff --git a/Documentation/iio/st_lsm6dsx.rst b/Documentation/iio/st_lsm6ds= x.rst new file mode 100644 index 000000000000..7f11a0b7e5c0 --- /dev/null +++ b/Documentation/iio/st_lsm6dsx.rst @@ -0,0 +1,44 @@ +.. SPDX-License-Identifier: GPL-2.0-only + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +ST LSM6DSX driver +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +Device driver for STMicroelectronics LSM6DSx, LSM9DS1, ASM330, and ISM330 = series +of 6-axis inertial measurement units. The core module is called ``st_lsm6d= sx``, +and the transport-specific modules are called ``st_lsm6dsx_i2c``, +``st_lsm6dsx_spi``, and ``st_lsm6dsx_i3c``. + +IIO devices +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +This driver instantiates multiple IIO devices: + +* accelerometer (IIO_ACCEL channel) +* gyroscope (IIO_ANGL_VEL channel) +* (optionally) magnetometer (IIO_MAGN channel), if the device has a second= ary + I2C interface connected to a slave sensor device (sensor hub functionali= ty) +* (optionally) sensor fusion (IIO_CUSTOM channel), which combines accelera= tion + and angular velocity data + +Sensor Fusion +------------- + +Some chips supported by this driver implement an internal algorithm that t= akes +input data from the accelerometer and gyroscope, and calculates the device +orientation in 3D space, which is then made available in the hardware FIFO. +Orientation is expressed in the form of a 4-dimensional quaternion vector,= whose +components are typically represented in an array as ``[x, y, z, w]``. +The sensor device outputs the ``[x, y, z]`` components of the quaternion, +expressed as half-precision (16-bit) floating-point numbers. + +The ``z`` component is not output by the device, but its value can be deri= ved +from the rest of the data, due to the following constraints: + +* the quaternion vector is normalized, i.e. :math:`x^2 + y^2 + z^2 + w^2 = =3D 1` +* the rotation angle :math:`\theta` remains within + :math:`[-180^\circ, 180^\circ]`, i.e. the ``w`` component is non-negativ= e: + :math:`w =3D \cos(\theta/2) \geq 0` + +These constraints allow the ``w`` value to be calculated from the other +components: :math:`w =3D \sqrt{1 - (x^2 + y^2 + z^2)}`. diff --git a/drivers/iio/imu/st_lsm6dsx/Makefile b/drivers/iio/imu/st_lsm6d= sx/Makefile index 57cbcd67d64f..19a488254de3 100644 --- a/drivers/iio/imu/st_lsm6dsx/Makefile +++ b/drivers/iio/imu/st_lsm6dsx/Makefile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0-only st_lsm6dsx-y :=3D st_lsm6dsx_core.o st_lsm6dsx_buffer.o \ - st_lsm6dsx_shub.o + st_lsm6dsx_shub.o st_lsm6dsx_fusion.o =20 obj-$(CONFIG_IIO_ST_LSM6DSX) +=3D st_lsm6dsx.o obj-$(CONFIG_IIO_ST_LSM6DSX_I2C) +=3D st_lsm6dsx_i2c.o diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h b/drivers/iio/imu/st_l= sm6dsx/st_lsm6dsx.h index 39d23b9e677c..2cd849ef0c9a 100644 --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h @@ -294,6 +294,7 @@ enum st_lsm6dsx_sensor_id { ST_LSM6DSX_ID_EXT0, ST_LSM6DSX_ID_EXT1, ST_LSM6DSX_ID_EXT2, + ST_LSM6DSX_ID_SF, ST_LSM6DSX_ID_MAX }; =20 @@ -301,6 +302,15 @@ enum st_lsm6dsx_ext_sensor_id { ST_LSM6DSX_ID_MAGN, }; =20 +struct st_lsm6dsx_sf_settings { + const struct iio_chan_spec *chan; + int chan_len; + struct st_lsm6dsx_odr_table_entry odr_table; + struct st_lsm6dsx_reg fifo_enable; + struct st_lsm6dsx_reg page_mux; + struct st_lsm6dsx_reg enable; +}; + /** * struct st_lsm6dsx_ext_dev_settings - i2c controller slave settings * @i2c_addr: I2c slave address list. @@ -388,6 +398,7 @@ struct st_lsm6dsx_settings { struct st_lsm6dsx_hw_ts_settings ts_settings; struct st_lsm6dsx_shub_settings shub_settings; struct st_lsm6dsx_event_settings event_settings; + struct st_lsm6dsx_sf_settings sf_settings; }; =20 enum st_lsm6dsx_fifo_mode { @@ -510,6 +521,9 @@ int st_lsm6dsx_check_odr(struct st_lsm6dsx_sensor *sens= or, u32 odr, u8 *val); int st_lsm6dsx_shub_probe(struct st_lsm6dsx_hw *hw, const char *name); int st_lsm6dsx_shub_set_enable(struct st_lsm6dsx_sensor *sensor, bool enab= le); int st_lsm6dsx_shub_read_output(struct st_lsm6dsx_hw *hw, u8 *data, int le= n); +int st_lsm6dsx_sf_probe(struct st_lsm6dsx_hw *hw, const char *name); +int st_lsm6dsx_sf_set_enable(struct st_lsm6dsx_sensor *sensor, bool enable= ); +int st_lsm6dsx_sf_set_odr(struct st_lsm6dsx_sensor *sensor, bool enable); int st_lsm6dsx_set_page(struct st_lsm6dsx_hw *hw, bool enable); =20 static inline int @@ -564,12 +578,14 @@ st_lsm6dsx_get_mount_matrix(const struct iio_dev *iio= _dev, static inline int st_lsm6dsx_device_set_enable(struct st_lsm6dsx_sensor *sensor, bool enable) { - if (sensor->id =3D=3D ST_LSM6DSX_ID_EXT0 || - sensor->id =3D=3D ST_LSM6DSX_ID_EXT1 || - sensor->id =3D=3D ST_LSM6DSX_ID_EXT2) + switch (sensor->id) { + case ST_LSM6DSX_ID_EXT0 ... ST_LSM6DSX_ID_EXT2: return st_lsm6dsx_shub_set_enable(sensor, enable); - - return st_lsm6dsx_sensor_set_enable(sensor, enable); + case ST_LSM6DSX_ID_SF: + return st_lsm6dsx_sf_set_enable(sensor, enable); + default: + return st_lsm6dsx_sensor_set_enable(sensor, enable); + } } =20 static const diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c b/drivers/iio/i= mu/st_lsm6dsx/st_lsm6dsx_buffer.c index a6ee2da5a06c..6b9371423f2d 100644 --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_buffer.c @@ -88,6 +88,7 @@ enum st_lsm6dsx_fifo_tag { ST_LSM6DSX_EXT0_TAG =3D 0x0f, ST_LSM6DSX_EXT1_TAG =3D 0x10, ST_LSM6DSX_EXT2_TAG =3D 0x11, + ST_LSM6DSX_ROT_TAG =3D 0x13, }; =20 static const @@ -226,8 +227,11 @@ static int st_lsm6dsx_set_fifo_odr(struct st_lsm6dsx_s= ensor *sensor, u8 data; =20 /* Only internal sensors have a FIFO ODR configuration register. */ - if (sensor->id >=3D ARRAY_SIZE(hw->settings->batch)) + if (sensor->id >=3D ARRAY_SIZE(hw->settings->batch)) { + if (sensor->id =3D=3D ST_LSM6DSX_ID_SF) + return st_lsm6dsx_sf_set_odr(sensor, enable); return 0; + } =20 batch_reg =3D &hw->settings->batch[sensor->id]; if (batch_reg->addr) { @@ -578,6 +582,9 @@ st_lsm6dsx_push_tagged_data(struct st_lsm6dsx_hw *hw, u= 8 tag, case ST_LSM6DSX_EXT2_TAG: iio_dev =3D hw->iio_devs[ST_LSM6DSX_ID_EXT2]; break; + case ST_LSM6DSX_ROT_TAG: + iio_dev =3D hw->iio_devs[ST_LSM6DSX_ID_SF]; + break; default: return -EINVAL; } diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c b/drivers/iio/imu= /st_lsm6dsx/st_lsm6dsx_core.c index 450cb5b47346..5b336b62eb60 100644 --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c @@ -94,6 +94,24 @@ =20 #define ST_LSM6DSX_REG_WHOAMI_ADDR 0x0f =20 +/* Raw values from the IMU are 16-bit half-precision floating-point number= s. */ +#define ST_LSM6DSX_CHANNEL_ROT \ +{ \ + .type =3D IIO_CUSTOM, \ + .modified =3D 1, \ + .channel2 =3D IIO_MOD_QUATERNION, \ + .info_mask_shared_by_all =3D BIT(IIO_CHAN_INFO_SAMP_FREQ), \ + .scan_index =3D 0, \ + .scan_type =3D { \ + .format =3D 'f', \ + .realbits =3D 16, \ + .storagebits =3D 16, \ + .endianness =3D IIO_LE, \ + .repeat =3D 3, \ + }, \ + .ext_info =3D st_lsm6dsx_ext_info, \ +} + static const struct iio_event_spec st_lsm6dsx_ev_motion[] =3D { { .type =3D IIO_EV_TYPE_THRESH, @@ -153,6 +171,11 @@ static const struct iio_chan_spec st_lsm6ds0_gyro_chan= nels[] =3D { IIO_CHAN_SOFT_TIMESTAMP(3), }; =20 +static const struct iio_chan_spec st_lsm6dsx_sf_channels[] =3D { + ST_LSM6DSX_CHANNEL_ROT, + IIO_CHAN_SOFT_TIMESTAMP(1), +}; + static const struct st_lsm6dsx_settings st_lsm6dsx_sensor_settings[] =3D { { .reset =3D { @@ -1492,6 +1515,35 @@ static const struct st_lsm6dsx_settings st_lsm6dsx_s= ensor_settings[] =3D { }, }, }, + .sf_settings =3D { + .chan =3D st_lsm6dsx_sf_channels, + .chan_len =3D ARRAY_SIZE(st_lsm6dsx_sf_channels), + .odr_table =3D { + .reg =3D { + .addr =3D 0x5e, + .mask =3D GENMASK(5, 3), + }, + .odr_avl[0] =3D { 15000, 0x00 }, + .odr_avl[1] =3D { 30000, 0x01 }, + .odr_avl[2] =3D { 60000, 0x02 }, + .odr_avl[3] =3D { 120000, 0x03 }, + .odr_avl[4] =3D { 240000, 0x04 }, + .odr_avl[5] =3D { 480000, 0x05 }, + .odr_len =3D 6, + }, + .fifo_enable =3D { + .addr =3D 0x44, + .mask =3D BIT(1), + }, + .page_mux =3D { + .addr =3D 0x01, + .mask =3D BIT(7), + }, + .enable =3D { + .addr =3D 0x04, + .mask =3D BIT(1), + }, + }, }, { .reset =3D { @@ -2899,6 +2951,12 @@ int st_lsm6dsx_probe(struct device *dev, int irq, in= t hw_id, return err; } =20 + if (hw->settings->sf_settings.chan) { + err =3D st_lsm6dsx_sf_probe(hw, name); + if (err) + return err; + } + if (hw->irq > 0) { err =3D st_lsm6dsx_irq_setup(hw); if (err < 0) diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_fusion.c b/drivers/iio/i= mu/st_lsm6dsx/st_lsm6dsx_fusion.c new file mode 100644 index 000000000000..7033aaeba13e --- /dev/null +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_fusion.c @@ -0,0 +1,235 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * STMicroelectronics st_lsm6dsx IMU sensor fusion + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "st_lsm6dsx.h" + +static int +st_lsm6dsx_sf_get_odr_val(const struct st_lsm6dsx_sf_settings *settings, + u32 odr, u8 *val) +{ + int i; + + for (i =3D 0; i < settings->odr_table.odr_len; i++) { + if (settings->odr_table.odr_avl[i].milli_hz =3D=3D odr) + break; + } + if (i =3D=3D settings->odr_table.odr_len) + return -EINVAL; + + *val =3D settings->odr_table.odr_avl[i].val; + return 0; +} + +/** + * st_lsm6dsx_sf_page_enable - Enable access to sensor fusion configuration + * registers. + * @hw: Sensor hardware instance. + * + * Return: 0 on success, negative value on error. + */ +static int st_lsm6dsx_sf_page_enable(struct st_lsm6dsx_hw *hw) +{ + const struct st_lsm6dsx_reg *mux =3D &hw->settings->sf_settings.page_mux; + + return regmap_set_bits(hw->regmap, mux->addr, mux->mask); +} + +/** + * st_lsm6dsx_sf_page_disable - Disable access to sensor fusion configurat= ion + * registers. + * @hw: Sensor hardware instance. + * + * Return: 0 on success, negative value on error. + */ +static int st_lsm6dsx_sf_page_disable(struct st_lsm6dsx_hw *hw) +{ + const struct st_lsm6dsx_reg *mux =3D &hw->settings->sf_settings.page_mux; + + return regmap_clear_bits(hw->regmap, mux->addr, mux->mask); +} + +int st_lsm6dsx_sf_set_enable(struct st_lsm6dsx_sensor *sensor, bool enable) +{ + struct st_lsm6dsx_hw *hw =3D sensor->hw; + const struct st_lsm6dsx_reg *en_reg; + int err; + + guard(mutex)(&hw->page_lock); + + en_reg =3D &hw->settings->sf_settings.enable; + err =3D st_lsm6dsx_sf_page_enable(hw); + if (err) + return err; + + err =3D regmap_assign_bits(hw->regmap, en_reg->addr, en_reg->mask, enable= ); + if (err) { + st_lsm6dsx_sf_page_disable(hw); + return err; + } + + return st_lsm6dsx_sf_page_disable(hw); +} + +int st_lsm6dsx_sf_set_odr(struct st_lsm6dsx_sensor *sensor, bool enable) +{ + const struct st_lsm6dsx_sf_settings *settings; + struct st_lsm6dsx_hw *hw =3D sensor->hw; + u8 data; + int err; + + guard(mutex)(&hw->page_lock); + + err =3D st_lsm6dsx_sf_page_enable(hw); + if (err) + return err; + + settings =3D &hw->settings->sf_settings; + if (enable) { + const struct st_lsm6dsx_reg *reg =3D &settings->odr_table.reg; + u8 odr_val; + + st_lsm6dsx_sf_get_odr_val(settings, sensor->hwfifo_odr_mHz, + &odr_val); + data =3D ST_LSM6DSX_SHIFT_VAL(odr_val, reg->mask); + err =3D regmap_update_bits(hw->regmap, reg->addr, reg->mask, + data); + if (err) + goto out; + } + + err =3D regmap_assign_bits(hw->regmap, settings->fifo_enable.addr, + settings->fifo_enable.mask, enable); + if (err) + goto out; + + return st_lsm6dsx_sf_page_disable(hw); + +out: + st_lsm6dsx_sf_page_disable(hw); + + return err; +} + +static int st_lsm6dsx_sf_read_raw(struct iio_dev *iio_dev, + struct iio_chan_spec const *ch, + int *val, int *val2, long mask) +{ + struct st_lsm6dsx_sensor *sensor =3D iio_priv(iio_dev); + + switch (mask) { + case IIO_CHAN_INFO_SAMP_FREQ: + *val =3D sensor->hwfifo_odr_mHz / MILLI; + *val2 =3D (sensor->hwfifo_odr_mHz % MILLI) * (MICRO / MILLI); + return IIO_VAL_INT_PLUS_MICRO; + default: + return -EINVAL; + } +} + +static int st_lsm6dsx_sf_write_raw(struct iio_dev *iio_dev, + struct iio_chan_spec const *chan, + int val, int val2, long mask) +{ + struct st_lsm6dsx_sensor *sensor =3D iio_priv(iio_dev); + const struct st_lsm6dsx_sf_settings *settings; + int err; + + settings =3D &sensor->hw->settings->sf_settings; + switch (mask) { + case IIO_CHAN_INFO_SAMP_FREQ: { + u32 odr_mHz =3D val * MILLI + val2 * (MILLI / MICRO); + u8 odr_val; + + /* check that the requested frequency is supported */ + err =3D st_lsm6dsx_sf_get_odr_val(settings, odr_mHz, &odr_val); + if (err) + return err; + + sensor->hwfifo_odr_mHz =3D odr_mHz; + return 0; + } + default: + return -EINVAL; + } +} + +static ssize_t st_lsm6dsx_sf_sampling_freq_avail(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + struct st_lsm6dsx_sensor *sensor =3D iio_priv(dev_to_iio_dev(dev)); + const struct st_lsm6dsx_sf_settings *settings; + int len =3D 0; + + settings =3D &sensor->hw->settings->sf_settings; + for (unsigned int i =3D 0; i < settings->odr_table.odr_len; i++) { + u32 val =3D settings->odr_table.odr_avl[i].milli_hz; + + len +=3D sysfs_emit_at(buf, len, "%lu.%03lu ", val / MILLI, + val % MILLI); + } + buf[len - 1] =3D '\n'; + + return len; +} + +static IIO_DEV_ATTR_SAMP_FREQ_AVAIL(st_lsm6dsx_sf_sampling_freq_avail); +static struct attribute *st_lsm6dsx_sf_attributes[] =3D { + &iio_dev_attr_sampling_frequency_available.dev_attr.attr, + NULL +}; + +static const struct attribute_group st_lsm6dsx_sf_attribute_group =3D { + .attrs =3D st_lsm6dsx_sf_attributes, +}; + +static const struct iio_info st_lsm6dsx_sf_info =3D { + .attrs =3D &st_lsm6dsx_sf_attribute_group, + .read_raw =3D st_lsm6dsx_sf_read_raw, + .write_raw =3D st_lsm6dsx_sf_write_raw, + .hwfifo_set_watermark =3D st_lsm6dsx_set_watermark, +}; + +int st_lsm6dsx_sf_probe(struct st_lsm6dsx_hw *hw, const char *name) +{ + const struct st_lsm6dsx_sf_settings *settings; + struct st_lsm6dsx_sensor *sensor; + struct iio_dev *iio_dev; + + iio_dev =3D devm_iio_device_alloc(hw->dev, sizeof(*sensor)); + if (!iio_dev) + return -ENOMEM; + + settings =3D &hw->settings->sf_settings; + sensor =3D iio_priv(iio_dev); + sensor->id =3D ST_LSM6DSX_ID_SF; + sensor->hw =3D hw; + sensor->hwfifo_odr_mHz =3D settings->odr_table.odr_avl[0].milli_hz; + sensor->watermark =3D 1; + iio_dev->modes =3D INDIO_DIRECT_MODE; + iio_dev->info =3D &st_lsm6dsx_sf_info; + iio_dev->channels =3D settings->chan; + iio_dev->num_channels =3D settings->chan_len; + if (snprintf(sensor->name, sizeof(sensor->name), "%s_sf", name) >=3D + sizeof(sensor->name)) + return -E2BIG; + iio_dev->name =3D sensor->name; + + /* + * Put the IIO device pointer in the iio_devs array so that the caller + * can set up a buffer and register this IIO device. + */ + hw->iio_devs[ST_LSM6DSX_ID_SF] =3D iio_dev; + + return 0; +} --=20 2.39.5