init: completely remove Early init services support

- we don't have a car with this kernel

Revert "init: use unbound instead of highpriority wq in early init"
Revert "Early Services: init: fs:  synchronize Early Services with init"
Revert "init: support early init on SA8195"
Revert "init: support early userspace"
Revert "init: move more subsystems into early init framework"
Revert "init: define early init functions for rootfs mounting"
Revert "init: add new early param and define early initcall macros"
Revert "init: define early init functions needed by all subsystems"
Revert "init: define early init functions for display subsystem"
Revert "init: define early init functions for display subsystem"
Revert "init: define early init functions for camera subsystem"
Revert "msm: ais: define early init for camera"

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
This commit is contained in:
UtsavBalar1231
2020-07-30 11:27:59 +05:30
parent 0e7db2fb00
commit 503cd25d37
137 changed files with 207 additions and 943 deletions

View File

@@ -5067,9 +5067,4 @@
eipv6= [KNL] Sets ipv6 address at boot up for early ethernet.
ermac= [KNL] Sets mac address at boot up for early ethernet.
early_userspace [KNL]
Enable early userspace feature where we adjust the
normal booting sequence and get rootfs mounted and
other subsystems ready much earlier.
ermac= [KNL] Sets mac address at boot up for early ethernet.

View File

@@ -1,35 +0,0 @@
* early-devices
Some initcall stage takes long time to finish and it's better we launch some
of our userspace applications earlier before these initcalls. This way, the
userspace applications we care after system booting can start to work earlier
and provide better user experience.
To achieve this, we need to populate and probe some platform devices earlier
(thus its name early-devices) since these devices are commonly needed by all
other subsystems. Usually this list of devices includes clock, regulator,
bus components, iommu, crypto device, etc. and it's soc related(depends on
how these devices are connected in hardware in specific soc).
Required properties:
- compatible:
Usage: required for early-devices
Value type: <stringlist>
Definition: must be "qcom,early-devices"
- devices:
Usage: required
Value type: <phandle array>
Definition: nodes handle for early devices.
Example:
early-devices {
compatible = "qcom,early-devices";
devices = <&ufs_phy_gdsc &clock_rpmh &clock_gcc
&ad_hoc_bus &ufs_ice &ufsphy_mem
&ufshc_mem &apps_rsc &cmd_db
&ldoa10 &ldoc5 &ldoc8
&smpa4 &tlmm &ldoa5
&cxlvl &mxlvl &bps_gdsc
&ipe_0_gdsc &ipe_1_gdsc &ife_0_gdsc
&ife_1_gdsc &titan_top_gdsc &mvsc_gdsc
&mvs0_gdsc &mvs1_gdsc>;
};

View File

@@ -219,7 +219,6 @@ SECTIONS
INIT_DATA
INIT_SETUP(16)
INIT_CALLS
EARLY_INIT_CALLS
CON_INITCALL
SECURITY_INITCALL
INIT_RAM_FS

View File

@@ -44,7 +44,7 @@
};
/* PM8195_1 S2 = VDDCX_MM supply */
mmcxlvl: rpmh-regulator-mmcxlvl {
rpmh-regulator-mmcxlvl {
compatible = "qcom,rpmh-arc-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "mmcx.lvl";
@@ -145,7 +145,7 @@
};
/* PM8195_1 S10 = VDD_MX supply */
mxlvl: rpmh-regulator-mxlvl {
rpmh-regulator-mxlvl {
compatible = "qcom,rpmh-arc-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "mx.lvl";
@@ -213,7 +213,7 @@
};
};
ldoa5: rpmh-regulator-ldoa5 {
rpmh-regulator-ldoa5 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoa5";
@@ -252,7 +252,7 @@
};
};
ldoa10: rpmh-regulator-ldoa10 {
rpmh-regulator-ldoa10 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoa10";
@@ -459,7 +459,7 @@
};
/* PM8195_2 S10 + S9 + S8 + S7 + S6 = VDD_GFX supply */
gfxlvl: rpmh-regulator-gfxlvl {
rpmh-regulator-gfxlvl {
compatible = "qcom,rpmh-arc-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "gfx.lvl";
@@ -495,7 +495,7 @@
};
};
ldoc5: rpmh-regulator-ldoc5 {
rpmh-regulator-ldoc5 {
compatible = "qcom,rpmh-vrm-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "ldoc5";
@@ -592,7 +592,7 @@
/* PM8195_3 S3 + S2 + S1 = VDD_CX supply */
cxlvl: rpmh-regulator-cxlvl {
rpmh-regulator-cxlvl {
compatible = "qcom,rpmh-arc-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "cx.lvl";
@@ -708,7 +708,7 @@
};
/* pm8195_3 L8 - LPI_CX supply */
lcxlvl: rpmh-regulator-lcxlvl {
rpmh-regulator-lcxlvl {
compatible = "qcom,rpmh-arc-regulator";
mboxes = <&apps_rsc 0>;
qcom,resource-name = "lcx.lvl";

View File

@@ -774,28 +774,3 @@
};
};
};
&early_devices {
devices = <&qmp_aop &ufs_phy_gdsc &clock_rpmh &clock_gcc &ad_hoc_bus
&ufs_ice &ufsphy_mem &ufshc_mem &apps_rsc &cmd_db &ldoa10 &ldoc5
&tlmm &ldoa5 &mxlvl &cxlvl &gfxlvl &bps_gdsc &ipe_0_gdsc
&ipe_1_gdsc &ife_0_gdsc &ife_1_gdsc &titan_top_gdsc &mvsc_gdsc
&mvs0_gdsc &mvs1_gdsc &qupv3_se4_i2c &qupv3_se10_i2c
&qupv3_se15_i2c &qupv3_se20_i2c &qupv3_2 &qupv3_1 &qupv3_0
&qupv3_3 &clock_cpucc &clock_camcc &clock_aop &clock_dispcc
&clock_gpucc &clock_scc &clock_videocc &gmu &gfx_2_tbu
&apps_smmu &kgsl_smmu &anoc_1_tbu &anoc_2_tbu &mnoc_hf_1_tbu
&compute_dsp_0_tbu &mnoc_hf_0_tbu &compute_dsp_1_tbu &adsp_tbu
&mnoc_sf_0_tbu &gfx_0_tbu &gfx_1_tbu &emac_gdsc &anoc_pcie
&pcie_0_gdsc &pcie_1_gdsc &ufs_card_gdsc &usb30_prim_gdsc
&usb30_sec_gdsc &hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc
&hlos1_vote_aggre_noc_mmu_tbu1_gdsc &tcsr_mutex &smem
&hlos1_vote_aggre_noc_mmu_tbu2_gdsc &pcie_2_gdsc &pcie_3_gdsc
&hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc &ufs_card_2_gdsc
&hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc &usb30_mp_gdsc &ife_2_gdsc
&hlos1_vote_mmnoc_mmu_tbu_sf_gdsc &ife_3_gdsc &gfx_3_tbu
&hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc &mmcxlvl &lcxlvl
&hlos1_vote_turing_mmu_tbu0_gdsc
&hlos1_vote_turing_mmu_tbu1_gdsc
&mdss_core_gdsc &gpu_cx_gdsc &gpu_gx_gdsc &npu_core_gdsc>;
};

View File

@@ -735,12 +735,6 @@
};
&soc {
early_devices: early-devices {
compatible = "qcom,early-devices";
};
};
#include "sdmshrike-gdsc.dtsi"
#include "sdmshrike-sde-pll.dtsi"
#include "sdmshrike-sde.dtsi"

View File

@@ -153,6 +153,5 @@ static void __exit sha2_ce_mod_fini(void)
crypto_unregister_shashes(algs, ARRAY_SIZE(algs));
}
early_module_cpu_feature_match(SHA2, sha2_ce_mod_init, EARLY_SUBSYS_1,
EARLY_INIT_LEVEL4);
module_cpu_feature_match(SHA2, sha2_ce_mod_init);
module_exit(sha2_ce_mod_fini);

