static int get_factory_cable(void) { struct chg_cable_info info; int res; /* get cable infomation */ res = lge_pm_get_cable_info(&info); if (res < 0) { pr_err("Error get cable information from PMIC %d\n", res); return 0; } switch(info.cable_type) { /* It is factory cable */ case CABLE_56K: res = LGEUSB_FACTORY_56K; break; case CABLE_130K: res = LGEUSB_FACTORY_130K; break; case CABLE_910K: res = LGEUSB_FACTORY_910K; break; /* It is normal cable */ default: res = 0; break; } return res; }
/* This must be invoked in process context */ void lge_pm_read_cable_info(struct qpnp_vadc_chip *vadc) { lge_cable_info.cable_type = NO_INIT_CABLE; lge_cable_info.ta_ma = C_NO_INIT_TA_MA; lge_cable_info.usb_ma = C_NO_INIT_USB_MA; lge_pm_get_cable_info(vadc, &lge_cable_info); }
/* This must be invoked in process context */ void lge_pm_read_cable_info(void) { lge_cable_info.cable_type = NO_INIT_CABLE; lge_cable_info.ta_ma = C_NO_INIT_TA_MA; lge_cable_info.usb_ma = C_NO_INIT_USB_MA; lge_pm_get_cable_info(&lge_cable_info); }
static int get_factory_cable(void) { struct chg_cable_info info; enum lge_boot_mode_type boot_mode; int res; /* get cable infomation */ res = lge_pm_get_cable_info(&info); if (res < 0) { pr_err("Error get cable information from PMIC %d\n", res); return 0; } switch(info.cable_type) { /* It is factory cable */ case CABLE_56K: res = LGEUSB_FACTORY_56K; break; case CABLE_130K: res = LGEUSB_FACTORY_130K; break; case CABLE_910K: res = LGEUSB_FACTORY_910K; break; /* It is normal cable */ default: res = 0; break; } /* if boot mode is factory, * cable must be factory cable. */ boot_mode = lge_get_boot_mode(); switch(boot_mode) { case LGE_BOOT_MODE_FACTORY: res = LGEUSB_FACTORY_130K; break; case LGE_BOOT_MODE_FACTORY2: case LGE_BOOT_MODE_PIFBOOT: res = LGEUSB_FACTORY_56K; break; default: break; } return res; }