From: Jiyoung Jeong Date: Mon, 8 Oct 2018 10:16:53 +0000 (+0900) Subject: drivers: modem_if: Get board revision using bootargs X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=3bcb2822d021a05596f7d2f2af2d934b26ae19e0;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git drivers: modem_if: Get board revision using bootargs In bootargs "revision=" Change-Id: Iba4f8d28e5d130e33d8aa1d7ea193ed5c59e3498 Signed-off-by: Jiyoung Jeong --- diff --git a/drivers/misc/modem_if/Kconfig b/drivers/misc/modem_if/Kconfig index 73e946bf7b30..d222382aba72 100644 --- a/drivers/misc/modem_if/Kconfig +++ b/drivers/misc/modem_if/Kconfig @@ -67,5 +67,9 @@ config UART_SWITCH bool "UART SWITCH Support" default n +config HW_REV_DETECT + bool "Support HW REV Detect" + default n + endmenu endif diff --git a/drivers/misc/modem_if/modem_modemctl_device_sh333ap.c b/drivers/misc/modem_if/modem_modemctl_device_sh333ap.c index 3107176ee292..6cd89508a7e7 100644 --- a/drivers/misc/modem_if/modem_modemctl_device_sh333ap.c +++ b/drivers/misc/modem_if/modem_modemctl_device_sh333ap.c @@ -236,6 +236,17 @@ static void pcie_l1ss_disable_handler(void *arg) } #endif +static int sys_rev; +#ifdef CONFIG_HW_REV_DETECT +static int __init hw_rev_setup(char *str) +{ + get_option(&str, &sys_rev); + mif_info("sys_rev:0x%x\n", sys_rev); + + return 0; +} +__setup("revision=", hw_rev_setup); +#else static int get_hw_rev(struct device_node *np) { int value, cnt, gpio_cnt; @@ -260,6 +271,7 @@ static int get_hw_rev(struct device_node *np) return hw_rev; } +#endif #ifdef CONFIG_SIM_DETECT static unsigned int get_sim_socket_detection(struct device_node *np) @@ -297,7 +309,7 @@ static int sh333ap_on(struct modem_ctl *mc) int ret; int i; unsigned long int flags; - int sys_rev, ds_det; + int ds_det; unsigned int mbx_ap_status; unsigned int sbi_ds_det_mask, sbi_ds_det_pos; unsigned int sbi_sys_rev_mask, sbi_sys_rev_pos; @@ -322,14 +334,16 @@ static int sh333ap_on(struct modem_ctl *mc) spin_lock_irqsave(&mc->ap_status_lock, flags); +#ifndef CONFIG_HW_REV_DETECT sys_rev = get_hw_rev(np); +#endif if (sys_rev >= 0) { mbox_update_value(MCU_CP, mbx_ap_status, sys_rev, sbi_sys_rev_mask, sbi_sys_rev_pos); } else { mif_err("get_hw_rev() ERROR\n"); } - mif_err("System Revision %d\n", sys_rev); + mif_err("System Revision 0x%x\n", sys_rev); if (mc->sim_slot_cnt > 0) { mif_err("System sim config: %d\n", mc->sim_slot_cnt);