View File

@@ -174,7 +174,6 @@ SECTIONS
INIT_DATA
INIT_SETUP(16)
INIT_CALLS
EARLY_INIT_CALLS
CON_INITCALL
SECURITY_INITCALL
INIT_RAM_FS

View File

@@ -49,10 +49,6 @@
INIT_CALLS
}
.early_initcall.init : {
EARLY_INIT_CALLS
}
.con_initcall.init : {
CON_INITCALL
}

View File

@@ -2222,4 +2222,4 @@ static int __init init_bio(void)
return 0;
}
early_subsys_initcall(init_bio, EARLY_SUBSYS_PLATFORM, EARLY_INIT_LEVEL8);
subsys_initcall(init_bio);

View File

@@ -445,4 +445,4 @@ static int __init blk_ioc_init(void)
sizeof(struct io_context), 0, SLAB_PANIC, NULL);
return 0;
}
early_subsys_initcall(blk_ioc_init, EARLY_SUBSYS_PLATFORM, EARLY_INIT_LEVEL8);
subsys_initcall(blk_ioc_init);

View File

@@ -915,5 +915,4 @@ static int __init blk_settings_init(void)
blk_max_pfn = max_pfn - 1;
return 0;
}
early_subsys_initcall(blk_settings_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL8);
subsys_initcall(blk_settings_init);

View File

@@ -178,5 +178,4 @@ static __init int blk_softirq_init(void)
blk_softirq_cpu_dead);
return 0;
}
early_subsys_initcall(blk_softirq_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL8);
subsys_initcall(blk_softirq_init);

View File

@@ -1089,4 +1089,4 @@ MODULE_AUTHOR("Jens Axboe");
MODULE_DESCRIPTION(BSG_DESCRIPTION);
MODULE_LICENSE("GPL");
early_device_initcall(bsg_init, EARLY_SUBSYS_PLATFORM, EARLY_INIT_LEVEL8);
device_initcall(bsg_init);

View File

@@ -4980,7 +4980,7 @@ static void __exit cfq_exit(void)
kmem_cache_destroy(cfq_pool);
}
early_module_init(cfq_init, EARLY_SUBSYS_PLATFORM, EARLY_INIT_LEVEL8);
module_init(cfq_init);
module_exit(cfq_exit);
MODULE_AUTHOR("Jens Axboe");

View File

@@ -1016,8 +1016,7 @@ static int __init genhd_device_init(void)
return 0;
}
early_subsys_initcall(genhd_device_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL8);
subsys_initcall(genhd_device_init);
static ssize_t disk_range_show(struct device *dev,
struct device_attribute *attr, char *buf)

View File

@@ -165,7 +165,7 @@ static void __exit crc32c_mod_fini(void)
crypto_unregister_shash(&alg);
}
early_module_init(crc32c_mod_init, EARLY_SUBSYS_1, EARLY_INIT_LEVEL4);
module_init(crc32c_mod_init);
module_exit(crc32c_mod_fini);
MODULE_AUTHOR("Clay Haapala <chaapala@cisco.com>");

View File

