static ssize_t max14577_muic_set_uart_sel(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { struct max14577_muic_data *muic_data = dev_get_drvdata(dev); struct muic_platform_data *pdata = muic_data->pdata; if (!strncasecmp(buf, "AP", 2)) { pdata->uart_path = MUIC_PATH_UART_AP; switch_to_ap_uart(muic_data); } else if (!strncasecmp(buf, "CP", 2)) { pdata->uart_path = MUIC_PATH_UART_CP; switch_to_cp_uart(muic_data); } else { pr_warn("%s:%s invalid value\n", MUIC_DEV_NAME, __func__); } pr_info("%s:%s uart_path(%d)\n", MUIC_DEV_NAME, __func__, pdata->uart_path); return count; }
static int attach_jig_uart_boot_off(struct tsu6721_muic_data *muic_data, u8 vbvolt) { struct muic_platform_data *pdata = muic_data->pdata; muic_attached_dev_t new_dev; int ret = 0; pr_info("%s:%s JIG UART BOOT-OFF(0x%x)\n", MUIC_DEV_NAME, __func__, vbvolt); if (pdata->uart_path == MUIC_PATH_UART_AP) ret = switch_to_ap_uart(muic_data); else ret = switch_to_cp_uart(muic_data); if (vbvolt) new_dev = ATTACHED_DEV_JIG_UART_OFF_VB_MUIC; else new_dev = ATTACHED_DEV_JIG_UART_OFF_MUIC; ret = attach_charger(muic_data, new_dev); return ret; }