All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bin Liu <b-liu@ti.com>
To: Paul Kocialkowski <contact@paulk.fr>
Cc: Paul Kocialkowski <paul.kocialkowski@bootlin.com>,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Chen-Yu Tsai <wens@csie.org>
Subject: usb: musb: Support gadget mode when the port is set to dual role
Date: Tue, 1 May 2018 07:25:33 -0500	[thread overview]
Message-ID: <20180501122533.GD21238@uda0271908> (raw)

On Mon, Apr 30, 2018 at 11:08:42PM +0200, Paul Kocialkowski wrote:
> Hi,
> 
> Le samedi 21 avril 2018 à 09:34 -0500, Bin Liu a écrit :
> > Okay, this came down to an argument that whether we should require
> > loading a gadget driver on a dual-role port to work in host mode,
> > which is currently required on musb since a long long time ago.
> > 
> > I understand the requirement is kinda unnecessary, but since it
> > already
> > exists on musb stack for a long time, I don't plan to change it.
> > Because I
> > cannot think of a use case in real products that doesn't automatically
> > load a gadget function on the dual-role port.
> > 
> > If you can explain a use case in real world (not a engineering lab)
> > that the gadget driver will not be loaded at linux booting up, but
> > later based on user's input, I will reconsider my decision. To remove
> > this requirement from musb stack, the work is more than this patch.
> 
> My use case here is to support common GNU/Linux-based distributions, not
> use-case-specific varieties of GNU/Linux-based rootfs. So my point here
> would be that most distros will (and probably should) ship g_ether as a
> module but without any particular reason to autoload it, or any other
> gadget module in particular, since the system is general-purpose.

This is the case I called it "in a engineering lab", not a real product.

> Then, imagine a user wants to plug a USB device through OTG (say,
> because it's the only USB port available at all on the tablet they're
> using), it simply won't work. It won't be obvious to that user that this
> is because no gadget is loaded, since what they want to do does not
> involve using gadget mode at any point.

If a tablet has a dual-role usb port, it is designed to use a gadget
driver, which has to be loaded at some point. In the case you described
above, when the gadget driver will be loaded? and how?

If a gadget driver will never be used, a host-only port should be on
the board, not a dual-role port.

> Do you think this is a valid use case? It surely is a common one and
> perfectly depicts my situation.

As I explained above, I don't think so.

> Note that in addition to Allwinner devices, I also have omap3/4/5
> devices for testing things. I don't think I have other MUSB-enabled

Much more than what I have ;)

> devices in my collection though, but I would be willing to test fixes to
> this issue on the ones I have.

Appreciated it, but someone has to make the patches first. The one you
posted might be a good start, but it is not complete. The first problem
I see is that musb_start() will be called twice, one in the place you
patched, the other is when the gadget driver is bound to the UDC.

Regards,
-Bin.
---
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Bin Liu <b-liu@ti.com>
To: Paul Kocialkowski <contact@paulk.fr>
Cc: Paul Kocialkowski <paul.kocialkowski@bootlin.com>,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	<linux-kernel@vger.kernel.org>, <linux-usb@vger.kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Chen-Yu Tsai <wens@csie.org>
Subject: Re: [PATCH] usb: musb: Support gadget mode when the port is set to dual role
Date: Tue, 1 May 2018 07:25:33 -0500	[thread overview]
Message-ID: <20180501122533.GD21238@uda0271908> (raw)
In-Reply-To: <b24cf58d2f48519893a5051a98bee6579c5e0d98.camel@paulk.fr>

On Mon, Apr 30, 2018 at 11:08:42PM +0200, Paul Kocialkowski wrote:
> Hi,
> 
> Le samedi 21 avril 2018 à 09:34 -0500, Bin Liu a écrit :
> > Okay, this came down to an argument that whether we should require
> > loading a gadget driver on a dual-role port to work in host mode,
> > which is currently required on musb since a long long time ago.
> > 
> > I understand the requirement is kinda unnecessary, but since it
> > already
> > exists on musb stack for a long time, I don't plan to change it.
> > Because I
> > cannot think of a use case in real products that doesn't automatically
> > load a gadget function on the dual-role port.
> > 
> > If you can explain a use case in real world (not a engineering lab)
> > that the gadget driver will not be loaded at linux booting up, but
> > later based on user's input, I will reconsider my decision. To remove
> > this requirement from musb stack, the work is more than this patch.
> 
> My use case here is to support common GNU/Linux-based distributions, not
> use-case-specific varieties of GNU/Linux-based rootfs. So my point here
> would be that most distros will (and probably should) ship g_ether as a
> module but without any particular reason to autoload it, or any other
> gadget module in particular, since the system is general-purpose.

This is the case I called it "in a engineering lab", not a real product.