@@ -261,7 +261,6 @@ arch_initcall_sync(deferred_probe_initcall);
subsys_initcall_sync(deferred_probe_initcall);
fs_initcall_sync(deferred_probe_initcall);
device_initcall_sync(deferred_probe_initcall);
early_init(deferred_probe_initcall, EARLY_SUBSYS_PLATFORM, EARLY_INIT_LEVEL6);
static int deferred_probe_enable_fn(void)
{
@@ -847,15 +846,13 @@ static int __driver_attach(struct device *dev, void *data)
return ret;
} /* ret > 0 means positive match */
if (!(is_early_userspace && (dev->bus == &platform_bus_type))
&& lock_parent(dev)) /* Needed for USB */
if (lock_parent(dev)) /* Needed for USB */
device_lock(dev->parent);
device_lock(dev);
if (!dev->driver)
driver_probe_device(drv, dev);
device_unlock(dev);
if (!(is_early_userspace && (dev->bus == &platform_bus_type))
&& lock_parent(dev))
if (lock_parent(dev))
device_unlock(dev->parent);
return 0;

View File

@@ -1852,6 +1852,5 @@ static void __exit firmware_class_exit(void)
#endif
}
early_fs_initcall(firmware_class_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL8);
fs_initcall(firmware_class_init);
module_exit(firmware_class_exit);

View File

@@ -959,4 +959,4 @@ static int __init chr_dev_init(void)
return tty_init();
}
early_fs_initcall(chr_dev_init, EARLY_SUBSYS_PLATFORM, EARLY_INIT_LEVEL8);
fs_initcall(chr_dev_init);

