在kernel-4.4\drivers\misc\mediatek\pmic\mt6357\v1\pmic_chr_type_det_v2.c
void do_charger_detect(void)
{
if (!mt_usb_is_device()) {//检测是否为OTG模式
g_chr_type = CHARGER_UNKNOWN;
pr_err("charger type: UNKNOWN, Now is usb host mode. Skip detection!!!\n");
return;
}
mutex_lock(&chrdet_lock);
if (pmic_get_register_value(PMIC_RGS_CHRDET)) {
pr_info("charger type: charger IN\n");
g_chr_type = hw_charging_get_charger_type();
chrdet_inform_psy_changed(g_chr_type, 1);//上报充电类型及状态
} else {
pr_info("charger type: charger OUT\n");
g_chr_type = CHARGER_UNKNOWN;
chrdet_inform_psy_changed(g_chr_type, 0);
}
mutex_unlock(&chrdet_lock);
}
2.kernel-4.4\drivers\misc\mediatek\usb20\mt6739\usb20.c
bool mt_usb_is_device(void)
{
DBG(4, "called\n");
if (!mtk_musb) {
DBG(0, "mtk_musb is NULL\n");
return false; /* don't do charger detecti