From: Roger Quadros <rogerq@ti.com>
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
peter.chen@freescale.com
Cc: balbi@kernel.org, tony@atomide.com, gregkh@linuxfoundation.org,
dan.j.williams@intel.com, mathias.nyman@linux.intel.com,
Joao.Pinto@synopsys.com, jun.li@freescale.com,
grygorii.strashko@ti.com, yoshihiro.shimoda.uh@renesas.com,
robh@kernel.org, nsekhar@ti.com, b-liu@ti.com,
linux-usb@vger.kernel.org, linux-omap@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v10 08/14] usb: otg: add OTG/dual-role core
Date: Fri, 10 Jun 2016 13:54:52 +0300 [thread overview]
Message-ID: <575A9C7C.7020902@ti.com> (raw)
In-Reply-To: <a559997c-2107-1850-1b22-c4532350d665@cogentembedded.com>
On 10/06/16 13:44, Sergei Shtylyov wrote:
> On 6/10/2016 1:19 PM, Roger Quadros wrote:
>
>>>> It provides APIs for the following tasks
>>>>
>>>> - Registering an OTG/dual-role capable controller
>>>> - Registering Host and Gadget controllers to OTG core
>>>> - Providing inputs to and kicking the OTG state machine
>>>>
>>>> Provide a dual-role device (DRD) state machine.
>>>> DRD mode is a reduced functionality OTG mode. In this mode
>>>> we don't support SRP, HNP and dynamic role-swap.
>>>>
>>>> In DRD operation, the controller mode (Host or Peripheral)
>>>> is decided based on the ID pin status. Once a cable plug (Type-A
>>>> or Type-B) is attached the controller selects the state
>>>> and doesn't change till the cable in unplugged and a different
>>>> cable type is inserted.
>>>>
>>>> As we don't need most of the complex OTG states and OTG timers
>>>> we implement a lean DRD state machine in usb-otg.c.
>>>> The DRD state machine is only interested in 2 hardware inputs
>>>> 'id' and 'b_sess_vld'.
>>>>
>>>> Signed-off-by: Roger Quadros <rogerq@ti.com>
>>>
>>
>> <snip>
>>
>>> [...]
>>>> +/**
>>>> + * usb_otg_register_gadget - Register the gadget controller to OTG core
>>>> + * @gadget: gadget controller
>>>
>>> We call that USB device controller (UDC). I'm not sure what you meant here...
>>> And what about the 2nd arg, 'ops'?
>>
>> There are 2 data structures representing the Device controller.
>>
>> struct usb_gadget - represents a usb slave device
>> struct usb_udc -struct usb_udc - describes one usb device controller
>>
>> usb_udc is for private use only. usb_otg_register_gadget() takes struct usb_gadget
>> as argument.
>>
>> Do you want me to refer to struct usb_gadget as UDC?
>
> No.
>
>> What is wrong with calling it gadget controller?
>
> It's not a controller, it's a piece of software AFAIU. Or is my English just too weak? :-)
Everything at this point is a piece of software :).
struct usb_gadget, represents the gadget controller device not the driver (or software).
struct usb_gadget_driver represents the gadget function driver.
struct usb_gadget_ops represents the UDC driver ops.
WARNING: multiple messages have this Message-ID (diff)
From: Roger Quadros <rogerq@ti.com>
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
<peter.chen@freescale.com>
Cc: <balbi@kernel.org>, <tony@atomide.com>,
<gregkh@linuxfoundation.org>, <dan.j.williams@intel.com>,
<mathias.nyman@linux.intel.com>, <Joao.Pinto@synopsys.com>,
<jun.li@freescale.com>, <grygorii.strashko@ti.com>,
<yoshihiro.shimoda.uh@renesas.com>, <robh@kernel.org>,
<nsekhar@ti.com>, <b-liu@ti.com>, <linux-usb@vger.kernel.org>,
<linux-omap@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<devicetree@vger.kernel.org>
Subject: Re: [PATCH v10 08/14] usb: otg: add OTG/dual-role core
Date: Fri, 10 Jun 2016 13:54:52 +0300 [thread overview]
Message-ID: <575A9C7C.7020902@ti.com> (raw)
In-Reply-To: <a559997c-2107-1850-1b22-c4532350d665@cogentembedded.com>
On 10/06/16 13:44, Sergei Shtylyov wrote:
> On 6/10/2016 1:19 PM, Roger Quadros wrote:
>
>>>> It provides APIs for the following tasks
>>>>
>>>> - Registering an OTG/dual-role capable controller
>>>> - Registering Host and Gadget controllers to OTG core
>>>> - Providing inputs to and kicking the OTG state machine
>>>>
>>>> Provide a dual-role device (DRD) state machine.
>>>> DRD mode is a reduced functionality OTG mode. In this mode
>>>> we don't support SRP, HNP and dynamic role-swap.
>>>>
>>>> In DRD operation, the controller mode (Host or Peripheral)
>>>> is decided based on the ID pin status. Once a cable plug (Type-A
>>>> or Type-B) is attached the controller selects the state
>>>> and doesn't change till the cable in unplugged and a different
>>>> cable type is inserted.
>>>>
>>>> As we don't need most of the complex OTG states and OTG timers
>>>> we implement a lean DRD state machine in usb-otg.c.
>>>> The DRD state machine is only interested in 2 hardware inputs
>>>> 'id' and 'b_sess_vld'.
>>>>
>>>> Signed-off-by: Roger Quadros <rogerq@ti.com>
>>>
>>
>> <snip>
>>
>>> [...]
>>>> +/**
>>>> + * usb_otg_register_gadget - Register the gadget controller to OTG core
>>>> + * @gadget: gadget controller
>>>
>>> We call that USB device controller (UDC). I'm not sure what you meant here...
>>> And what about the 2nd arg, 'ops'?
>>
>> There are 2 data structures representing the Device controller.
>>
>> struct usb_gadget - represents a usb slave device
>> struct usb_udc -struct usb_udc - describes one usb device controller
>>
>> usb_udc is for private use only. usb_otg_register_gadget() takes struct usb_gadget
>> as argument.
>>
>> Do you want me to refer to struct usb_gadget as UDC?
>
> No.
>
>> What is wrong with calling it gadget controller?
>
> It's not a controller, it's a piece of software AFAIU. Or is my English just too weak? :-)
Everything at this point is a piece of software :).
struct usb_gadget, represents the gadget controller device not the driver (or software).
struct usb_gadget_driver represents the gadget function driver.
struct usb_gadget_ops represents the UDC driver ops.
--
cheers,
-roger
next prev parent reply other threads:[~2016-06-10 10:54 UTC|newest]
Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-08 9:03 [PATCH v9 00/14] USB OTG/dual-role framework Roger Quadros
2016-06-08 9:03 ` Roger Quadros
2016-06-08 9:03 ` [PATCH v9 01/14] usb: hcd: Initialize hcd->flags to 0 Roger Quadros
2016-06-08 9:03 ` Roger Quadros
2016-06-08 9:03 ` [PATCH v9 02/14] usb: otg-fsm: Prevent build warning "VDBG" redefined Roger Quadros
2016-06-08 9:03 ` Roger Quadros
2016-06-08 9:03 ` [PATCH v9 03/14] usb: hcd.h: Add OTG to HCD interface Roger Quadros
2016-06-08 9:03 ` Roger Quadros
[not found] ` <1465376626-30122-4-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2016-06-08 11:39 ` Sergei Shtylyov
2016-06-08 11:39 ` Sergei Shtylyov
2016-06-08 12:04 ` Roger Quadros
2016-06-08 12:04 ` Roger Quadros
[not found] ` <575809E9.7010409-l0cyMroinI0@public.gmane.org>
2016-06-08 12:10 ` Sergei Shtylyov
2016-06-08 12:10 ` Sergei Shtylyov
[not found] ` <f5f068ae-c46a-5bad-45e1-f0f9cb5f8592-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2016-06-09 7:31 ` Roger Quadros
2016-06-09 7:31 ` Roger Quadros
2016-06-09 10:16 ` Sergei Shtylyov
[not found] ` <5201761f-4efa-f941-b05f-e4a2b91c75c0-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2016-06-09 14:11 ` Alan Stern
2016-06-09 14:11 ` Alan Stern
2016-06-10 7:01 ` Roger Quadros
2016-06-10 7:01 ` Roger Quadros
2016-06-09 7:51 ` [PATCH v10 " Roger Quadros
2016-06-09 7:51 ` Roger Quadros
2016-06-08 9:03 ` [PATCH v9 04/14] usb: otg-fsm: use usb_otg wherever possible Roger Quadros
2016-06-08 9:03 ` Roger Quadros
2016-06-08 9:03 ` [PATCH v9 05/14] usb: otg-fsm: move host controller operations into usb_otg->hcd_ops Roger Quadros
2016-06-08 9:03 ` Roger Quadros
2016-06-08 9:03 ` [PATCH v9 06/14] usb: gadget.h: Add OTG to gadget interface Roger Quadros
2016-06-08 9:03 ` Roger Quadros
2016-06-08 9:03 ` [PATCH v9 07/14] usb: otg: get rid of CONFIG_USB_OTG_FSM in favour of CONFIG_USB_OTG Roger Quadros
2016-06-08 9:03 ` Roger Quadros
2016-06-08 9:03 ` [PATCH v9 08/14] usb: otg: add OTG/dual-role core Roger Quadros
2016-06-08 9:03 ` Roger Quadros
2016-06-08 9:53 ` Peter Chen
2016-06-08 10:12 ` Roger Quadros
2016-06-08 10:12 ` Roger Quadros
[not found] ` <5757EF7A.20604-l0cyMroinI0@public.gmane.org>
2016-06-08 12:42 ` Peter Chen
2016-06-08 12:42 ` Peter Chen
2016-06-09 7:24 ` Roger Quadros
2016-06-09 7:24 ` Roger Quadros
[not found] ` <575919BC.8080003-l0cyMroinI0@public.gmane.org>
2016-06-12 6:26 ` Peter Chen
2016-06-12 6:26 ` Peter Chen
2016-06-12 10:56 ` Peter Chen
2016-06-09 7:53 ` [PATCH v10 " Roger Quadros
2016-06-09 7:53 ` Roger Quadros
2016-06-09 12:34 ` Sergei Shtylyov
2016-06-10 7:04 ` Roger Quadros
2016-06-10 7:04 ` Roger Quadros
2016-06-10 10:19 ` Roger Quadros
2016-06-10 10:19 ` Roger Quadros
[not found] ` <575A9430.6070508-l0cyMroinI0@public.gmane.org>
2016-06-10 10:44 ` Sergei Shtylyov
2016-06-10 10:44 ` Sergei Shtylyov
2016-06-10 10:54 ` Roger Quadros [this message]
2016-06-10 10:54 ` Roger Quadros
[not found] ` <575A9C7C.7020902-l0cyMroinI0@public.gmane.org>
2016-06-10 11:02 ` Felipe Balbi
2016-06-10 11:02 ` Felipe Balbi
2016-06-08 9:03 ` [PATCH v9 09/14] usb: of: add an API to get OTG device from USB controller node Roger Quadros
2016-06-08 9:03 ` Roger Quadros
2016-06-08 9:03 ` [PATCH v9 10/14] usb: otg: add hcd companion support Roger Quadros
2016-06-08 9:03 ` Roger Quadros
2016-06-08 9:03 ` [PATCH v9 11/14] usb: otg: use dev_dbg() instead of VDBG() Roger Quadros
2016-06-08 9:03 ` Roger Quadros
[not found] ` <1465376626-30122-12-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2016-06-08 15:10 ` Joe Perches
2016-06-08 15:10 ` Joe Perches
[not found] ` <1465398640.25087.50.camel-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org>
2016-06-09 7:25 ` Roger Quadros
2016-06-09 7:25 ` Roger Quadros
2016-06-09 7:55 ` [PATCH v10 " Roger Quadros
2016-06-09 7:55 ` Roger Quadros
[not found] ` <575920D9.7080905-l0cyMroinI0@public.gmane.org>
2016-06-09 15:43 ` Joe Perches
2016-06-09 15:43 ` Joe Perches
[not found] ` <1465487024.25087.72.camel-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org>
2016-06-10 7:05 ` Roger Quadros
2016-06-10 7:05 ` Roger Quadros
2016-06-08 9:03 ` [PATCH v9 12/14] usb: hcd: Adapt to OTG core Roger Quadros
2016-06-08 9:03 ` Roger Quadros
2016-06-08 11:42 ` Sergei Shtylyov
[not found] ` <22442eeb-e927-d7ac-52c6-3aebd2106837-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2016-06-08 12:06 ` Roger Quadros
2016-06-08 12:06 ` Roger Quadros
2016-06-08 12:11 ` Sergei Shtylyov
[not found] ` <21edbb67-8219-14ac-5c33-cabfd62d5fa1-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2016-06-09 7:27 ` Roger Quadros
2016-06-09 7:27 ` Roger Quadros
2016-06-08 9:03 ` [PATCH v9 13/14] usb: gadget: udc: adapt " Roger Quadros
2016-06-08 9:03 ` Roger Quadros
[not found] ` <1465376626-30122-14-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2016-06-09 10:49 ` Yoshihiro Shimoda
2016-06-09 10:49 ` Yoshihiro Shimoda
[not found] ` <SG2PR06MB09198DD132E005FFD4F4CAEED85F0-ESzmfEwOt/zNQ8RBPPB5A20DtJ1/0DrXvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-06-10 7:06 ` Roger Quadros
2016-06-10 7:06 ` Roger Quadros
2016-06-08 9:03 ` [PATCH v9 14/14] usb: host: xhci-plat: Add otg device to platform data Roger Quadros
2016-06-08 9:03 ` Roger Quadros
[not found] ` <1465376626-30122-1-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2016-06-09 5:27 ` [PATCH v9 00/14] USB OTG/dual-role framework Peter Chen
2016-06-09 5:27 ` Peter Chen
[not found] ` <CAL411-owotvsJVEnbFh5g8yK7YEPnnpBhYx9_tRf6NQET38L+A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-06-09 7:30 ` Roger Quadros
2016-06-09 7:30 ` Roger Quadros
2016-06-09 10:13 ` Yoshihiro Shimoda
-- strict thread matches above, loose matches on Subject: below --
2016-06-10 13:07 [PATCH v10 " Roger Quadros
[not found] ` <1465564043-27163-1-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2016-06-10 13:07 ` [PATCH v10 08/14] usb: otg: add OTG/dual-role core Roger Quadros
2016-06-10 13:07 ` Roger Quadros
[not found] ` <1465564043-27163-9-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2016-06-12 11:21 ` Peter Chen
2016-06-12 11:21 ` Peter Chen
2016-06-13 7:42 ` Roger Quadros
2016-06-13 7:42 ` 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=575A9C7C.7020902@ti.com \
--to=rogerq@ti.com \
--cc=Joao.Pinto@synopsys.com \
--cc=b-liu@ti.com \
--cc=balbi@kernel.org \
--cc=dan.j.williams@intel.com \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=grygorii.strashko@ti.com \
--cc=jun.li@freescale.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@linux.intel.com \
--cc=nsekhar@ti.com \
--cc=peter.chen@freescale.com \
--cc=robh@kernel.org \
--cc=sergei.shtylyov@cogentembedded.com \
--cc=tony@atomide.com \
--cc=yoshihiro.shimoda.uh@renesas.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.