View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2010-2011 Canonical Ltd <jeremy.kerr@canonical.com>
* Copyright (C) 2011-2012 Linaro Ltd <mturquette@linaro.org>
* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
@@ -27,7 +27,6 @@
#include <linux/of_platform.h>
#include <linux/pm_opp.h>
#include <linux/regulator/consumer.h>
#include <linux/completion.h>
#include "clk.h"
@@ -3460,22 +3459,6 @@ void clock_debug_print_enabled(bool print_parent)
}
EXPORT_SYMBOL_GPL(clock_debug_print_enabled);
static DECLARE_COMPLETION(clk_debug_init_start);
static int __init clk_debug_init_sync_start(void)
{
complete(&clk_debug_init_start);
return 0;
}
late_initcall(clk_debug_init_sync_start);
static int __init clk_debug_init_wait_start(void)
{
wait_for_completion(&clk_debug_init_start);
return 0;
}
early_init(clk_debug_init_wait_start, EARLY_SUBSYS_6, EARLY_INIT_LEVEL3);
/**
* clk_debug_init - lazily populate the debugfs clk directory
*
@@ -3539,32 +3522,7 @@ static int __init clk_debug_init(void)
return 0;
}
early_late_initcall(clk_debug_init, EARLY_SUBSYS_6, EARLY_INIT_LEVEL3);
static DECLARE_COMPLETION(clk_debug_init_end);
static bool is_clk_debug_sync;
static int __init clk_debug_init_sync_end(void)
{
complete(&clk_debug_init_end);
return 0;
}
early_init(clk_debug_init_sync_end, EARLY_SUBSYS_6, EARLY_INIT_LEVEL3);
static int __init clk_debug_sync(char *p)
{
is_clk_debug_sync = true;
return 0;
}
early_param("clk_debug_sync", clk_debug_sync);
static int __init clk_debug_init_wait_end(void)
{
if (is_early_userspace && is_clk_debug_sync)
wait_for_completion(&clk_debug_init_end);
return 0;
}
late_initcall(clk_debug_init_wait_end);
late_initcall(clk_debug_init);
#else
static inline int clk_debug_register(struct clk_core *core) { return 0; }
static inline void clk_debug_reparent(struct clk_core *core,

View File

@@ -3252,8 +3252,7 @@ static int __init cam_cc_sdmshrike_init(void)
{
return platform_driver_register(&cam_cc_sdmshrike_driver);
}
early_subsys_initcall(cam_cc_sdmshrike_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL5);
subsys_initcall(cam_cc_sdmshrike_init);
static void __exit cam_cc_sdmshrike_exit(void)
{

View File

@@ -2578,8 +2578,7 @@ static int __init cam_cc_sm8150_init(void)
{
return platform_driver_register(&cam_cc_sm8150_driver);
}
early_subsys_initcall(cam_cc_sm8150_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL5);
subsys_initcall(cam_cc_sm8150_init);
static void __exit cam_cc_sm8150_exit(void)
{

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -351,5 +351,4 @@ static int __init aop_qmp_clk_init(void)
{
return platform_driver_register(&aop_qmp_clk_driver);
}
early_subsys_initcall(aop_qmp_clk_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL5);
subsys_initcall(aop_qmp_clk_init);

View File

@@ -1299,8 +1299,7 @@ static int __init clk_cpu_osm_init(void)
{
return platform_driver_register(&clk_cpu_osm_driver);
}
early_subsys_initcall(clk_cpu_osm_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL5);
subsys_initcall(clk_cpu_osm_init);
static void __exit clk_cpu_osm_exit(void)
{

View File

@@ -673,7 +673,7 @@ static int __init clk_rpmh_init(void)
{
return platform_driver_register(&clk_rpmh_driver);
}
early_subsys_initcall(clk_rpmh_init, EARLY_SUBSYS_PLATFORM, EARLY_INIT_LEVEL0);
subsys_initcall(clk_rpmh_init);
static void __exit clk_rpmh_exit(void)
{

View File

@@ -1793,8 +1793,7 @@ static int __init disp_cc_sm8150_init(void)
{
return platform_driver_register(&disp_cc_sm8150_driver);
}
early_subsys_initcall(disp_cc_sm8150_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL5);
subsys_initcall(disp_cc_sm8150_init);
static void __exit disp_cc_sm8150_exit(void)
{

View File

@@ -5275,8 +5275,7 @@ static int __init gcc_sdmshrike_init(void)
{
return platform_driver_register(&gcc_sdmshrike_driver);
}
early_subsys_initcall(gcc_sdmshrike_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL0);
subsys_initcall(gcc_sdmshrike_init);
static void __exit gcc_sdmshrike_exit(void)
{

View File

@@ -4355,8 +4355,7 @@ static int __init gcc_sm8150_init(void)
{
return platform_driver_register(&gcc_sm8150_driver);
}
early_subsys_initcall(gcc_sm8150_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL0);
subsys_initcall(gcc_sm8150_init);
static void __exit gcc_sm8150_exit(void)
{

View File

@@ -1072,7 +1072,7 @@ static int __init gdsc_init(void)
{
return platform_driver_register(&gdsc_driver);
}
early_subsys_initcall(gdsc_init, EARLY_SUBSYS_PLATFORM, EARLY_INIT_LEVEL0);
subsys_initcall(gdsc_init);
static void __exit gdsc_exit(void)
{

View File

@@ -541,8 +541,7 @@ static int __init gpu_cc_sm8150_init(void)
{
return platform_driver_register(&gpu_cc_sm8150_driver);
}
early_subsys_initcall(gpu_cc_sm8150_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL5);
subsys_initcall(gpu_cc_sm8150_init);
static void __exit gpu_cc_sm8150_exit(void)
{

View File

@@ -426,7 +426,7 @@ static int __init mdss_pll_driver_init(void)
return rc;
}
early_fs_initcall(mdss_pll_driver_init, EARLY_SUBSYS_2, EARLY_INIT_LEVEL2);
fs_initcall(mdss_pll_driver_init);
static void __exit mdss_pll_driver_deinit(void)
{

View File

@@ -822,8 +822,7 @@ static int __init npu_cc_sm8150_init(void)
{
return platform_driver_register(&npu_cc_sm8150_driver);
}
early_subsys_initcall(npu_cc_sm8150_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL5);
subsys_initcall(npu_cc_sm8150_init);
static void __exit npu_cc_sm8150_exit(void)
{

View File

@@ -732,8 +732,7 @@ static int __init scc_sm8150_init(void)
{
return platform_driver_register(&scc_sm8150_driver);
}
early_subsys_initcall(scc_sm8150_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL5);
subsys_initcall(scc_sm8150_init);
static void __exit scc_sm8150_exit(void)
{

View File

@@ -443,8 +443,7 @@ static int __init video_cc_sm8150_init(void)
{
return platform_driver_register(&video_cc_sm8150_driver);
}
early_subsys_initcall(video_cc_sm8150_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL5);
subsys_initcall(video_cc_sm8150_init);
static void __exit video_cc_sm8150_exit(void)
{

View File

@@ -1835,8 +1835,7 @@ static struct platform_driver qcom_ice_driver = {
.probe_type = PROBE_FORCE_SYNCHRONOUS,
},
};
early_module_platform_driver(qcom_ice_driver, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL8);
module_platform_driver(qcom_ice_driver);
MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("QTI Inline Crypto Engine driver");

View File

@@ -1322,7 +1322,7 @@ static int __init devfreq_init(void)
return 0;
}
early_subsys_initcall(devfreq_init, EARLY_SUBSYS_PLATFORM, EARLY_INIT_LEVEL7);
subsys_initcall(devfreq_init);
/*
* The following are helper functions for devfreq user device drivers with

View File

@@ -295,7 +295,6 @@ static struct platform_driver devbw_driver = {
},
};
early_module_platform_driver(devbw_driver, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL7);
module_platform_driver(devbw_driver);
MODULE_DESCRIPTION("Device DDR bandwidth voting driver MSM SoCs");
MODULE_LICENSE("GPL v2");

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014-2017, 2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -122,8 +122,7 @@ static int __init devfreq_vbif_init(void)
{
return devfreq_add_governor(&devfreq_vbif);
}
early_subsys_initcall(devfreq_vbif_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL7);
subsys_initcall(devfreq_vbif_init);
static void __exit devfreq_vbif_exit(void)
{

View File

@@ -257,8 +257,7 @@ static int __init devfreq_gpubw_init(void)
{
return devfreq_add_governor(&devfreq_gpubw);
}
early_subsys_initcall(devfreq_gpubw_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL7);
subsys_initcall(devfreq_gpubw_init);
static void __exit devfreq_gpubw_exit(void)
{

View File

@@ -565,8 +565,7 @@ static int __init msm_adreno_tz_init(void)
{
return devfreq_add_governor(&msm_adreno_tz);
}
early_subsys_initcall(msm_adreno_tz_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL7);
subsys_initcall(msm_adreno_tz_init);
static void __exit msm_adreno_tz_exit(void)
{

View File

@@ -51,8 +51,7 @@ static int __init devfreq_performance_init(void)
{
return devfreq_add_governor(&devfreq_performance);
}
early_subsys_initcall(devfreq_performance_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL7);
subsys_initcall(devfreq_performance_init);
static void __exit devfreq_performance_exit(void)
{

View File

@@ -48,8 +48,7 @@ static int __init devfreq_powersave_init(void)
{
return devfreq_add_governor(&devfreq_powersave);
}
early_subsys_initcall(devfreq_powersave_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL7);
subsys_initcall(devfreq_powersave_init);
static void __exit devfreq_powersave_exit(void)
{

View File

@@ -148,8 +148,7 @@ static int __init devfreq_simple_ondemand_init(void)
{
return devfreq_add_governor(&devfreq_simple_ondemand);
}
early_subsys_initcall(devfreq_simple_ondemand_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL7);
subsys_initcall(devfreq_simple_ondemand_init);
static void __exit devfreq_simple_ondemand_exit(void)
{

View File

@@ -1595,7 +1595,6 @@ static struct i2c_driver anx7625_driver = {
.id_table = anx7625_id,
};
early_module_i2c_driver(anx7625_driver, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL3);
module_i2c_driver(anx7625_driver);
MODULE_DESCRIPTION("anx7625 driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1004,5 +1004,5 @@ error:
return ret;
}
early_module_init(drm_core_init, EARLY_SUBSYS_2, EARLY_INIT_LEVEL4);
module_init(drm_core_init);
module_exit(drm_core_exit);

View File

@@ -4115,7 +4115,7 @@ static void __exit kgsl_3d_exit(void)
platform_driver_unregister(&kgsl_bus_platform_driver);
}
early_module_init(kgsl_3d_init, EARLY_SUBSYS_2, EARLY_INIT_LEVEL4);
module_init(kgsl_3d_init);
module_exit(kgsl_3d_exit);
MODULE_DESCRIPTION("3D Graphics driver");

View File

@@ -5212,7 +5212,7 @@ err:
return result;
}
early_module_init(kgsl_core_init, EARLY_SUBSYS_2, EARLY_INIT_LEVEL4);
module_init(kgsl_core_init);
module_exit(kgsl_core_exit);
MODULE_DESCRIPTION("MSM GPU driver");

View File

@@ -28,7 +28,6 @@
#include <linux/ipc_logging.h>
#include <linux/dmaengine.h>
#include <linux/msm_gpi.h>
#include <linux/early_async.h>
#include <soc/qcom/boot_stats.h>
#define SE_I2C_TX_TRANS_LEN (0x26C)
@@ -1119,10 +1118,7 @@ static struct platform_driver geni_i2c_driver = {
},
};
early_module_platform_driver_async(geni_i2c_driver, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL4);
early_init(_geni_i2c_driver_init_sync, EARLY_SUBSYS_2, EARLY_INIT_LEVEL0);
module_platform_driver(geni_i2c_driver);
MODULE_LICENSE("GPL v2");
MODULE_ALIAS("platform:i2c_geni");

View File

@@ -472,8 +472,7 @@ static struct i2c_driver pca954x_driver = {
.id_table = pca954x_id,
};
early_module_i2c_driver(pca954x_driver, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL3);
module_i2c_driver(pca954x_driver);
MODULE_AUTHOR("Rodolfo Giometti <giometti@linux.it>");
MODULE_DESCRIPTION("PCA954x I2C mux/switch driver");

View File

@@ -106,7 +106,7 @@ static struct i2c_driver st_asm330lhh_driver = {
.probe = st_asm330lhh_i2c_probe,
.id_table = st_asm330lhh_i2c_id_table,
};
early_module_i2c_driver(st_asm330lhh_driver, EARLY_SUBSYS_6, EARLY_INIT_LEVEL2);
module_i2c_driver(st_asm330lhh_driver);
MODULE_AUTHOR("Lorenzo Bianconi <lorenzo.bianconi@st.com>");
MODULE_DESCRIPTION("STMicroelectronics st_asm330lhh i2c driver");

View File

@@ -5414,7 +5414,7 @@ static void __exit arm_smmu_exit(void)
return platform_driver_unregister(&arm_smmu_driver);
}
early_subsys_initcall(arm_smmu_init, EARLY_SUBSYS_PLATFORM, EARLY_INIT_LEVEL2);
subsys_initcall(arm_smmu_init);
module_exit(arm_smmu_exit);
static int __init arm_smmu_of_init(struct device_node *np)

View File

@@ -2033,7 +2033,7 @@ static void __exit dm_bufio_exit(void)
BUG_ON(bug);
}
early_module_init(dm_bufio_init, EARLY_SUBSYS_1, EARLY_INIT_LEVEL4);
module_init(dm_bufio_init)
module_exit(dm_bufio_exit)
module_param_named(max_cache_size_bytes, dm_bufio_cache_size, ulong, S_IRUGO | S_IWUSR);

View File

@@ -1262,7 +1262,7 @@ static void __exit dm_verity_exit(void)
dm_unregister_target(&verity_target);
}
early_module_init(dm_verity_init, EARLY_SUBSYS_1, EARLY_INIT_LEVEL4);
module_init(dm_verity_init);
module_exit(dm_verity_exit);
MODULE_AUTHOR("Mikulas Patocka <mpatocka@redhat.com>");

View File

@@ -3013,7 +3013,7 @@ static const struct dax_operations dm_dax_ops = {
/*
* module hooks
*/
early_module_init(dm_init, EARLY_SUBSYS_1, EARLY_INIT_LEVEL4);
module_init(dm_init);
module_exit(dm_exit);
module_param(major, uint, 0);

