static void board_gokey_early_suspend(struct early_suspend *h) { struct omap_hwmod *uart4_hwmod; struct omap_hwmod *mcbsp3_hwmod; /* correct uart4 hwmod flag settings for gokey board. */ uart4_hwmod = omap_hwmod_lookup("uart4"); if (likely(uart4_hwmod)) uart4_hwmod->flags = HWMOD_SWSUP_SIDLE; if (!cpufreq_lpmode.wifi_enabled && !cpufreq_lpmode.bt_enabled && is_playback_lpmode_available() && (gokey_get_charging_type() != USB_EVENT_VBUS)) { cpu_down(1); omap4_init_power_states(omap443x_gokey_mp3_lpmode_params_table); update_cpuidle_params(); cpufreq_lpmode.lp_mode_enabled = true; omap_cpufreq_max_limit(DVFS_LOCK_ID_PM, PM_LPMODE_DVFS_FREQ); } else cpufreq_lpmode.lp_mode_enabled = false; if (!is_playback_lpmode_available()) { /* correct mcbsp3 hwmod flag settings for gokey board. */ mcbsp3_hwmod = omap_hwmod_lookup("mcbsp3"); if (likely(mcbsp3_hwmod)) mcbsp3_hwmod->flags = HWMOD_SWSUP_SIDLE; } }
static int check_charger_type(void) { int cable_type = CABLE_TYPE_NONE; char *cable_type_str[] = {"NONE", "USB", "AC"}; cable_type = gokey_get_charging_type(); pr_info("%s: Charger type is [%s]\n", __func__, cable_type_str[cable_type]); return cable_type; }