//INTENT_TOGGLE toggle usb intentResult* intent_toggle(int argc, char *argv[]) { assert_ui_if_fail(argc == 1); assert_ui_if_fail(argv[0] != NULL); int intent_type = atoi(argv[0]); int result = 0; if (intent_type == 0) { umount_usb(); ensure_path_unmounted("/sdcard"); ensure_path_unmounted("/external_sd"); return miuiIntent_result_set(result, "ok"); } //wait for usb connected //while (is_usb_connected()) ; if (is_usb_connected()) { mount_usb(); return miuiIntent_result_set(result, "mounted"); } LOGE("USB not connect\n"); umount_usb(); ensure_path_unmounted("/sdcard"); ensure_path_unmounted("/external_sd"); return miuiIntent_result_set(result, "ok"); }
void usb_check_connect(void) { #ifndef CONFIG_MT6589_FPGA if (is_usb_connected()) mt_usb_connect(); #endif }
static int get_battery_status(struct power_supply *b) { int status; if (is_usb_connected()) status = POWER_SUPPLY_STATUS_CHARGING; else status = POWER_SUPPLY_STATUS_DISCHARGING; return status; }
static int udc_proc_read(char *page, char **start, off_t off, int count, int *eof, void *_dev) { char *buf = page; struct lh7a40x_udc *dev = _dev; char *next = buf; unsigned size = count; unsigned long flags; int t; if (off != 0) return 0; local_irq_save(flags); /* basic device status */ t = scnprintf(next, size, DRIVER_DESC "\n" "%s version: %s\n" "Gadget driver: %s\n" "Host: %s\n\n", driver_name, DRIVER_VERSION, dev->driver ? dev->driver->driver.name : "(none)", is_usb_connected()? "full speed" : "disconnected"); size -= t; next += t; t = scnprintf(next, size, "GPIO:\n" " Port C bit 1: %d, dir %d\n" " Port C bit 2: %d, dir %d\n\n", get_portc_pdr(1), get_portc_ddr(1), get_portc_pdr(2), get_portc_ddr(2) ); size -= t; next += t; t = scnprintf(next, size, "DCP pullup: %d\n\n", (usb_read(USB_PM) & PM_USB_DCP) != 0); size -= t; next += t; local_irq_restore(flags); *eof = 1; return count - size; }
int usb_ioctl(int request, void *ctl) { switch(request) { case I_USB_CLEAR: if (!rxfifo) { return 0; } rb_reset(rxfifo); return 1; case I_USB_CONNECTED: *((U8 *)ctl) = is_usb_connected(usb_attr); break; case I_USB_GETATTR: if (usb_attr) { *((usb_attr_t **)ctl) = usb_attr; } else { return 0; } break; case I_USB_SETATTR: if (ctl == NULL) { return 0; } usb_attr = (usb_attr_t *)ctl; return usb_configure(usb_attr); default: return 0; } return 1; }