linux/drivers/usb/gadget
Andrzej Pietrasiewicz a01091e5ce usb: gadget: composite: redirect setup requests
If there are setup requests not directed to an endpont or an interface,
current config's setup() has been attempted so far.
This patch, in case the above fails, adds code which tries the setup() of
configuration's function if there is only one function in the configuration.

This behavior is required to provide equivalent of gadget zero with configfs.

The gadget zero has a "config driver" for sourcesink, but all it does is
delegating the request to the function proper. So when the equivalent gadget
is set up with configfs it needs to handle requests directed to
"config driver", but with configfs it is not possible to specify
"config drivers".

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2013-11-26 13:40:44 -06:00
..
acm_ms.c usb: gadget: acm_ms: convert to new interface of f_mass_storage 2013-10-10 10:24:31 -05:00
amd5536udc.c usb: gadget: amd5536udc: remove unnecessary pci_set_drvdata() 2013-10-01 09:31:16 -05:00
amd5536udc.h usb: gadget: amd5536udc: remove unused structure member 2013-03-18 11:16:56 +02:00
at91_udc.c usb: gadget: at91_udc: add usb_clk for transition to common clk framework 2013-08-02 15:17:03 +03:00
at91_udc.h usb: gadget: at91_udc: add usb_clk for transition to common clk framework 2013-08-02 15:17:03 +03:00
atmel_usba_udc.c usb: gadget: double unlocks on error in atmel_usba_start() 2013-08-27 15:05:35 -05:00
atmel_usba_udc.h USB: gadget: atmel_usba: add DT support 2013-05-24 07:14:45 +08:00
audio.c
bcm63xx_udc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
cdc2.c usb: gadget: cdc2: fix conversion to new interface of f_ecm 2013-09-17 10:38:52 -05:00
composite.c usb: gadget: composite: redirect setup requests 2013-11-26 13:40:44 -06:00
config.c
configfs.c usb: gadget: configfs: add a method to unregister the gadget 2013-10-01 09:50:22 -05:00
configfs.h usb: gadget: configfs: add a method to unregister the gadget 2013-10-01 09:50:22 -05:00
dbgp.c
dummy_hcd.c usb: Remove unnecessary semicolons 2013-10-11 16:26:46 -07:00
epautoconf.c usb: gadget: epautoconf: switch over to usb_endpoint_type() 2013-11-26 10:58:16 -06:00
ether.c usb: gadget: ether: put_usb_function on unbind 2013-07-25 20:35:23 +03:00
f_acm.c usb: acm gadget: Null termintate strings table 2013-08-30 11:10:36 -07:00
f_ecm.c usb: gadget: f_ecm: Staticize ecm_alloc 2013-09-17 11:06:44 -05:00
f_eem.c usb: gadget: f_eem: Staticize eem_alloc 2013-09-17 11:06:50 -05:00
f_fs.c tree-wide: use reinit_completion instead of INIT_COMPLETION 2013-11-15 09:32:21 +09:00
f_hid.c
f_loopback.c
f_mass_storage.c usb/gadget: f_mass_storage: use string literal as format in dev_set_name 2013-10-25 09:12:14 +01:00
f_mass_storage.h usb: gadget: f_mass_storage: remove compatibility layer 2013-10-10 10:24:53 -05:00
f_midi.c
f_ncm.c usb/gadget: free opts struct on error recovery 2013-07-25 11:32:15 -07:00
f_obex.c usb: gadget: f_obex: remove compatibility layer 2013-06-10 17:29:08 +03:00
f_phonet.c usb: gadget: f_phonet: remove unused preprocessor conditional 2013-07-29 14:15:23 +03:00
f_rndis.c usb/gadget: free opts struct on error recovery 2013-07-25 11:32:15 -07:00
f_serial.c usb: gadget: f_serial: add configfs support 2013-04-03 14:43:35 +03:00
f_sourcesink.c usb: gadget: f_sourcesink.c: correct a copy-paste misnomer 2013-04-23 14:12:02 +03:00
f_subset.c usb/gadget: free opts struct on error recovery 2013-07-25 11:32:15 -07:00
f_uac1.c usb: gadget: f_uac1: Staticize local functions 2013-08-09 16:34:19 +03:00
f_uac2.c USB: gadget: f_uac2: Fix broken prm to uac2 mapping 2013-06-10 17:10:23 +03:00
f_uvc.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2013-07-13 12:09:57 -07:00
f_uvc.h usb: gadget: uvc: Fix coding style issues introduced by SS support 2013-03-18 11:18:18 +02:00
fotg210-udc.c USB: Faraday fotg210: fix email addresses 2013-09-17 09:36:10 -07:00
fotg210.h usb: gadget: add Faraday fotg210_udc driver 2013-06-10 17:58:11 +03:00
fsl_mxc_udc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
fsl_qe_udc.c usb: gadget: remove superfluous name casts 2013-11-26 10:58:16 -06:00
fsl_qe_udc.h
fsl_udc_core.c usb: gadget: remove superfluous name casts 2013-11-26 10:58:16 -06:00
fsl_usb2_udc.h
functions.c
fusb300_udc.c USB: Faraday fotg210: fix email addresses 2013-09-17 09:36:10 -07:00
fusb300_udc.h usb: gadget: fusb300_udc: add FUSB300_EPSET0_STL_CLR for clearing EP0 stall 2013-04-02 16:57:24 +03:00
g_ffs.c usb: g_ffs: fix compilation warning 2013-10-10 09:40:28 -05:00
g_zero.h
gadget_chips.h
gmidi.c
goku_udc.c usb: gadget: goku: remove unused argument 2013-11-26 10:58:16 -06:00
goku_udc.h usb: gadget: goku_udc: let udc-core manage gadget->dev 2013-03-18 11:16:45 +02:00
hid.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
inode.c Merge git://git.kvack.org/~bcrl/aio-next 2013-09-13 10:55:58 -07:00
Kconfig usb: gadget: Make VERBOSE_DEBUG enableable via Kconfig 2013-10-11 13:50:36 -05:00
lpc32xx_udc.c DMA-API: usb: use dma_set_coherent_mask() 2013-10-31 14:49:01 +00:00
m66592-udc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
m66592-udc.h
Makefile usb: gadget: Make VERBOSE_DEBUG enableable via Kconfig 2013-10-11 13:50:36 -05:00
mass_storage.c usb: gadget: mass_storage: convert to new interface of f_mass_storage 2013-10-10 10:24:10 -05:00
multi.c usb: gadget: multi: convert to new interface of f_mass_storage 2013-10-10 10:24:49 -05:00
mv_u3d_core.c usb: gadget: mv_u3d_core: remove deprecated IRQF_DISABLED 2013-10-10 09:40:31 -05:00
mv_u3d.h
mv_udc_core.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
mv_udc.h usb: gadget: mv_udc_core: remove unused clock 2013-04-02 11:42:45 +03:00
ncm.c usb: gadget: ncm: convert to new function interface 2013-06-10 17:12:52 +03:00
ndis.h
net2272.c USB: gadget: audit sysfs attribute permissions 2013-08-27 12:50:53 -07:00
net2272.h
net2280.c usb: Remove unnecessary semicolons 2013-10-11 16:26:46 -07:00
net2280.h
nokia.c usb: gadget: nokia: convert to new interface of f_ecm 2013-06-10 17:32:23 +03:00
omap_udc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
omap_udc.h
pch_udc.c usb: gadget: pch_udc: remove unnecessary pci_set_drvdata() 2013-10-01 09:31:17 -05:00
printer.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
pxa25x_udc.c usb: gadget: pxa25x_udc: fix deferred probe from __init 2013-09-23 14:29:49 -05:00
pxa25x_udc.h
pxa27x_udc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
pxa27x_udc.h
r8a66597-udc.c usb: gadget: r8a66597-udc: convert to clk_prepare/unprepare 2013-11-26 10:35:08 -06:00
r8a66597-udc.h
rndis.c usb: Remove unnecessary semicolons 2013-10-11 16:26:46 -07:00
rndis.h usb: gadget: rndis: init & exit rndis at module load/unload 2013-06-10 17:58:09 +03:00
s3c2410_udc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
s3c2410_udc.h
s3c-hsotg.c usb: gadget: s3c-hsotg: fix can_write limit for non-periodic endpoints 2013-10-15 08:46:51 -05:00
s3c-hsotg.h
s3c-hsudc.c usb: gadget: use dev_get_platdata() 2013-07-30 11:18:46 +03:00
serial.c usb: gadget: serial: convert to new interface of f_obex 2013-04-03 14:43:36 +03:00
storage_common.c usb: gadget: storage_common: pass filesem to fsg_store_cdrom 2013-10-15 06:52:08 -05:00
storage_common.h usb: gadget: storage_common: pass filesem to fsg_store_cdrom 2013-10-15 06:52:08 -05:00
tcm_usb_gadget.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2013-11-22 10:52:03 -08:00
tcm_usb_gadget.h
u_ecm.h usb: gadget: f_ecm: add configfs support 2013-06-10 17:27:54 +03:00
u_eem.h usb: gadget: f_eem: add configfs support 2013-06-10 17:58:00 +03:00
u_ether_configfs.h usb: gadget: add helpers for configfs support for USB Ethernet 2013-06-10 17:15:43 +03:00
u_ether.c usb: gadget: update some out of date comments 2013-11-26 10:58:17 -06:00
u_ether.h usb: gadget: update some out of date comments 2013-11-26 10:58:17 -06:00
u_gether.h usb: gadget: f_subset: add configfs support 2013-06-10 17:58:08 +03:00
u_ncm.h usb: gadget: f_ncm: add configfs support 2013-06-10 17:15:02 +03:00
u_phonet.h usb: gadget: f_phonet: remove compatibility layer 2013-06-10 17:31:55 +03:00
u_rndis.h usb: gadget: f_rndis: add configfs support 2013-06-10 17:58:10 +03:00
u_serial.c usb: gadget: u_serial: fix typo which cause build warning 2013-03-14 12:47:53 +02:00
u_serial.h usb: gadget: nokia: use function framework for ACM 2013-04-03 14:43:20 +03:00
u_uac1.c usb: gadget: u_uac1: add __user annotation 2013-08-09 16:34:13 +03:00
u_uac1.h
udc-core.c usb: gadget: udc-core: Do not report -EISNAM error from gadgetfs 2013-10-04 09:44:43 -05:00
usbstring.c
uvc_queue.c usb: gadget: uvc: Fix error handling in uvc_queue_buffer() 2013-08-09 17:40:54 +03:00
uvc_queue.h usb: gadget/uvc: Port UVC webcam gadget to use videobuf2 framework 2013-04-02 11:42:48 +03:00
uvc_v4l2.c usb: gadget/uvc: Add support for 'get_unmapped_area' for MMUless architectures 2013-04-02 11:42:49 +03:00
uvc_video.c usb: gadget/uvc: Port UVC webcam gadget to use videobuf2 framework 2013-04-02 11:42:48 +03:00
uvc.h [media] f_uvc: add v4l2_device and replace parent with v4l2_dev 2013-06-21 11:04:47 -03:00
webcam.c
zero.c usb: gadget: zero: Add flexible auto remote wakeup test method 2013-10-01 09:31:15 -05:00