View File

@@ -326,7 +326,7 @@ static void __exit media_devnode_exit(void)
unregister_chrdev_region(media_dev_t, MEDIA_NUM_DEVICES);
}
early_subsys_initcall(media_devnode_init, EARLY_SUBSYS_3, EARLY_INIT_LEVEL1);
subsys_initcall(media_devnode_init);
module_exit(media_devnode_exit)
MODULE_AUTHOR("Laurent Pinchart <laurent.pinchart@ideasonboard.com>");

View File

@@ -693,7 +693,7 @@ static void __exit ais_ife_dev_exit_module(void)
platform_driver_unregister(&ife_driver);
}
early_module_init(ais_ife_dev_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(ais_ife_dev_init_module);
module_exit(ais_ife_dev_exit_module);
MODULE_DESCRIPTION("AIS IFE driver");
MODULE_LICENSE("GPL v2");

View File

@@ -76,8 +76,7 @@ static void __exit ais_ife_csid17x_exit_module(void)
platform_driver_unregister(&ais_ife_csid17x_driver);
}
early_module_init(ais_ife_csid17x_init_module, EARLY_SUBSYS_3,
EARLY_INIT_LEVEL2);
module_init(ais_ife_csid17x_init_module);
module_exit(ais_ife_csid17x_exit_module);
MODULE_DESCRIPTION("AIS IFE_CSID17X driver");
MODULE_LICENSE("GPL v2");

