Revert "Linux:To speed up the startup process by setting some modules to start in parallel."
This reverts commit eb84064e14e8261be1aecc0b5bf77b5728902c31. Change-Id: I2ea6ea2e58de54142882324e44efa90d1c9ee639
This commit is contained in:
@@ -610,9 +610,6 @@ static struct platform_driver adma_driver = {
|
|||||||
.driver = {
|
.driver = {
|
||||||
.name = "k1x-adma",
|
.name = "k1x-adma",
|
||||||
.of_match_table = adma_id_table,
|
.of_match_table = adma_id_table,
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
.probe_type = PROBE_FORCE_SYNCHRONOUS,
|
|
||||||
#endif
|
|
||||||
},
|
},
|
||||||
.probe = adma_probe,
|
.probe = adma_probe,
|
||||||
.remove = adma_remove,
|
.remove = adma_remove,
|
||||||
@@ -691,9 +688,6 @@ static void rpmsg_adma_client_remove(struct rpmsg_device *rpdev)
|
|||||||
|
|
||||||
static struct rpmsg_driver rpmsg_adma_client = {
|
static struct rpmsg_driver rpmsg_adma_client = {
|
||||||
.drv.name = KBUILD_MODNAME,
|
.drv.name = KBUILD_MODNAME,
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
.drv.probe_type = PROBE_FORCE_SYNCHRONOUS,
|
|
||||||
#endif
|
|
||||||
.id_table = rpmsg_driver_adma_id_table,
|
.id_table = rpmsg_driver_adma_id_table,
|
||||||
.probe = rpmsg_adma_client_probe,
|
.probe = rpmsg_adma_client_probe,
|
||||||
.callback = rpmsg_adma_client_cb,
|
.callback = rpmsg_adma_client_cb,
|
||||||
|
|||||||
@@ -1095,12 +1095,11 @@ struct platform_driver spacemit_hdmi_driver = {
|
|||||||
.name = "spacemit-hdmi-drv",
|
.name = "spacemit-hdmi-drv",
|
||||||
.of_match_table = spacemit_hdmi_dt_ids,
|
.of_match_table = spacemit_hdmi_dt_ids,
|
||||||
.pm = &hdmi_pm_ops,
|
.pm = &hdmi_pm_ops,
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
.probe_type = PROBE_PREFER_ASYNCHRONOUS,
|
|
||||||
#endif
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// module_platform_driver(spacemit_hdmi_driver);
|
||||||
|
|
||||||
static int spacemit_hdmi_driver_init(void)
|
static int spacemit_hdmi_driver_init(void)
|
||||||
{
|
{
|
||||||
return platform_driver_register(&spacemit_hdmi_driver);
|
return platform_driver_register(&spacemit_hdmi_driver);
|
||||||
|
|||||||
@@ -2078,9 +2078,6 @@ static struct platform_driver spacemit_i2c_driver = {
|
|||||||
.name = "i2c-spacemit-k1x",
|
.name = "i2c-spacemit-k1x",
|
||||||
/* .pm = &spacemit_i2c_pm_ops, */
|
/* .pm = &spacemit_i2c_pm_ops, */
|
||||||
.of_match_table = spacemit_i2c_dt_match,
|
.of_match_table = spacemit_i2c_dt_match,
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
.probe_type = PROBE_PREFER_ASYNCHRONOUS,
|
|
||||||
#endif
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2121,9 +2118,6 @@ static struct platform_driver r_spacemit_i2c_driver = {
|
|||||||
.name = "ri2c-spacemit-k1x",
|
.name = "ri2c-spacemit-k1x",
|
||||||
/* .pm = &spacemit_i2c_pm_ops, */
|
/* .pm = &spacemit_i2c_pm_ops, */
|
||||||
.of_match_table = r_spacemit_i2c_dt_match,
|
.of_match_table = r_spacemit_i2c_dt_match,
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
.probe_type = PROBE_PREFER_ASYNCHRONOUS,
|
|
||||||
#endif
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1264,9 +1264,6 @@ struct platform_driver k1x_ccic_driver = {
|
|||||||
.driver = {
|
.driver = {
|
||||||
.name = K1X_CCIC_DRV_NAME,
|
.name = K1X_CCIC_DRV_NAME,
|
||||||
.of_match_table = of_match_ptr(k1x_ccic_dt_match),
|
.of_match_table = of_match_ptr(k1x_ccic_dt_match),
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
.probe_type = PROBE_PREFER_ASYNCHRONOUS,
|
|
||||||
#endif
|
|
||||||
},
|
},
|
||||||
.probe = k1x_ccic_probe,
|
.probe = k1x_ccic_probe,
|
||||||
.remove = k1x_ccic_remove,
|
.remove = k1x_ccic_remove,
|
||||||
|
|||||||
@@ -1896,9 +1896,6 @@ static struct platform_driver spacemit_sdhci_driver = {
|
|||||||
.name = "sdhci-spacemit",
|
.name = "sdhci-spacemit",
|
||||||
.of_match_table = of_match_ptr(sdhci_spacemit_of_match),
|
.of_match_table = of_match_ptr(sdhci_spacemit_of_match),
|
||||||
.pm = SDHCI_SPACEMIT_PMOPS,
|
.pm = SDHCI_SPACEMIT_PMOPS,
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
.probe_type = PROBE_PREFER_ASYNCHRONOUS,
|
|
||||||
#endif
|
|
||||||
},
|
},
|
||||||
.probe = spacemit_sdhci_probe,
|
.probe = spacemit_sdhci_probe,
|
||||||
.remove_new = spacemit_sdhci_remove,
|
.remove_new = spacemit_sdhci_remove,
|
||||||
|
|||||||
@@ -1861,21 +1861,11 @@ static const struct dev_pm_ops k1x_pcie_pm_ops = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static struct platform_driver k1x_pcie_driver = {
|
static struct platform_driver k1x_pcie_driver = {
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
.probe = k1x_pcie_probe,
|
|
||||||
#endif
|
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = "k1x-dwc-pcie",
|
.name = "k1x-dwc-pcie",
|
||||||
.of_match_table = of_k1x_pcie_match,
|
.of_match_table = of_k1x_pcie_match,
|
||||||
.suppress_bind_attrs = true,
|
.suppress_bind_attrs = true,
|
||||||
.pm = &k1x_pcie_pm_ops,
|
.pm = &k1x_pcie_pm_ops,
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
.probe_type = PROBE_PREFER_ASYNCHRONOUS,
|
|
||||||
#endif
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
module_platform_driver(k1x_pcie_driver);
|
|
||||||
#else
|
|
||||||
builtin_platform_driver_probe(k1x_pcie_driver, k1x_pcie_probe);
|
builtin_platform_driver_probe(k1x_pcie_driver, k1x_pcie_probe);
|
||||||
#endif
|
|
||||||
|
|||||||
@@ -679,9 +679,6 @@ static struct platform_driver spacemit_rproc_driver = {
|
|||||||
.pm = &spacemit_rproc_pm_ops,
|
.pm = &spacemit_rproc_pm_ops,
|
||||||
#endif
|
#endif
|
||||||
.of_match_table = spacemit_rproc_of_match,
|
.of_match_table = spacemit_rproc_of_match,
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
.probe_type = PROBE_FORCE_SYNCHRONOUS,
|
|
||||||
#endif
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -2369,9 +2369,6 @@ static struct platform_driver serial_pxa_driver = {
|
|||||||
#endif
|
#endif
|
||||||
.suppress_bind_attrs = true,
|
.suppress_bind_attrs = true,
|
||||||
.of_match_table = serial_pxa_dt_ids,
|
.of_match_table = serial_pxa_dt_ids,
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
.probe_type = PROBE_PREFER_ASYNCHRONOUS,
|
|
||||||
#endif
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1469,13 +1469,6 @@ menuconfig EXPERT
|
|||||||
environments which can tolerate a "non-standard" kernel.
|
environments which can tolerate a "non-standard" kernel.
|
||||||
Only use this if you really know what you are doing.
|
Only use this if you really know what you are doing.
|
||||||
|
|
||||||
config SPACEMIT_PARALLEL_BOOTING
|
|
||||||
bool "Enable SPACEMIT parallel booting of kernel modules" if EXPERT
|
|
||||||
default n
|
|
||||||
help
|
|
||||||
Enable parallel booting of kernel modules under SPACEMIT to improve boot speed.
|
|
||||||
Enabling this option may cause boot deadlocks in certain conditions.
|
|
||||||
|
|
||||||
config UID16
|
config UID16
|
||||||
bool "Enable 16-bit UID system calls" if EXPERT
|
bool "Enable 16-bit UID system calls" if EXPERT
|
||||||
depends on HAVE_UID16 && MULTIUSER
|
depends on HAVE_UID16 && MULTIUSER
|
||||||
|
|||||||
@@ -22,11 +22,7 @@
|
|||||||
const char raid6_empty_zero_page[PAGE_SIZE] __attribute__((aligned(256)));
|
const char raid6_empty_zero_page[PAGE_SIZE] __attribute__((aligned(256)));
|
||||||
EXPORT_SYMBOL(raid6_empty_zero_page);
|
EXPORT_SYMBOL(raid6_empty_zero_page);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
#include <linux/platform_device.h>
|
|
||||||
#include <linux/of.h>
|
|
||||||
#include <linux/async.h>
|
|
||||||
#endif
|
|
||||||
struct raid6_calls raid6_call;
|
struct raid6_calls raid6_call;
|
||||||
EXPORT_SYMBOL_GPL(raid6_call);
|
EXPORT_SYMBOL_GPL(raid6_call);
|
||||||
|
|
||||||
@@ -293,22 +289,7 @@ static void raid6_exit(void)
|
|||||||
do { } while (0);
|
do { } while (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
static void raid6_select_algo_wrapper(void *data, long long unsigned int arg)
|
|
||||||
{
|
|
||||||
raid6_select_algo();
|
|
||||||
}
|
|
||||||
|
|
||||||
static int __init raid6_select_algo_async_init(void)
|
|
||||||
{
|
|
||||||
async_schedule(raid6_select_algo_wrapper, NULL);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
subsys_initcall(raid6_select_algo_async_init);
|
|
||||||
#else
|
|
||||||
subsys_initcall(raid6_select_algo);
|
subsys_initcall(raid6_select_algo);
|
||||||
#endif
|
|
||||||
module_exit(raid6_exit);
|
module_exit(raid6_exit);
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
MODULE_DESCRIPTION("RAID6 Q-syndrome calculations");
|
MODULE_DESCRIPTION("RAID6 Q-syndrome calculations");
|
||||||
|
|||||||
@@ -121,9 +121,6 @@
|
|||||||
#include <net/compat.h>
|
#include <net/compat.h>
|
||||||
|
|
||||||
#include <trace/events/sock.h>
|
#include <trace/events/sock.h>
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
#include <linux/async.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The inetsw table contains everything that inet_create needs to
|
/* The inetsw table contains everything that inet_create needs to
|
||||||
* build a new socket.
|
* build a new socket.
|
||||||
@@ -2083,21 +2080,7 @@ out_unregister_tcp_proto:
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
static void __init inet_init_async(void *data, async_cookie_t cookie)
|
|
||||||
{
|
|
||||||
inet_init();
|
|
||||||
}
|
|
||||||
|
|
||||||
static int __init inet_async_init(void)
|
|
||||||
{
|
|
||||||
async_schedule(inet_init_async, NULL);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
subsys_initcall(inet_async_init);
|
|
||||||
#else
|
|
||||||
fs_initcall(inet_init);
|
fs_initcall(inet_init);
|
||||||
#endif
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------ */
|
/* ------------------------------------------------------------------------ */
|
||||||
|
|
||||||
|
|||||||
@@ -1382,9 +1382,6 @@ static struct platform_driver spacemit_snd_dma_pdrv = {
|
|||||||
.driver = {
|
.driver = {
|
||||||
.name = "spacemit-snd-dma",
|
.name = "spacemit-snd-dma",
|
||||||
.of_match_table = of_match_ptr(spacemit_snd_dma_ids),
|
.of_match_table = of_match_ptr(spacemit_snd_dma_ids),
|
||||||
#ifdef CONFIG_SPACEMIT_PARALLEL_BOOTING
|
|
||||||
.probe_type = PROBE_FORCE_SYNCHRONOUS,
|
|
||||||
#endif
|
|
||||||
},
|
},
|
||||||
.probe = spacemit_snd_dma_pdev_probe,
|
.probe = spacemit_snd_dma_pdev_probe,
|
||||||
.remove = spacemit_snd_dma_pdev_remove,
|
.remove = spacemit_snd_dma_pdev_remove,
|
||||||
|
|||||||
Reference in New Issue
Block a user