Initial commit from HTC m7ul-3.4.10-jb-crc-ddcfb8c
diff --git a/include/linux/usb/android_composite.h b/include/linux/usb/android_composite.h
new file mode 100644
index 0000000..b8c0a06
--- /dev/null
+++ b/include/linux/usb/android_composite.h
@@ -0,0 +1,112 @@
+/*
+ * Platform data for Android USB
+ *
+ * Copyright (C) 2008 Google, Inc.
+ * Author: Mike Lockwood <lockwood@android.com>
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+#ifndef __LINUX_USB_ANDROID_H
+#define __LINUX_USB_ANDROID_H
+
+#include <linux/usb/composite.h>
+#include <linux/if_ether.h>
+
+#if 0
+struct android_usb_function {
+ struct list_head list;
+ char *name;
+ int (*bind_config)(struct usb_configuration *c);
+};
+#endif
+struct android_usb_product {
+ __u16 vendor_id;
+
+
+ __u16 product_id;
+
+ int num_functions;
+ char **functions;
+};
+
+struct android_usb_platform_data {
+
+ __u16 vendor_id;
+
+
+ __u16 product_id;
+
+ __u16 version;
+
+ char *product_name;
+ char *manufacturer_name;
+ char *serial_number;
+
+ int num_products;
+ struct android_usb_product *products;
+
+ int num_functions;
+ char **functions;
+
+ void (*enable_fast_charge)(bool enable);
+ bool RndisDisableMPDecision;
+
+ int usb_id_pin_gpio;
+
+ int (*update_pid_and_serial_num)(uint32_t, const char *);
+
+ char *fserial_init_string;
+
+ char *usb_rmnet_interface;
+ char *usb_diag_interface;
+
+ unsigned char diag_init:1;
+ unsigned char modem_init:1;
+ unsigned char rmnet_init:1;
+ unsigned char reserved:5;
+
+
+
+
+ int nluns;
+ int cdrom_lun;
+ int cdrom_cttype;
+ u32 swfi_latency;
+ int (*match)(int product_id, int intrsharing);
+ u8 usb_core_id;
+ int adb_perf_lock_on;
+ int mtp_perf_lock_on;
+};
+
+struct usb_mass_storage_platform_data {
+
+ char *vendor;
+ char *product;
+ int release;
+
+ char can_stall;
+
+ int nluns;
+};
+
+struct usb_ether_platform_data {
+ u8 ethaddr[ETH_ALEN];
+ u32 vendorID;
+ const char *vendorDescr;
+};
+int htc_usb_enable_function(char *name, int ebl);
+#if 0
+extern void android_register_function(struct android_usb_function *f);
+
+extern int android_enable_function(struct usb_function *f, int enable);
+#endif
+
+#endif