View File

@@ -55,8 +55,7 @@ static void __exit ais_ife_csid_lite_exit_module(void)
platform_driver_unregister(&ais_ife_csid_lite_driver);
}
early_module_init(ais_ife_csid_lite_init_module, EARLY_SUBSYS_3,
EARLY_INIT_LEVEL2);
module_init(ais_ife_csid_lite_init_module);
module_exit(ais_ife_csid_lite_exit_module);
MODULE_DESCRIPTION("CAM IFE_CSID_LITE driver");
MODULE_LICENSE("GPL v2");

View File

@@ -65,7 +65,7 @@ static void __exit ais_vfe_exit_module(void)
platform_driver_unregister(&ais_vfe_driver);
}
early_module_init(ais_vfe_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(ais_vfe_init_module);
module_exit(ais_vfe_exit_module);
MODULE_DESCRIPTION("AIS VFE17X driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -1182,7 +1182,7 @@ static void __exit cam_hw_cdm_exit_module(void)
platform_driver_unregister(&cam_hw_cdm_driver);
}
early_module_init(cam_hw_cdm_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_hw_cdm_init_module);
module_exit(cam_hw_cdm_exit_module);
MODULE_DESCRIPTION("MSM Camera HW CDM driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -576,7 +576,7 @@ static void __exit cam_cdm_intf_exit_module(void)
platform_driver_unregister(&cam_cdm_intf_driver);
}
early_module_init(cam_cdm_intf_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_cdm_intf_init_module);
module_exit(cam_cdm_intf_exit_module);
MODULE_DESCRIPTION("MSM Camera CDM Intf driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -656,7 +656,7 @@ static void __exit cam_cpas_dev_exit_module(void)
platform_driver_unregister(&cam_cpas_driver);
}
early_module_init(cam_cpas_dev_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_cpas_dev_init_module);
module_exit(cam_cpas_dev_exit_module);
MODULE_DESCRIPTION("MSM CPAS driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -208,7 +208,7 @@ static void __exit cam_fd_dev_exit_module(void)
platform_driver_unregister(&cam_fd_driver);
}
early_module_init(cam_fd_dev_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_fd_dev_init_module);
module_exit(cam_fd_dev_exit_module);
MODULE_DESCRIPTION("MSM FD driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -231,7 +231,7 @@ static void __exit cam_fd_hw_exit_module(void)
platform_driver_unregister(&cam_fd_hw_driver);
}
early_module_init(cam_fd_hw_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_fd_hw_init_module);
module_exit(cam_fd_hw_exit_module);
MODULE_DESCRIPTION("CAM FD HW driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -518,7 +518,7 @@ static void __exit cam_hyp_intf_exit_module(void)
platform_driver_unregister(&cam_hyp_intf_driver);
}
early_module_init(cam_hyp_intf_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_hyp_intf_init_module);
module_exit(cam_hyp_intf_exit_module);
MODULE_DESCRIPTION("MSM Camera Hypervisor Interface");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -276,7 +276,7 @@ static void __exit cam_icp_exit_module(void)
{
platform_driver_unregister(&cam_icp_driver);
}
early_module_init(cam_icp_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_icp_init_module);
module_exit(cam_icp_exit_module);
MODULE_DESCRIPTION("MSM ICP driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -229,7 +229,7 @@ static void __exit cam_a5_exit_module(void)
platform_driver_unregister(&cam_a5_driver);
}
early_module_init(cam_a5_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_a5_init_module);
module_exit(cam_a5_exit_module);
MODULE_DESCRIPTION("CAM A5 driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -208,7 +208,7 @@ static void __exit cam_bps_exit_module(void)
platform_driver_unregister(&cam_bps_driver);
}
early_module_init(cam_bps_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_bps_init_module);
module_exit(cam_bps_exit_module);
MODULE_DESCRIPTION("CAM BPS driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -200,7 +200,7 @@ static void __exit cam_ipe_exit_module(void)
platform_driver_unregister(&cam_ipe_driver);
}
early_module_init(cam_ipe_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_ipe_init_module);
module_exit(cam_ipe_exit_module);
MODULE_DESCRIPTION("CAM IPE driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -199,7 +199,7 @@ static void __exit cam_isp_dev_exit_module(void)
platform_driver_unregister(&isp_driver);
}
early_module_init(cam_isp_dev_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_isp_dev_init_module);
module_exit(cam_isp_dev_exit_module);
MODULE_DESCRIPTION("MSM ISP driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -53,7 +53,6 @@ static void __exit cam_csid_ppi170_exit_module(void)
platform_driver_unregister(&cam_csid_ppi170_driver);
}
early_module_init(cam_csid_ppi170_init_module, EARLY_SUBSYS_3,
EARLY_INIT_LEVEL2);
module_init(cam_csid_ppi170_init_module);
MODULE_DESCRIPTION("CAM CSID_PPI170 driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -76,8 +76,7 @@ static void __exit cam_ife_csid17x_exit_module(void)
platform_driver_unregister(&cam_ife_csid17x_driver);
}
early_module_init(cam_ife_csid17x_init_module, EARLY_SUBSYS_3,
EARLY_INIT_LEVEL2);
module_init(cam_ife_csid17x_init_module);
module_exit(cam_ife_csid17x_exit_module);
MODULE_DESCRIPTION("CAM IFE_CSID17X driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -55,8 +55,7 @@ static void __exit cam_ife_csid_lite_exit_module(void)
platform_driver_unregister(&cam_ife_csid_lite_driver);
}
early_module_init(cam_ife_csid_lite_init_module, EARLY_SUBSYS_3,
EARLY_INIT_LEVEL2);
module_init(cam_ife_csid_lite_init_module);
module_exit(cam_ife_csid_lite_exit_module);
MODULE_DESCRIPTION("CAM IFE_CSID_LITE driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -65,7 +65,7 @@ static void __exit cam_vfe_exit_module(void)
platform_driver_unregister(&cam_vfe_driver);
}
early_module_init(cam_vfe_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_vfe_init_module);
module_exit(cam_vfe_exit_module);
MODULE_DESCRIPTION("CAM VFE17X driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -203,7 +203,7 @@ static void __exit cam_jpeg_dev_exit_module(void)
platform_driver_unregister(&jpeg_driver);
}
early_module_init(cam_jpeg_dev_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_jpeg_dev_init_module);
module_exit(cam_jpeg_dev_exit_module);
MODULE_DESCRIPTION("MSM JPEG driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -234,7 +234,7 @@ static void __exit cam_jpeg_dma_exit_module(void)
platform_driver_unregister(&cam_jpeg_dma_driver);
}
early_module_init(cam_jpeg_dma_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_jpeg_dma_init_module);
module_exit(cam_jpeg_dma_exit_module);
MODULE_DESCRIPTION("CAM JPEG_DMA driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -232,7 +232,7 @@ static void __exit cam_jpeg_enc_exit_module(void)
platform_driver_unregister(&cam_jpeg_enc_driver);
}
early_module_init(cam_jpeg_enc_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_jpeg_enc_init_module);
module_exit(cam_jpeg_enc_exit_module);
MODULE_DESCRIPTION("CAM JPEG_ENC driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -236,7 +236,7 @@ static void __exit cam_lrme_dev_exit_module(void)
platform_driver_unregister(&cam_lrme_driver);
}
early_module_init(cam_lrme_dev_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_lrme_dev_init_module);
module_exit(cam_lrme_dev_exit_module);
MODULE_DESCRIPTION("MSM LRME driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -314,7 +314,7 @@ static void __exit cam_lrme_hw_exit_module(void)
platform_driver_unregister(&cam_lrme_hw_driver);
}
early_module_init(cam_lrme_hw_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_lrme_hw_init_module);
module_exit(cam_lrme_hw_exit_module);
MODULE_DESCRIPTION("CAM LRME HW driver");
MODULE_LICENSE("GPL v2");

View File

@@ -869,8 +869,8 @@ static void __exit cam_req_mgr_exit(void)
platform_driver_unregister(&cam_req_mgr_driver);
}
early_module_init(cam_req_mgr_init, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
early_late_initcall(cam_req_mgr_late_init, EARLY_SUBSYS_3, EARLY_INIT_LEVEL4);
module_init(cam_req_mgr_init);
late_initcall(cam_req_mgr_late_init);
module_exit(cam_req_mgr_exit);
MODULE_DESCRIPTION("Camera Request Manager");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -445,7 +445,7 @@ static void __exit cam_actuator_driver_exit(void)
i2c_del_driver(&cam_actuator_driver_i2c);
}
early_module_init(cam_actuator_driver_init, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_actuator_driver_init);
module_exit(cam_actuator_driver_exit);
MODULE_DESCRIPTION("cam_actuator_driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -527,8 +527,8 @@ static void __exit cam_cci_exit_module(void)
platform_driver_unregister(&cci_driver);
}
early_module_init(cam_cci_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
early_late_initcall(cam_cci_late_init, EARLY_SUBSYS_3, EARLY_INIT_LEVEL4);
module_init(cam_cci_init_module);
late_initcall(cam_cci_late_init);
module_exit(cam_cci_exit_module);
MODULE_DESCRIPTION("MSM CCI driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -254,7 +254,7 @@ static void __exit cam_csiphy_exit_module(void)
platform_driver_unregister(&csiphy_driver);
}
early_module_init(cam_csiphy_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_csiphy_init_module);
module_exit(cam_csiphy_exit_module);
MODULE_DESCRIPTION("CAM CSIPHY driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -590,7 +590,7 @@ static void __exit cam_eeprom_driver_exit(void)
i2c_del_driver(&cam_eeprom_i2c_driver);
}
early_module_init(cam_eeprom_driver_init, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_eeprom_driver_init);
module_exit(cam_eeprom_driver_exit);
MODULE_DESCRIPTION("CAM EEPROM driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -647,7 +647,7 @@ static void __exit cam_flash_exit_module(void)
i2c_del_driver(&cam_flash_i2c_driver);
}
early_module_init(cam_flash_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_flash_init_module);
module_exit(cam_flash_exit_module);
MODULE_DESCRIPTION("CAM FLASH");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -423,7 +423,7 @@ static void __exit cam_ois_driver_exit(void)
i2c_del_driver(&cam_ois_i2c_driver);
}
early_module_init(cam_ois_driver_init, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_ois_driver_init);
module_exit(cam_ois_driver_exit);
MODULE_DESCRIPTION("CAM OIS driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -740,7 +740,7 @@ static void __exit cam_res_mgr_exit(void)
platform_driver_unregister(&cam_res_mgr_driver);
}
early_module_init(cam_res_mgr_init, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_res_mgr_init);
module_exit(cam_res_mgr_exit);
MODULE_DESCRIPTION("Camera resource manager driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -414,7 +414,7 @@ static void __exit cam_sensor_driver_exit(void)
i2c_del_driver(&cam_sensor_driver_i2c);
}
early_module_init(cam_sensor_driver_init, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_sensor_driver_init);
module_exit(cam_sensor_driver_exit);
MODULE_DESCRIPTION("cam_sensor_driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2014-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2014-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -3615,7 +3615,7 @@ static void __exit cam_smmu_exit_module(void)
platform_driver_unregister(&cam_smmu_driver);
}
early_module_init(cam_smmu_init_module, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_smmu_init_module);
module_exit(cam_smmu_exit_module);
MODULE_DESCRIPTION("MSM Camera SMMU driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1265,7 +1265,7 @@ static void __exit cam_sync_exit(void)
kfree(sync_dev);
}
early_module_init(cam_sync_init, EARLY_SUBSYS_3, EARLY_INIT_LEVEL2);
module_init(cam_sync_init);
module_exit(cam_sync_exit);
MODULE_DESCRIPTION("Camera sync driver");
MODULE_LICENSE("GPL v2");

