Loading arch/arm/configs/vendor/sdxlemur.config +1 −0 Original line number Diff line number Diff line Loading @@ -226,6 +226,7 @@ CONFIG_USB_CONFIGFS_F_CDEV=y CONFIG_USB_CONFIGFS_F_GSI=y CONFIG_USB_CONFIGFS_F_DIAG=y CONFIG_USB_CONFIGFS_F_UAC1=y CONFIG_USB_G_QTI=y CONFIG_USB_BAM=y CONFIG_USB_RTL8152=y CONFIG_USB_NET_SMSC75XX=y Loading drivers/usb/gadget/function/f_gsi.c +9 −0 Original line number Diff line number Diff line Loading @@ -3000,6 +3000,7 @@ static int gsi_bind(struct usb_configuration *c, struct usb_function *f) struct gsi_function_bind_info info = {0}; struct f_gsi *gsi = func_to_gsi(f); struct rndis_params *params; struct usb_os_desc *descs[1]; struct gsi_opts *opts; int status; __u8 class; Loading Loading @@ -3202,6 +3203,14 @@ static int gsi_bind(struct usb_configuration *c, struct usb_function *f) f->os_desc_n = 1; f->os_desc_table[0].os_desc = &opts->os_desc; f->os_desc_table[0].if_id = gsi->data_id; opts->os_desc.ext_compat_id = opts->ext_compat_id; descs[0] = &opts->os_desc; snprintf(sub_compatible_id, sizeof(sub_compatible_id), "%u", c->bConfigurationValue); memcpy(descs[0]->ext_compat_id, compatible_id, strlen(compatible_id)); memcpy(descs[0]->ext_compat_id + 8, sub_compatible_id, strlen(sub_compatible_id)); } break; case IPA_USB_RMNET: Loading drivers/usb/gadget/function/f_gsi.h +3 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,9 @@ /* ID for Microsoft OS String */ #define GSI_MBIM_OS_STRING_ID 0xEE static char compatible_id[256] = "ALTRCFG"; static char sub_compatible_id[8]; #define EVT_NONE 0 #define EVT_UNINITIALIZED 1 #define EVT_INITIALIZED 2 Loading drivers/usb/gadget/legacy/Kconfig +10 −0 Original line number Diff line number Diff line Loading @@ -350,6 +350,16 @@ config USB_G_PRINTER For more information, see Documentation/usb/gadget_printer.rst which includes sample code for accessing the device file. config USB_G_QTI tristate "QTI composite gadget" select USB_LIBCOMPOSITE help This gadget provides support for multi-configuration composite device. Functions can be specified via devicetree properties, along with PID and PID details which can also also be updated using kernel commandline using module parameters. if TTY config USB_CDC_COMPOSITE Loading drivers/usb/gadget/legacy/Makefile +2 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ g_webcam-y := webcam.o g_ncm-y := ncm.o g_acm_ms-y := acm_ms.o g_tcm_usb_gadget-y := tcm_usb_gadget.o g_qti_gadget-y := qti_gadget.o obj-$(CONFIG_USB_ZERO) += g_zero.o obj-$(CONFIG_USB_AUDIO) += g_audio.o Loading @@ -44,3 +45,4 @@ obj-$(CONFIG_USB_G_NCM) += g_ncm.o obj-$(CONFIG_USB_G_ACM_MS) += g_acm_ms.o obj-$(CONFIG_USB_GADGET_TARGET) += tcm_usb_gadget.o obj-$(CONFIG_USB_RAW_GADGET) += raw_gadget.o obj-$(CONFIG_USB_G_QTI) += g_qti_gadget.o Loading
arch/arm/configs/vendor/sdxlemur.config +1 −0 Original line number Diff line number Diff line Loading @@ -226,6 +226,7 @@ CONFIG_USB_CONFIGFS_F_CDEV=y CONFIG_USB_CONFIGFS_F_GSI=y CONFIG_USB_CONFIGFS_F_DIAG=y CONFIG_USB_CONFIGFS_F_UAC1=y CONFIG_USB_G_QTI=y CONFIG_USB_BAM=y CONFIG_USB_RTL8152=y CONFIG_USB_NET_SMSC75XX=y Loading
drivers/usb/gadget/function/f_gsi.c +9 −0 Original line number Diff line number Diff line Loading @@ -3000,6 +3000,7 @@ static int gsi_bind(struct usb_configuration *c, struct usb_function *f) struct gsi_function_bind_info info = {0}; struct f_gsi *gsi = func_to_gsi(f); struct rndis_params *params; struct usb_os_desc *descs[1]; struct gsi_opts *opts; int status; __u8 class; Loading Loading @@ -3202,6 +3203,14 @@ static int gsi_bind(struct usb_configuration *c, struct usb_function *f) f->os_desc_n = 1; f->os_desc_table[0].os_desc = &opts->os_desc; f->os_desc_table[0].if_id = gsi->data_id; opts->os_desc.ext_compat_id = opts->ext_compat_id; descs[0] = &opts->os_desc; snprintf(sub_compatible_id, sizeof(sub_compatible_id), "%u", c->bConfigurationValue); memcpy(descs[0]->ext_compat_id, compatible_id, strlen(compatible_id)); memcpy(descs[0]->ext_compat_id + 8, sub_compatible_id, strlen(sub_compatible_id)); } break; case IPA_USB_RMNET: Loading
drivers/usb/gadget/function/f_gsi.h +3 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,9 @@ /* ID for Microsoft OS String */ #define GSI_MBIM_OS_STRING_ID 0xEE static char compatible_id[256] = "ALTRCFG"; static char sub_compatible_id[8]; #define EVT_NONE 0 #define EVT_UNINITIALIZED 1 #define EVT_INITIALIZED 2 Loading
drivers/usb/gadget/legacy/Kconfig +10 −0 Original line number Diff line number Diff line Loading @@ -350,6 +350,16 @@ config USB_G_PRINTER For more information, see Documentation/usb/gadget_printer.rst which includes sample code for accessing the device file. config USB_G_QTI tristate "QTI composite gadget" select USB_LIBCOMPOSITE help This gadget provides support for multi-configuration composite device. Functions can be specified via devicetree properties, along with PID and PID details which can also also be updated using kernel commandline using module parameters. if TTY config USB_CDC_COMPOSITE Loading
drivers/usb/gadget/legacy/Makefile +2 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ g_webcam-y := webcam.o g_ncm-y := ncm.o g_acm_ms-y := acm_ms.o g_tcm_usb_gadget-y := tcm_usb_gadget.o g_qti_gadget-y := qti_gadget.o obj-$(CONFIG_USB_ZERO) += g_zero.o obj-$(CONFIG_USB_AUDIO) += g_audio.o Loading @@ -44,3 +45,4 @@ obj-$(CONFIG_USB_G_NCM) += g_ncm.o obj-$(CONFIG_USB_G_ACM_MS) += g_acm_ms.o obj-$(CONFIG_USB_GADGET_TARGET) += tcm_usb_gadget.o obj-$(CONFIG_USB_RAW_GADGET) += raw_gadget.o obj-$(CONFIG_USB_G_QTI) += g_qti_gadget.o