summaryrefslogtreecommitdiff
path: root/drivers/base
diff options
context:
space:
mode:
authorNishanth Sampath Kumar <nissampa@cisco.com>2026-05-20 08:11:09 -0700
committerMark Brown <broonie@kernel.org>2026-05-21 09:47:39 +0100
commit34808ac8ddafc3e2c2a59e84eaab0a410e7a0fdc (patch)
tree05f58a7fb9e3c1146debc7081e6d4f93e29fadc9 /drivers/base
parent254f49634ee16a731174d2ae34bc50bd5f45e731 (diff)
downloadlinux-34808ac8ddafc3e2c2a59e84eaab0a410e7a0fdc.tar.gz
linux-34808ac8ddafc3e2c2a59e84eaab0a410e7a0fdc.tar.bz2
linux-34808ac8ddafc3e2c2a59e84eaab0a410e7a0fdc.zip
regmap-i2c: fix sparse warning in regmap_smbus_word_write_reg16
i2c_smbus_write_word_data() expects a plain u16, but cpu_to_le16() returns __le16 (a sparse-restricted endian type), causing: drivers/base/regmap/regmap-i2c.c:340: sparse: incorrect type in argument 3 (different base types) expected unsigned short [usertype] value got restricted __le16 [usertype] SMBus already defines byte ordering internally, so cpu_to_le16() is wrong here. Replace it with a plain (u16) cast. Fixes: bad4bd28abf4 ("regmap-i2c: add SMBus byte/word reg16 bus for adapters lacking I2C_FUNC_I2C") Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202605161621.mY5zFh4D-lkp@intel.com/ Signed-off-by: Nishanth Sampath Kumar <nissampa@cisco.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/regmap/regmap-i2c.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/base/regmap/regmap-i2c.c b/drivers/base/regmap/regmap-i2c.c
index 31e30dfced19..51a04961faf7 100644
--- a/drivers/base/regmap/regmap-i2c.c
+++ b/drivers/base/regmap/regmap-i2c.c
@@ -337,7 +337,7 @@ static int regmap_smbus_word_write_reg16(void *context, const void *data,
val = ((u8 *)data)[2];
return i2c_smbus_write_word_data(i2c, addr_hi,
- cpu_to_le16(((u16)val << 8) | addr_lo));
+ ((u16)val << 8) | addr_lo);
}
static const struct regmap_bus regmap_smbus_byte_word_reg16 = {