All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: John Stultz <john.stultz@linaro.org>
Cc: lkml <linux-kernel@vger.kernel.org>,
	Yu Chen <chenyu56@huawei.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Chunfeng Yun <chunfeng.yun@mediatek.com>,
	Felipe Balbi <balbi@kernel.org>,
	Andy Shevchenko <andy.shevchenko@gmail.com>,
	Jun Li <lijun.kernel@gmail.com>,
	Valentin Schneider <valentin.schneider@arm.com>,
	Linux USB List <linux-usb@vger.kernel.org>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" 
	<devicetree@vger.kernel.org>
Subject: Re: [RFC][PATCH 2/3] usb: roles: Add usb role switch notifier.
Date: Thu, 3 Oct 2019 22:51:38 +0200	[thread overview]
Message-ID: <b8695418-9d3a-96a6-9587-c9a790f49740@redhat.com> (raw)
In-Reply-To: <CALAqxLVcQ7yZuJCUEqGmvqcz5u0Gd=xJzqLbmiXKR+LJrOhvMQ@mail.gmail.com>

Hi,

On 03-10-2019 22:37, John Stultz wrote:
> On Thu, Oct 3, 2019 at 2:25 AM Hans de Goede <hdegoede@redhat.com> wrote:
>> On 03-10-2019 01:16, John Stultz wrote:
>>> From: Yu Chen <chenyu56@huawei.com>
>>>
>>> This patch adds notifier for drivers want to be informed of the usb role
>>> switch.
>>
>> I do not see any patches in this series actually using this new
>> notifier.
>>
>> Maybe it is best to drop this patch until we actually have in-kernel
>> users of this new API show up ?
> 
> Fair point. I'm sort of taking a larger patchset and trying to break
> it up into more easily reviewable chunks, but I guess here I mis-cut.
> 
> The user is the hikey960 gpio hub driver here:
>    https://git.linaro.org/people/john.stultz/android-dev.git/commit/?id=b06158a2d3eb00c914f12c76c93695e92d9af00f

Hmm, that seems to tie the TypeC data-role to the power-role, which
is not going to work with role swapping.

What is controlling the usb-role-switch, and thus ultimately
causing the notifier you are suggesting to get called ?

Things like TYPEC_VBUS_POWER_OFF and TYPEC_VBUS_POWER_ON
really beg to be modeled as a regulator and then the
Type-C controller (using e.g. the drivers/usb/typec/tcpm/tcpm.c
framework) can use that regulator to control things.
in case of the tcpm.c framework it can then use that
regulator to implement the set_vbus callback.

You really do not want to tie this do the usb_switch, both
because doing so ties the data and power-roles together
which is not supposed to happen and because role-swapping
requires careful timing of the VBUS on / off at different
moments then the moments when you actually set the mux/switch
for connecting the Dp/Dn lines to the host or gadget
controller.

The usb role switch abstraction is really only intended
for the data-lines switch and should not be tied together
with other stuff.

Regards,

Hans


  reply	other threads:[~2019-10-03 20:51 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-02 23:16 [RFC][PATCH 0/3] dwc3 role-switch handling for HiKey960 John Stultz
2019-10-02 23:16 ` [RFC][PATCH 1/3] dt-bindings: usb: generic: Add role-switch-default-host binding John Stultz
2019-10-02 23:16 ` [RFC][PATCH 2/3] usb: roles: Add usb role switch notifier John Stultz
2019-10-03  9:25   ` Hans de Goede
2019-10-03 20:37     ` John Stultz
2019-10-03 20:37       ` John Stultz
2019-10-03 20:51       ` Hans de Goede [this message]
2019-10-03 20:51         ` Hans de Goede
2019-10-04  8:12         ` Heikki Krogerus
2019-10-04  8:12           ` Heikki Krogerus
2019-10-15  5:39         ` John Stultz
2019-10-15  5:39           ` John Stultz
2019-10-16  7:27           ` Hans de Goede
2019-10-18  5:55             ` John Stultz
2019-10-18  8:06               ` Hans de Goede
2019-10-18 18:39                 ` John Stultz
2019-10-18 19:30                   ` Hans de Goede
2019-10-18 19:53                     ` John Stultz
2019-10-18 19:59                       ` Hans de Goede
2019-10-18 20:12                         ` John Stultz
2019-10-18 20:21                           ` Hans de Goede
2019-10-18 20:37                             ` John Stultz
2019-10-18 21:05                               ` Hans de Goede
2019-10-22  5:58                                 ` John Stultz
2019-11-14 10:11                                   ` Hans de Goede
2019-11-15  0:23                                     ` John Stultz
2019-10-16  9:10           ` Hans de Goede
2019-10-03 11:26   ` Greg Kroah-Hartman
2019-10-03 20:45     ` John Stultz
2019-10-03 20:45       ` John Stultz
2019-10-03 20:56       ` Hans de Goede
2019-10-03 20:56         ` Hans de Goede
2019-10-03 21:33         ` John Stultz
2019-10-03 21:33           ` John Stultz
2019-10-06 15:22           ` Hans de Goede
2019-10-06 15:22             ` Hans de Goede
2019-10-15  7:03             ` John Stultz
2019-10-15  7:03               ` John Stultz
2019-10-04  8:00         ` Heikki Krogerus
2019-10-04  8:00           ` Heikki Krogerus
2019-10-02 23:16 ` [RFC][PATCH 3/3] usb: dwc3: Registering a role switch in the DRD code John Stultz
2019-10-03  0:32   ` kbuild test robot
2019-10-03  0:43     ` John Stultz
2019-10-13 22:01   ` kbuild test robot
2019-10-15  8:25   ` Roger Quadros
2019-10-15  8:25     ` Roger Quadros
2019-10-15 19:10     ` John Stultz
2019-10-16  9:24       ` Roger Quadros

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=b8695418-9d3a-96a6-9587-c9a790f49740@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=balbi@kernel.org \
    --cc=chenyu56@huawei.com \
    --cc=chunfeng.yun@mediatek.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=john.stultz@linaro.org \
    --cc=lijun.kernel@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=suzuki.poulose@arm.com \
    --cc=valentin.schneider@arm.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 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.