[PATCH v4 2/4] soc: ti: Add module build support
Péter Ujfalusi
peter.ujfalusi at gmail.com
Wed Nov 23 23:54:12 PST 2022
On 08/11/2022 20:11, Nicolas Frayer wrote:
> Added module build support for the TI K3 SoC info driver.
Subject: "soc: ti: k3-socinfo: ..."
>
> Signed-off-by: Nicolas Frayer <nfrayer at baylibre.com>
> ---
> arch/arm64/Kconfig.platforms | 1 -
> drivers/soc/ti/Kconfig | 3 ++-
> drivers/soc/ti/k3-socinfo.c | 11 +++++++++++
> 3 files changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
> index 76580b932e44..4f2f92eb499f 100644
> --- a/arch/arm64/Kconfig.platforms
> +++ b/arch/arm64/Kconfig.platforms
> @@ -130,7 +130,6 @@ config ARCH_K3
> select TI_SCI_PROTOCOL
> select TI_SCI_INTR_IRQCHIP
> select TI_SCI_INTA_IRQCHIP
> - select TI_K3_SOCINFO
> help
> This enables support for Texas Instruments' K3 multicore SoC
> architecture.
> diff --git a/drivers/soc/ti/Kconfig b/drivers/soc/ti/Kconfig
> index 7e2fb1c16af1..1a730c057cce 100644
> --- a/drivers/soc/ti/Kconfig
> +++ b/drivers/soc/ti/Kconfig
> @@ -74,7 +74,8 @@ config TI_K3_RINGACC
> If unsure, say N.
>
> config TI_K3_SOCINFO
> - bool
> + tristate "TI K3 SoC info driver"
> + default y
Why it is a good thing to have this driver as module compared to always
built in?
It has no dependencies, just things depending on it.
It is small, just couple of lines long
I don't really see the benefit of building it as a module, not even an
academic one...
> depends on ARCH_K3 || COMPILE_TEST
> select SOC_BUS
> select MFD_SYSCON
> diff --git a/drivers/soc/ti/k3-socinfo.c b/drivers/soc/ti/k3-socinfo.c
> index 19f3e74f5376..98348f998e0f 100644
> --- a/drivers/soc/ti/k3-socinfo.c
> +++ b/drivers/soc/ti/k3-socinfo.c
> @@ -13,6 +13,7 @@
> #include <linux/slab.h>
> #include <linux/string.h>
> #include <linux/sys_soc.h>
> +#include <linux/module.h>
>
> #define CTRLMMR_WKUP_JTAGID_REG 0
> /*
> @@ -141,6 +142,7 @@ static const struct of_device_id k3_chipinfo_of_match[] = {
> { .compatible = "ti,am654-chipid", },
> { /* sentinel */ },
> };
> +MODULE_DEVICE_TABLE(of, k3_chipinfo_of_match);
>
> static struct platform_driver k3_chipinfo_driver = {
> .driver = {
> @@ -156,3 +158,12 @@ static int __init k3_chipinfo_init(void)
> return platform_driver_register(&k3_chipinfo_driver);
> }
> subsys_initcall(k3_chipinfo_init);
subsys_initcall for a module?
> +
> +static void __exit k3_chipinfo_exit(void)
> +{
> + platform_driver_unregister(&k3_chipinfo_driver);
> +}
> +module_exit(k3_chipinfo_exit);
> +
> +MODULE_DESCRIPTION("TI K3 SoC info driver");
> +MODULE_LICENSE("GPL");
--
Péter
More information about the linux-arm-kernel
mailing list