linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michal Simek <michal.simek@xilinx.com>
To: Andrew Lunn <andrew@lunn.ch>, Michal Simek <michal.simek@xilinx.com>
Cc: <linux-kernel@vger.kernel.org>, <monstr@monstr.eu>,
	<git@xilinx.com>, <linux-usb@vger.kernel.org>,
	"Alexander A. Klimov" <grandmaster@al2klimov.de>,
	Piyush Mehta <piyush.mehta@xilinx.com>,
	"Masahiro Yamada" <masahiroy@kernel.org>,
	Al Cooper <alcooperx@gmail.com>,
	Alan Stern <stern@rowland.harvard.edu>,
	Bastien Nocera <hadess@hadess.net>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 2/2] usb: misc: usb5744: Add support for USB hub controller
Date: Wed, 10 Feb 2021 12:03:56 +0100	[thread overview]
Message-ID: <58de4ddf-70e1-c20d-3d0f-c32b69f55ecd@xilinx.com> (raw)
In-Reply-To: <YCNKgAUi5d6LY6zf@lunn.ch>

Hi Andrew,

On 2/10/21 3:52 AM, Andrew Lunn wrote:
> On Tue, Feb 09, 2021 at 10:53:20AM +0100, Michal Simek wrote:
>> +static int usb5744_i2c_probe(struct i2c_client *client,
>> +			     const struct i2c_device_id *id)
>> +{
>> +	struct device *dev = &client->dev;
>> +	int ret;
>> +
>> +	/* Trigger gpio reset to the hub. */
>> +	ret = usb5744_init_hw(dev);
>> +	if (ret)
>> +		return ret;
>> +
>> +	/* Send SMBus command to boot hub. */
>> +	ret = i2c_smbus_write_word_data(client, 0xAA, swab16(0x5600));
> 
> Hi Michal
> 
> This is not my area of the kernel. But that swab16() stood out, and
> made me wonder about endianness. Will this work correctly on big and
> little endian hosts?

thanks for bringing this up. I didn't test it on BE system.

I have grepped the kernel

[linux](xnext/usb5744)$ git grep i2c_smbus_write_word_data | grep swab
drivers/media/i2c/uda1342.c:17:	i2c_smbus_write_word_data(client, reg,
swab16(value));
drivers/media/i2c/vpx3220.c:97:	if (i2c_smbus_write_word_data(client,
0x27, swab16(fpaddr)) == -1) {
drivers/media/i2c/vpx3220.c:106:	if (i2c_smbus_write_word_data(client,
0x28, swab16(data)) == -1) {
drivers/media/i2c/vpx3220.c:120:	if (i2c_smbus_write_word_data(client,
0x26, swab16(fpaddr)) == -1) {
drivers/usb/misc/usb5744.c:50:	ret = i2c_smbus_write_word_data(client,
0xAA, swab16(0x5600));
include/linux/i2c.h:168:	return i2c_smbus_write_word_data(client,
command, swab16(value));

And last one is interesting

 164 static inline s32
 165 i2c_smbus_write_word_swapped(const struct i2c_client *client,
 166                              u8 command, u16 value)
 167 {
 168         return i2c_smbus_write_word_data(client, command,
swab16(value));
 169 }

And this function is also used

[linux](xnext/usb5744)$ git grep i2c_smbus_write_word_swapped | wc -l
76

I think it would be the best to test it and see if this code works on BE
but I need to prepare it first.
And current code is aligned with others but it doesn't mean that it is
correct.

Thanks,
Michal




      reply	other threads:[~2021-02-10 11:07 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-09  9:53 [PATCH 0/2] usb: misc: Add support for Microchip USB5744 Michal Simek
2021-02-09  9:53 ` [PATCH 1/2] dt-bindings: usb: misc: Add binding for Microchip usb5744 hub Michal Simek
2021-02-09  9:53 ` [PATCH 2/2] usb: misc: usb5744: Add support for USB hub controller Michal Simek
2021-02-09 10:03   ` Greg Kroah-Hartman
2021-02-09 10:11     ` Michal Simek
2021-02-09 10:40       ` Greg Kroah-Hartman
2021-02-10  2:52   ` Andrew Lunn
2021-02-10 11:03     ` Michal Simek [this message]

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=58de4ddf-70e1-c20d-3d0f-c32b69f55ecd@xilinx.com \
    --to=michal.simek@xilinx.com \
    --cc=alcooperx@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=git@xilinx.com \
    --cc=grandmaster@al2klimov.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=hadess@hadess.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=monstr@monstr.eu \
    --cc=piyush.mehta@xilinx.com \
    --cc=stern@rowland.harvard.edu \
    /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;
as well as URLs for NNTP newsgroup(s).