From: Atharva Tiwari <evepolonium@gmail.com>
Cc: evepolonium@gmail.com, kernel test robot <lkp@intel.com>,
Jean Delvare <jdelvare@suse.com>,
Andi Shyti <andi.shyti@kernel.org>,
linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH] i2c: amd756: Fix endianness handling for word data
Date: Wed, 1 Jan 2025 16:04:22 +0530 [thread overview]
Message-ID: <20250101103422.30523-1-evepolonium@gmail.com> (raw)
Ensure correct handling of "endianness"
for word-sized data in amd756_access
- Convert word data into little-endian using cpu_to_le16
- Convert word data from little-endian
to cpu native format using le16_to_cpu
This fixes poteential issues on big-endian systems and
ensure proper byte ordering for SMBus word transacitions
and you would be thinking why did i resend the patch
it is because kernel test robot
noticed a few warning so i fixed them
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202412311145.AKMzVNw4-lkp@intel.com/
Signed-off-by: Atharva Tiwari <evepolonium@gmail.com>
---
drivers/i2c/busses/i2c-amd756.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/i2c/busses/i2c-amd756.c b/drivers/i2c/busses/i2c-amd756.c
index fa0d5a2c3732..e551d63e96b1 100644
--- a/drivers/i2c/busses/i2c-amd756.c
+++ b/drivers/i2c/busses/i2c-amd756.c
@@ -31,6 +31,7 @@
#include <linux/i2c.h>
#include <linux/acpi.h>
#include <linux/io.h>
+#include <linux/byteorder/generic.h>
/* AMD756 SMBus address offsets */
#define SMB_ADDR_OFFSET 0xE0
@@ -211,7 +212,7 @@ static s32 amd756_access(struct i2c_adapter * adap, u16 addr,
SMB_HOST_ADDRESS);
outb_p(command, SMB_HOST_COMMAND);
if (read_write == I2C_SMBUS_WRITE)
- outw_p(data->word, SMB_HOST_DATA); /* TODO: endian???? */
+ outw_p(cpu_to_le16((u16)data->word), SMB_HOST_DATA);
size = AMD756_WORD_DATA;
break;
case I2C_SMBUS_BLOCK_DATA:
@@ -256,7 +257,7 @@ static s32 amd756_access(struct i2c_adapter * adap, u16 addr,
data->byte = inw_p(SMB_HOST_DATA);
break;
case AMD756_WORD_DATA:
- data->word = inw_p(SMB_HOST_DATA); /* TODO: endian???? */
+ data->word = (u16)le16_to_cpu(inw_p(SMB_HOST_DATA));
break;
case AMD756_BLOCK_DATA:
data->block[0] = inw_p(SMB_HOST_DATA) & 0x3f;
--
2.39.5
next reply other threads:[~2025-01-01 10:34 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-01 10:34 Atharva Tiwari [this message]
2025-01-03 23:18 ` [PATCH] i2c: amd756: Fix endianness handling for word data Andi Shyti
2025-01-03 23:28 ` Wolfram Sang
2025-01-03 23:50 ` Andi Shyti
2025-01-04 10:32 ` Wolfram Sang
2025-01-07 18:57 ` Andi Shyti
2025-01-09 9:23 ` Wolfram Sang
2025-01-03 23:32 ` Andi Shyti
2025-01-04 3:46 ` Andi Shyti
-- strict thread matches above, loose matches on Subject: below --
2024-12-27 13:22 Atharva Tiwari
2024-12-30 2:03 ` Andi Shyti
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250101103422.30523-1-evepolonium@gmail.com \
--to=evepolonium@gmail.com \
--cc=andi.shyti@kernel.org \
--cc=jdelvare@suse.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox