diff options
author | Krzysztof Kozlowski <krzk@kernel.org> | 2020-12-02 21:59:55 +0200 |
---|---|---|
committer | Krzysztof Kozlowski <krzk@kernel.org> | 2020-12-05 15:12:02 +0100 |
commit | 3b4c362e5ef102ca2d70d33f4e8cf0780053a7db (patch) | |
tree | c9ba07a55e73df723e4946b16757b48dc80507af /drivers/soc/samsung | |
parent | 7136d6a92aed6b4a1bfa5b2fe62b0ec27883b3f8 (diff) | |
download | linux-3b4c362e5ef102ca2d70d33f4e8cf0780053a7db.tar.gz linux-3b4c362e5ef102ca2d70d33f4e8cf0780053a7db.tar.bz2 linux-3b4c362e5ef102ca2d70d33f4e8cf0780053a7db.zip |
soc: samsung: exynos-chipid: initialize later - with arch_initcall
The Exynos ChipID driver on Exynos SoCs has only informational
purpose - to expose the SoC device in sysfs. No other drivers
depend on it so there is really no benefit of initializing it early.
Instead, initialize everything with arch_initcall which:
1. Allows to use dev_info() as the SoC bus is present (since
core_initcall),
2. Could speed things up because of execution in a SMP environment
(after bringing up secondary CPUs, unlike early_initcall),
3. Reduces the amount of work to be done early, when the kernel has to
bring up critical devices.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201202195955.128633-2-krzk@kernel.org
Diffstat (limited to 'drivers/soc/samsung')
-rw-r--r-- | drivers/soc/samsung/exynos-chipid.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/soc/samsung/exynos-chipid.c b/drivers/soc/samsung/exynos-chipid.c index b4cd0cc00f45..1a76eade2ed6 100644 --- a/drivers/soc/samsung/exynos-chipid.c +++ b/drivers/soc/samsung/exynos-chipid.c @@ -99,9 +99,9 @@ static int __init exynos_chipid_early_init(void) goto err; } - /* it is too early to use dev_info() here (soc_dev is NULL) */ - pr_info("soc soc0: Exynos: CPU[%s] PRO_ID[0x%x] REV[0x%x] Detected\n", - soc_dev_attr->soc_id, product_id, revision); + dev_info(soc_device_to_device(soc_dev), + "Exynos: CPU[%s] PRO_ID[0x%x] REV[0x%x] Detected\n", + soc_dev_attr->soc_id, product_id, revision); return 0; @@ -111,4 +111,4 @@ err: return ret; } -early_initcall(exynos_chipid_early_init); +arch_initcall(exynos_chipid_early_init); |