  #ifndef CONFIG_USBIF_COMPLIANCE
  	&ecm_function,
  	&eem_function,
-@@ -2059,6 +2104,8 @@
+@@ -2059,6 +2101,8 @@ functions_store(struct device *pdev, struct device_attribute *attr,
  							   name, err);
  	}
  

+	0xc0/* END_COLLECTION                         */
+	}
+};
diff -uN a/drivers/usb/gadget/f_hid_android_mouse.c b/drivers/usb/gadget/f_hid_android_mouse.c
--- a/drivers/usb/gadget/f_hid_android_mouse.c	1970-01-01 08:00:00.000000000 +0800
+++ b/drivers/usb/gadget/f_hid_android_mouse.c	2016-11-16 22:41:29.575559488 +0800
@@ -0,0 +1,40 @@
+#include <linux/platform_device.h>
+#include <linux/usb/g_hid.h>

+	.bind_config= hid_function_bind_config,
+};
+
+
 static struct android_usb_function *supported_functions[] = {
 	&ffs_function,