View File

@@ -1063,7 +1063,7 @@ static void __exit videodev_exit(void)
unregister_chrdev_region(dev, VIDEO_NUM_DEVICES);
}
early_subsys_initcall(videodev_init, EARLY_SUBSYS_3, EARLY_INIT_LEVEL1);
subsys_initcall(videodev_init);
module_exit(videodev_exit)
MODULE_AUTHOR("Alan Cox, Mauro Carvalho Chehab <mchehab@infradead.org>");

View File

@@ -1982,5 +1982,5 @@ static void __exit phy_exit(void)
mdio_bus_exit();
}
early_subsys_initcall(phy_init, EARLY_SUBSYS_4, EARLY_INIT_LEVEL1);
subsys_initcall(phy_init);
module_exit(phy_exit);

View File

@@ -2194,14 +2194,7 @@ static void __exit cnss_exit(void)
cnss_debug_deinit();
}
static int __init cnss_set_sync(void)
{
cnss_platform_driver.driver.probe_type = 0;
return 0;
}
early_init(cnss_set_sync, EARLY_SUBSYS_5, EARLY_INIT_LEVEL4);
early_module_init(cnss_initialize, EARLY_SUBSYS_5, EARLY_INIT_LEVEL5);
module_init(cnss_initialize);
module_exit(cnss_exit);
MODULE_LICENSE("GPL v2");

