linux/drivers/usb
Heikki Krogerus bdc62f2bae usb: typec: ucsi: Simplified registration and I/O API
Adding more simplified API for interface registration and
read and write operations.

The registration is split into separate creation and
registration phases. That allows the drivers to properly
initialize the interface before registering it if necessary.

The read and write operations are supplied in a completely
separate struct ucsi_operations that is passed to the
ucsi_register() function during registration. The new read
and write operations will work more traditionally so that
the read callback function reads a requested amount of data
from an offset, and the write callback functions write the
given data to the offset. The drivers will have to support
both non-blocking writing and blocking writing. In blocking
writing the driver itself is responsible of waiting for the
completion event.

The new API makes it possible for the drivers to perform
tasks also independently of the core ucsi.c, and that should
allow for example quirks to be handled completely in the
drivers without the need to touch ucsi.c.

The old API is kept until all drivers have been converted to
the new API.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Tested-by: Ajay Gupta <ajayg@nvidia.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20191104142435.29960-12-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-11-04 16:03:37 +01:00
..
atm USB: atm: cxacru: convert to use dev_groups 2019-08-09 07:55:45 +02:00
c67x00
cdns3 usb: cdns3: gadget: Fix g_audio use case when connected to Super-Speed host 2019-10-30 14:39:07 +01:00
chipidea usb: Spelling s/disconnet/disconnect/ 2019-11-04 15:53:01 +01:00
class USB: usblp: fix use-after-free on disconnect 2019-10-15 20:19:19 +02:00
common usb: common: add USB GPIO based connection detection driver 2019-09-03 19:01:04 +02:00
core Merge 5.4-rc6 into usb-next 2019-11-04 06:41:09 +01:00
dwc2 usb: Spelling s/enpoint/endpoint/ 2019-11-04 15:53:00 +01:00
dwc3 Merge 5.4-rc6 into usb-next 2019-11-04 06:41:09 +01:00
early
gadget USB: dummy-hcd: use usb_urb_dir_in instead of usb_pipein 2019-11-04 16:02:23 +01:00
host usb: host: fotg210: add missed clk_put calls 2019-11-04 15:53:02 +01:00
image Merge 5.4-rc3 into usb-next 2019-10-14 07:09:59 +02:00
isp1760 usb: isp1760: isp1760-hcd.c: Drop condition with no effect 2019-10-07 13:01:47 +02:00
misc usb: usb251xb: Add support for USB2422 2019-11-04 15:51:05 +01:00
mon
mtu3 Merge 5.4-rc6 into usb-next 2019-11-04 06:41:09 +01:00
musb usb: Spelling s/enpoint/endpoint/ 2019-11-04 15:53:00 +01:00
phy usb: phy: keystone: use devm_platform_ioremap_resource() to simplify code 2019-10-04 14:09:41 +02:00
renesas_usbhs Merge 5.4-rc6 into usb-next 2019-11-04 06:41:09 +01:00
roles usb: roles: Add usb_role_switch_find_by_fwnode() 2019-11-04 15:05:25 +01:00
serial Merge 5.4-rc6 into usb-next 2019-11-04 06:41:09 +01:00
storage Merge 5.4-rc6 into usb-next 2019-11-04 06:41:09 +01:00
typec usb: typec: ucsi: Simplified registration and I/O API 2019-11-04 16:03:37 +01:00
usbip Merge 5.4-rc6 into usb-next 2019-11-04 06:41:09 +01:00
Kconfig usb: common: create Kconfig file 2019-09-03 19:00:39 +02:00
Makefile USB: Changes for v5.4 merge window 2019-09-02 19:20:57 +02:00
usb-skeleton.c USB: usb-skeleton: drop redundant in-urb check 2019-10-10 12:41:19 +02:00