> Then, imagine a user wants to plug a USB device through OTG (say,
> because it's the only USB port available at all on the tablet they're
> using), it simply won't work. It won't be obvious to that user that this
> is because no gadget is loaded, since what they want to do does not
> involve using gadget mode at any point.

If a tablet has a dual-role usb port, it is designed to use a gadget
driver, which has to be loaded at some point. In the case you described
above, when the gadget driver will be loaded? and how?

If a gadget driver will never be used, a host-only port should be on
the board, not a dual-role port.

> Do you think this is a valid use case? It surely is a common one and
> perfectly depicts my situation.

As I explained above, I don't think so.

> Note that in addition to Allwinner devices, I also have omap3/4/5
> devices for testing things. I don't think I have other MUSB-enabled

Much more than what I have ;)

> devices in my collection though, but I would be willing to test fixes to
> this issue on the ones I have.

Appreciated it, but someone has to make the patches first. The one you
posted might be a good start, but it is not complete. The first problem
I see is that musb_start() will be called twice, one in the place you
patched, the other is when the gadget driver is bound to the UDC.

Regards,
-Bin.

             reply	other threads:[~2018-05-01 12:25 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-01 12:25 Bin Liu [this message]
2018-05-01 12:25 ` [PATCH] usb: musb: Support gadget mode when the port is set to dual role Bin Liu
  -- strict thread matches above, loose matches on Subject: below --
2019-03-22 14:04 Bin Liu
2019-03-22 14:04 ` [PATCH] " Bin Liu
2019-03-22 13:46 Maxime Ripard
2019-03-22 13:46 ` [PATCH] " Maxime Ripard
2019-03-22 13:46 Bin Liu
2019-03-22 13:46 ` [PATCH] " Bin Liu
2019-03-22 13:44 Bin Liu
2019-03-22 13:44 ` [PATCH] " Bin Liu
2019-03-22 13:37 Paul Kocialkowski
2019-03-22 13:37 ` [PATCH] " Paul Kocialkowski
2019-03-22 13:36 Bin Liu
2019-03-22 13:36 ` [PATCH] " Bin Liu
2019-03-22 13:34 Paul Kocialkowski
2019-03-22 13:34 ` [PATCH] " Paul Kocialkowski
2019-03-22 13:28 Bin Liu
2019-03-22 13:28 ` [PATCH] " Bin Liu
2019-03-22 13:10 Paul Kocialkowski
2019-03-22 13:10 ` [PATCH] " Paul Kocialkowski
2019-03-22 13:09 Maxime Ripard
2019-03-22 13:09 ` [PATCH] " Maxime Ripard
2019-03-22 12:46 Bin Liu
2019-03-22 12:46 ` [PATCH] " Bin Liu
2019-03-21 16:41 Greg Kroah-Hartman
2019-03-21 16:41 ` [PATCH] " Greg Kroah-Hartman
2019-03-21 13:01 Maxime Ripard
2019-03-21 13:01 ` [PATCH] " Maxime Ripard
2018-05-01 16:22 Bin Liu
2018-05-01 16:22 ` [PATCH] " Bin Liu
2018-05-01 13:26 Paul Kocialkowski
2018-05-01 13:26 ` [PATCH] " Paul Kocialkowski
2018-04-30 21:08 Paul Kocialkowski
2018-04-30 21:08 ` [PATCH] " Paul Kocialkowski
2018-04-21 14:34 Bin Liu
2019-03-21 10:02 ` [PATCH] " Bin Liu
2018-04-21 14:34 ` Bin Liu
2018-04-21 10:59 Paul Kocialkowski
2018-04-21 10:59 ` [PATCH] " Paul Kocialkowski
2018-04-21 10:51 Paul Kocialkowski
2018-04-21 10:51 ` [PATCH] " Paul Kocialkowski
2018-04-20 14:25 Bin Liu
2018-04-20 14:25 ` [PATCH] " Bin Liu
2018-04-03  9:29 Maxime Ripard
2018-04-03  9:29 ` [PATCH] " Maxime Ripard
2018-03-29 11:57 Paul Kocialkowski
2018-03-29 11:57 ` [PATCH] " Paul Kocialkowski
2018-03-29  9:23 Maxime Ripard
2018-03-29  9:23 ` [PATCH] " Maxime Ripard
2018-03-28 21:52 Paul Kocialkowski
2018-03-28 21:52 ` [PATCH] " Paul Kocialkowski

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=20180501122533.GD21238@uda0271908 \
    --to=b-liu@ti.com \
    --cc=contact@paulk.fr \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=maxime.ripard@bootlin.com \
    --cc=paul.kocialkowski@bootlin.com \
    --cc=wens@csie.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.