From 7e4c7b49f23c718b0af1eadd4e3ee910cba41baa Mon Sep 17 00:00:00 2001 From: Finley Xiao Date: Mon, 31 Oct 2016 15:58:01 +0800 Subject: [PATCH] nvmem: rockchip-efuse: Change initcall to subsys We will add a avs driver to adjust opp's voltage according to leakage. As it need register a notifier before cpufreq starts, and make cpufreq defer probe is probably not really easy, so avs should probe earlier than cpufreq, efuse should probe earlier than avs. Change-Id: I817aa44c3b34d2fdf44148e6b9649ceed76d8f1f Signed-off-by: Finley Xiao --- drivers/nvmem/rockchip-efuse.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/nvmem/rockchip-efuse.c b/drivers/nvmem/rockchip-efuse.c index 146de9489339..e976024d2542 100644 --- a/drivers/nvmem/rockchip-efuse.c +++ b/drivers/nvmem/rockchip-efuse.c @@ -256,7 +256,7 @@ static const struct of_device_id rockchip_efuse_match[] = { }; MODULE_DEVICE_TABLE(of, rockchip_efuse_match); -static int rockchip_efuse_probe(struct platform_device *pdev) +static int __init rockchip_efuse_probe(struct platform_device *pdev) { struct resource *res; struct nvmem_device *nvmem; @@ -297,13 +297,19 @@ static int rockchip_efuse_probe(struct platform_device *pdev) } static struct platform_driver rockchip_efuse_driver = { - .probe = rockchip_efuse_probe, .driver = { .name = "rockchip-efuse", .of_match_table = rockchip_efuse_match, }, }; -module_platform_driver(rockchip_efuse_driver); +static int __init rockchip_efuse_module_init(void) +{ + return platform_driver_probe(&rockchip_efuse_driver, + rockchip_efuse_probe); +} + +subsys_initcall(rockchip_efuse_module_init); + MODULE_DESCRIPTION("rockchip_efuse driver"); MODULE_LICENSE("GPL v2");