Loading drivers/virt/haven/hh_ctrl.c +28 −14 Original line number Diff line number Diff line Loading @@ -48,14 +48,27 @@ static bool qc_hyp_calls; static struct hh_hcall_hyp_identify_resp haven_api; static bool disable_uart; #if !defined(CONFIG_HH_DISABLE_UART) static int __init setup_nohyp_uart(char *arg) { disable_uart = true; return 0; } early_param("nohyp_uart", setup_nohyp_uart); #endif #if defined(CONFIG_HH_DISABLE_UART) static void hh_disable_uart(void) { if (qc_hyp_calls) #if defined(CONFIG_HH_DISABLE_UART) disable_uart = true; #endif if (disable_uart) { pr_info("Haven: disabling HYP UART\n"); arm_smccc_1_1_smc(QC_HYP_SMCCC_UART_DISABLE, NULL); } #endif } static ssize_t type_show(struct kobject *kobj, struct kobj_attribute *attr, char *buffer) Loading Loading @@ -190,10 +203,8 @@ static int __init hh_ctrl_init(void) (res.a2 == QC_HYP_UID2) && (res.a3 == QC_HYP_UID3)) qc_hyp_calls = true; #if defined(CONFIG_HH_DISABLE_UART) if (qc_hyp_calls) { hh_disable_uart(); #endif ret = hh_sysfs_register(); if (ret) return ret; Loading @@ -201,6 +212,9 @@ static int __init hh_ctrl_init(void) ret = hh_dbgfs_register(); if (ret) pr_warn("failed to register dbgfs: %d\n", ret); } else { pr_info("Haven: no QC HYP interface detected\n"); } return 0; } Loading Loading
drivers/virt/haven/hh_ctrl.c +28 −14 Original line number Diff line number Diff line Loading @@ -48,14 +48,27 @@ static bool qc_hyp_calls; static struct hh_hcall_hyp_identify_resp haven_api; static bool disable_uart; #if !defined(CONFIG_HH_DISABLE_UART) static int __init setup_nohyp_uart(char *arg) { disable_uart = true; return 0; } early_param("nohyp_uart", setup_nohyp_uart); #endif #if defined(CONFIG_HH_DISABLE_UART) static void hh_disable_uart(void) { if (qc_hyp_calls) #if defined(CONFIG_HH_DISABLE_UART) disable_uart = true; #endif if (disable_uart) { pr_info("Haven: disabling HYP UART\n"); arm_smccc_1_1_smc(QC_HYP_SMCCC_UART_DISABLE, NULL); } #endif } static ssize_t type_show(struct kobject *kobj, struct kobj_attribute *attr, char *buffer) Loading Loading @@ -190,10 +203,8 @@ static int __init hh_ctrl_init(void) (res.a2 == QC_HYP_UID2) && (res.a3 == QC_HYP_UID3)) qc_hyp_calls = true; #if defined(CONFIG_HH_DISABLE_UART) if (qc_hyp_calls) { hh_disable_uart(); #endif ret = hh_sysfs_register(); if (ret) return ret; Loading @@ -201,6 +212,9 @@ static int __init hh_ctrl_init(void) ret = hh_dbgfs_register(); if (ret) pr_warn("failed to register dbgfs: %d\n", ret); } else { pr_info("Haven: no QC HYP interface detected\n"); } return 0; } Loading