This patchset is for Samsung Exynos xhci host conroller. It uses xhci-plat driver mainly and extends some functions by xhci hooks and overrides. This driver supports USB offload which makes Co-processor to use some memories of xhci. Especially it's useful for USB Audio scenario. Audio stream would get shortcut because Co-processor directly write/read data in xhci memories. It could get speed-up using faster memory like SRAM. That's why this gives vendors flexibilty of memory management. This feature is done with xhci hooks and overrides. Changes in v2 : - Fix commit message by adding Signed-off-by in each patch. - Fix conflict on latest. Changes in v3 : - Remove export symbols and xhci hooks which xhci-exynos don't need. - Modify commit message to clarify why it needs to export symbols. - Check compiling of xhci-exynos. Changes in v4 : - Modify commit message to clarify why it needs to export symbols. - Add a function for override of hc driver in xhci-plat. - Make xhci-exynos extending xhci-plat by xhci hooks and overrides. (vendor_init / vendor_cleanup hooks are useful from here v4) - Change the term (USB offload -> xhci-exynos) on subject of patches. Daehwan Jung (5): usb: host: export symbols for xhci-exynos to use xhci hooks usb: host: add xhci hooks for xhci-exynos usb: host: xhci-plat: support override of hc driver usb: host: add some to xhci overrides for xhci-exynos usb: host: add xhci-exynos driver drivers/usb/host/Kconfig | 8 + drivers/usb/host/Makefile | 1 + drivers/usb/host/xhci-exynos.c | 567 +++++++++++++++++++++++++++++++++ drivers/usb/host/xhci-exynos.h | 50 +++ drivers/usb/host/xhci-hub.c | 7 + drivers/usb/host/xhci-mem.c | 150 +++++++-- drivers/usb/host/xhci-plat.c | 50 ++- drivers/usb/host/xhci-plat.h | 9 + drivers/usb/host/xhci-ring.c | 1 + drivers/usb/host/xhci.c | 90 +++++- drivers/usb/host/xhci.h | 50 +++ 11 files changed, 958 insertions(+), 25 deletions(-) create mode 100644 drivers/usb/host/xhci-exynos.c create mode 100644 drivers/usb/host/xhci-exynos.h -- 2.31.1