Quote:
Originally Posted by knc1
Hard coding the result of the kernel's USB hardware enumeration process is not the answer.
It is a dynamic process for very good reasons.
|
hmm...you're right set it to 1 might mess up the gadget mode since it should be 0 then.
It's only used in otg_enum_fn() and we got "otg_enum_fn not enumerated, catcha!" message when OTG cable is plugged in without usb audio card.
Spoiler:
Code:
static void otg_enum_fn(struct work_struct *work)
{
int reset_delay = (usbmode_is_host == 0 ? 0 : RESET_DELAY);
#ifdef CONFIG_POWER_SODA
if(!audio_enumerated && soda_charger_docked() && max77696_uic_is_otg_connected() ) {
printk(KERN_ERR "with soda: %s not enumerated, catcha!", __func__);
asession_enable__(false);
soda_otg_vbus_output(0, 0);
msleep(reset_delay);
soda_otg_vbus_output(1, 0);
asession_enable__(true);
max77696_charger_set_icl();
}else {
//printk(KERN_ERR "okay, either otg is not connected, or connected and enumerated successfully. ");
printk(KERN_ERR "is_otg_connected() %d audio_enumerated %d, soda_charger_docked %d", max77696_uic_is_otg_connected(), audio_enumerated, soda_charger_docked());
}
#else
if(!audio_enumerated && max77696_uic_is_otg_connected() ) {
printk(KERN_ERR " %s not enumerated, catcha!", __func__);
asession_enable__(false);
max77696_charger_set_otg(0);
msleep(reset_delay);
max77696_charger_set_otg(1);
asession_enable__(true);
/* Turn OFF amber led - manual mode */
max77696_led_ctrl(MAX77696_LED_AMBER, MAX77696_LED_OFF);
/* Turn OFF green led - manual mode */
max77696_led_ctrl(MAX77696_LED_GREEN, MAX77696_LED_OFF);
}else {
//printk(KERN_ERR "okay, either otg is not connected, or connected and enumerated successfully. ");
printk(KERN_ERR "is_otg_connected() %d audio_enumerated %d", max77696_uic_is_otg_connected(), audio_enumerated);
}
#endif
}