diff --git a/oplus/kernel/system/qcom_pmicwd/qcom_pmicwd.c b/oplus/kernel/system/qcom_pmicwd/qcom_pmicwd.c index 83c0ba3d8898..76d4ff92165e 100644 --- a/oplus/kernel/system/qcom_pmicwd/qcom_pmicwd.c +++ b/oplus/kernel/system/qcom_pmicwd/qcom_pmicwd.c @@ -473,13 +473,6 @@ void pmicwd_init(struct platform_device *pdev, struct qpnp_pon *pon, bool sys_re u32 pon_rt_sts = 0; int rc; - oplus_ke_proc_dir = proc_mkdir("oplus_ke", NULL); - if (oplus_ke_proc_dir == NULL) { - pr_info("oplus_ke proc_mkdir failed\n"); - } - - OPLUS_KE_PROC_ENTRY(force_shutdown, force_shutdown, 0600); - if (!pon){ return; } @@ -651,4 +644,16 @@ const struct dev_pm_ops qpnp_pm_ops = { }; EXPORT_SYMBOL(qpnp_pm_ops); +static __init int pmicwd_init_once(void) +{ + oplus_ke_proc_dir = proc_mkdir("oplus_ke", NULL); + if (oplus_ke_proc_dir == NULL) { + pr_info("oplus_ke proc_mkdir failed\n"); + } + OPLUS_KE_PROC_ENTRY(force_shutdown, force_shutdown, 0600); + + return 0; +} + +module_init(pmicwd_init_once); MODULE_LICENSE("GPL v2");