View File

@@ -441,13 +441,6 @@ int of_platform_bus_probe(struct device_node *root,
}
EXPORT_SYMBOL(of_platform_bus_probe);
int of_platform_node_probe(struct device_node *np,
struct device *parent)
{
return of_platform_bus_create(np, of_default_bus_match_table, NULL,
parent, true);
}
/**
* of_platform_populate() - Populate platform_devices from device tree data
* @root: parent of the first level to probe or NULL for the root of the tree

View File

@@ -6788,23 +6788,7 @@ static void __exit pcie_exit(void)
msm_pcie_sysfs_exit(&msm_pcie_dev[i]);
}
static DECLARE_COMPLETION(pcie_init_start);
static int __init pcie_init_sync(void)
{
complete(&pcie_init_start);
return 0;
}
subsys_initcall_sync(pcie_init_sync);
static int __init pcie_init_wait(void)
{
wait_for_completion(&pcie_init_start);
return 0;
}
early_init(pcie_init_wait, EARLY_SUBSYS_5, EARLY_INIT_LEVEL3);
early_subsys_initcall_sync(pcie_init, EARLY_SUBSYS_5, EARLY_INIT_LEVEL4);
subsys_initcall_sync(pcie_init);
module_exit(pcie_exit);

View File

@@ -1017,7 +1017,7 @@ static int __init phy_core_init(void)
return 0;
}
early_module_init(phy_core_init, EARLY_SUBSYS_PLATFORM, EARLY_INIT_LEVEL8);
module_init(phy_core_init);
static void __exit phy_core_exit(void)
{

View File

@@ -1,5 +1,4 @@
/* Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
* Copyright (C) 2019 XiaoMi, Inc.
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -12,9 +11,6 @@
*
*/
#include <linux/ctype.h>
#include <linux/cpu.h>
#include "phy-qcom-ufs-qmp-v4.h"
#define UFS_PHY_NAME "ufs_phy_qmp_v4"
@@ -294,8 +290,7 @@ static struct platform_driver ufs_qcom_phy_qmp_v4_driver = {
},
};
early_module_platform_driver(ufs_qcom_phy_qmp_v4_driver, EARLY_SUBSYS_1,
EARLY_INIT_LEVEL2);
module_platform_driver(ufs_qcom_phy_qmp_v4_driver);
MODULE_DESCRIPTION("Universal Flash Storage (UFS) QCOM PHY QMP v4");
MODULE_LICENSE("GPL v2");

View File

@@ -1303,4 +1303,4 @@ static int __init sx150x_init(void)
{
return i2c_add_driver(&sx150x_driver);
}
early_subsys_initcall(sx150x_init, EARLY_SUBSYS_PLATFORM, EARLY_INIT_LEVEL3);
subsys_initcall(sx150x_init);

View File

@@ -2098,8 +2098,7 @@ static int __init geni_se_driver_init(void)
{
return platform_driver_register(&geni_se_driver);
}
early_subsys_initcall(geni_se_driver_init, EARLY_SUBSYS_PLATFORM,
EARLY_INIT_LEVEL3);
subsys_initcall(geni_se_driver_init);
static void __exit geni_se_driver_exit(void)
{

Some files were not shown because too many files have changed in this diff Show More