MA USB Host driver provides USB connectivity over an available network, allowing host device to access remote USB devices attached to one or more MA USB devices (accessible via network). This driver has been developed to enable the host to communicate with DisplayLink products supporting MA USB protocol (MA USB device, in terms of MA USB Specification). MA USB protocol used by MA USB Host driver has been implemented in accordance with MA USB Specification Release 1.0b. This driver depends on the functions provided by DisplayLink's user-space driver. v2: - Fixed licensing info in headers - Reorganized code to lower file count - Patch has been split into 8 smaller patches Vladimir Stankovic (8): usb: Add MA-USB Host kernel module usb: mausb_host: Add link layer implementation usb: mausb_host: HCD initialization usb: mausb_host: Implement initial hub handlers usb: mausb_host: Introduce PAL processing usb: mausb_host: Add logic for PAL-to-PAL communication usb: mausb_host: MA-USB PAL events processing usb: mausb_host: Process MA-USB data packets MAINTAINERS | 7 + drivers/usb/Kconfig | 2 + drivers/usb/Makefile | 2 + drivers/usb/mausb_host/Kconfig | 14 + drivers/usb/mausb_host/Makefile | 18 + drivers/usb/mausb_host/hcd.c | 1897 ++++++++++++++++ drivers/usb/mausb_host/hcd.h | 162 ++ drivers/usb/mausb_host/hpal.c | 2082 ++++++++++++++++++ drivers/usb/mausb_host/hpal.h | 339 +++ drivers/usb/mausb_host/hpal_data.c | 719 ++++++ drivers/usb/mausb_host/hpal_data.h | 34 + drivers/usb/mausb_host/hpal_events.c | 611 +++++ drivers/usb/mausb_host/hpal_events.h | 85 + drivers/usb/mausb_host/ip_link.c | 346 +++ drivers/usb/mausb_host/ip_link.h | 83 + drivers/usb/mausb_host/ma_usb.h | 869 ++++++++ drivers/usb/mausb_host/mausb_address.h | 34 + drivers/usb/mausb_host/mausb_driver_status.h | 17 + drivers/usb/mausb_host/mausb_event.h | 224 ++ drivers/usb/mausb_host/mausb_host.c | 213 ++ drivers/usb/mausb_host/utils.c | 360 +++ drivers/usb/mausb_host/utils.h | 45 + 22 files changed, 8163 insertions(+) create mode 100644 drivers/usb/mausb_host/Kconfig create mode 100644 drivers/usb/mausb_host/Makefile create mode 100644 drivers/usb/mausb_host/hcd.c create mode 100644 drivers/usb/mausb_host/hcd.h create mode 100644 drivers/usb/mausb_host/hpal.c create mode 100644 drivers/usb/mausb_host/hpal.h create mode 100644 drivers/usb/mausb_host/hpal_data.c create mode 100644 drivers/usb/mausb_host/hpal_data.h create mode 100644 drivers/usb/mausb_host/hpal_events.c create mode 100644 drivers/usb/mausb_host/hpal_events.h create mode 100644 drivers/usb/mausb_host/ip_link.c create mode 100644 drivers/usb/mausb_host/ip_link.h create mode 100644 drivers/usb/mausb_host/ma_usb.h create mode 100644 drivers/usb/mausb_host/mausb_address.h create mode 100644 drivers/usb/mausb_host/mausb_driver_status.h create mode 100644 drivers/usb/mausb_host/mausb_event.h create mode 100644 drivers/usb/mausb_host/mausb_host.c create mode 100644 drivers/usb/mausb_host/utils.c create mode 100644 drivers/usb/mausb_host/utils.h -- 2.17.1