1 /* 2 * Copyright 2012 Freescale Semiconductor, Inc. 3 * 4 * The code contained herein is licensed under the GNU General Public 5 * License. You may obtain a copy of the GNU General Public License 6 * Version 2 or later at the following locations: 7 * 8 * http://www.opensource.org/licenses/gpl-license.html 9 * http://www.gnu.org/copyleft/gpl.html 10 */ 11 12 /* Used to set SoC specific callbacks */ 13 struct usbmisc_ops { 14 /* It's called once when probe a usb device */ 15 int (*init)(struct device *dev); 16 /* It's called once after adding a usb device */ 17 int (*post)(struct device *dev); 18 }; 19 20 struct usbmisc_usb_device { 21 struct device *dev; /* usb controller device */ 22 int index; 23 24 unsigned int disable_oc:1; /* over current detect disabled */ 25 unsigned int evdo:1; /* set external vbus divider option */ 26 }; 27 28 int usbmisc_set_ops(const struct usbmisc_ops *ops); 29 void usbmisc_unset_ops(const struct usbmisc_ops *ops); 30 int 31 usbmisc_get_init_data(struct device *dev, struct usbmisc_usb_device *usbdev); 32