public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCHv3 0/5] usb/gadget: independent registration of gadgets and gadget drivers
@ 2015-02-17 21:17 Ruslan Bilovol
  2015-02-17 21:17 ` [PATCHv3 1/5] usb: gadget: bind UDC by name passed via usb_gadget_driver structure Ruslan Bilovol
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Ruslan Bilovol @ 2015-02-17 21:17 UTC (permalink / raw)
  To: balbi
  Cc: linux-usb, linux-kernel, k.opasiak, stern, peter.chen, gregkh,
	andrzej.p

This patchset adds independent registration of gadgets
and gadget drivers to udc-core. This is very useful for
built-in modules into kernel case since it's possible
situation that gadget driver is probing at a time
when no gadgets are registered in udc-core.
In this case instead of silently failing without
of any attempt to recover, with independent registration
of gadgets and gadget drivers there is no matter
in which order gadgets and gadget drivers are
probed/registered.

This patch has side-effect on gadget drivers that had
__init/__exit attributes on some paths like bind/unbind
and (since bind/unbind may happen at any time) should
not use them now. This is covered by forth patch

=====================
v3:
 - addressed Alan's comments - now UDC name and pending
   gadget drivers list is a part of struct usb_gadget_driver.
 - removed usb_udc_attach_driver() function that became unused
   and not needed now

v2:
 - changed first patch to have only deferred probe part
   (because Gadget Bus seems to be better variant when
   some more complicated behavior will be required)
 - rebased to latest 'next' branch of Felipe Balbi's tree


Ruslan Bilovol (5):
  usb: gadget: bind UDC by name passed via usb_gadget_driver structure
  usb: gadge: configfs: pass UDC name via usb_gadget_driver struct
  usb: gadget: udc-core: remove unused usb_udc_attach_driver()
  usb: gadget: legacy: don't use __init/__exit attributes for
    bind/unbind path
  usb: gadget: udc-core: independent registration of gadgets and gadget
    drivers

 drivers/usb/gadget/configfs.c            | 27 +++++-----
 drivers/usb/gadget/legacy/acm_ms.c       |  6 +--
 drivers/usb/gadget/legacy/audio.c        |  6 +--
 drivers/usb/gadget/legacy/cdc2.c         |  6 +--
 drivers/usb/gadget/legacy/dbgp.c         |  2 +-
 drivers/usb/gadget/legacy/ether.c        |  8 +--
 drivers/usb/gadget/legacy/gmidi.c        |  6 +--
 drivers/usb/gadget/legacy/hid.c          |  6 +--
 drivers/usb/gadget/legacy/mass_storage.c |  4 +-
 drivers/usb/gadget/legacy/multi.c        | 16 +++---
 drivers/usb/gadget/legacy/ncm.c          |  6 +--
 drivers/usb/gadget/legacy/nokia.c        |  6 +--
 drivers/usb/gadget/legacy/printer.c      |  6 +--
 drivers/usb/gadget/legacy/serial.c       |  2 +-
 drivers/usb/gadget/legacy/webcam.c       |  4 +-
 drivers/usb/gadget/legacy/zero.c         |  2 +-
 drivers/usb/gadget/udc/udc-core.c        | 88 +++++++++++++++++++-------------
 include/linux/usb/gadget.h               |  8 ++-
 18 files changed, 116 insertions(+), 93 deletions(-)

-- 
1.9.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2015-03-11  1:53 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-17 21:17 [PATCHv3 0/5] usb/gadget: independent registration of gadgets and gadget drivers Ruslan Bilovol
2015-02-17 21:17 ` [PATCHv3 1/5] usb: gadget: bind UDC by name passed via usb_gadget_driver structure Ruslan Bilovol
2015-02-18 12:05   ` Sergei Shtylyov
2015-03-11  0:24     ` Ruslan Bilovol
2015-02-17 21:17 ` [PATCHv3 2/5] usb: gadge: configfs: pass UDC name via usb_gadget_driver struct Ruslan Bilovol
2015-02-17 21:17 ` [PATCHv3 3/5] usb: gadget: udc-core: remove unused usb_udc_attach_driver() Ruslan Bilovol
2015-02-17 21:17 ` [PATCHv3 4/5] usb: gadget: legacy: don't use __init/__exit attributes for bind/unbind path Ruslan Bilovol
2015-02-17 21:17 ` [PATCHv3 5/5] usb: gadget: udc-core: independent registration of gadgets and gadget drivers Ruslan Bilovol
2015-02-17 21:51   ` Alan Stern
2015-03-11  0:21     ` Ruslan Bilovol
2015-03-11  1:31       ` Alan Stern
2015-03-11  1:53       ` Felipe Balbi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox