[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAPLW+4mweQxF38hZZQHQR6JXpoMfQyu2AUX+r8xFvN_vj=ALGQ@mail.gmail.com>
Date: Tue, 5 Oct 2021 15:03:35 +0300
From: Sam Protsenko <semen.protsenko@...aro.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...onical.com>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-arm Mailing List <linux-arm-kernel@...ts.infradead.org>,
Linux Samsung SOC <linux-samsung-soc@...r.kernel.org>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Sylwester Nawrocki <snawrocki@...nel.org>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>,
Tomasz Figa <tomasz.figa@...il.com>,
Arnd Bergmann <arnd@...db.de>, Olof Johansson <olof@...om.net>,
Alim Akhtar <alim.akhtar@...sung.com>,
Chanwoo Choi <cw00.choi@...sung.com>,
Pankaj Dubey <pankaj.dubey@...sung.com>
Subject: Re: [PATCH 2/2] soc: samsung: exynos-chipid: convert to a module
On Fri, 17 Sept 2021 at 20:51, Krzysztof Kozlowski
<krzysztof.kozlowski@...onical.com> wrote:
>
> Exynos ChipID and ASV (Adaptive Supply Voltage) driver is not essential
> to system boot and it can successfully be built and loaded as module.
>
> This makes core kernel image smaller and reduces the memory footprint
> when multi-platform kernel is booted on non-Exynos board. Usually it is
> also distro-friendly.
>
> Add multiple authors of the driver since its conversion from
> mach-exynos, ordered alphabetically by first name.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@...onical.com>
> ---
Reviewed-by: Sam Protsenko <semen.protsenko@...aro.org>
> drivers/soc/samsung/Kconfig | 3 ++-
> drivers/soc/samsung/Makefile | 3 ++-
> drivers/soc/samsung/exynos-chipid.c | 11 ++++++++++-
> drivers/soc/samsung/exynos5422-asv.c | 1 +
> 4 files changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/soc/samsung/Kconfig b/drivers/soc/samsung/Kconfig
> index 1f643c0f5c93..fe139f26d093 100644
> --- a/drivers/soc/samsung/Kconfig
> +++ b/drivers/soc/samsung/Kconfig
> @@ -13,13 +13,14 @@ config EXYNOS_ASV_ARM
> depends on EXYNOS_CHIPID
>
> config EXYNOS_CHIPID
> - bool "Exynos ChipID controller and ASV driver" if COMPILE_TEST
> + tristate "Exynos ChipID controller and ASV driver" if COMPILE_TEST
> depends on ARCH_EXYNOS || COMPILE_TEST
> select EXYNOS_ASV_ARM if ARM && ARCH_EXYNOS
> select MFD_SYSCON
> select SOC_BUS
> help
> Support for Samsung Exynos SoC ChipID and Adaptive Supply Voltage.
> + This driver can also be built as module (exynos_chipid).
>
> config EXYNOS_PMU
> bool "Exynos PMU controller driver" if COMPILE_TEST
> diff --git a/drivers/soc/samsung/Makefile b/drivers/soc/samsung/Makefile
> index 0c523a8de4eb..2ae4bea804cf 100644
> --- a/drivers/soc/samsung/Makefile
> +++ b/drivers/soc/samsung/Makefile
> @@ -1,8 +1,9 @@
> # SPDX-License-Identifier: GPL-2.0
>
> obj-$(CONFIG_EXYNOS_ASV_ARM) += exynos5422-asv.o
> +obj-$(CONFIG_EXYNOS_CHIPID) += exynos_chipid.o
> +exynos_chipid-y += exynos-chipid.o exynos-asv.o
>
> -obj-$(CONFIG_EXYNOS_CHIPID) += exynos-chipid.o exynos-asv.o
> obj-$(CONFIG_EXYNOS_PMU) += exynos-pmu.o
>
> obj-$(CONFIG_EXYNOS_PMU_ARM_DRIVERS) += exynos3250-pmu.o exynos4-pmu.o \
> diff --git a/drivers/soc/samsung/exynos-chipid.c b/drivers/soc/samsung/exynos-chipid.c
> index 5c1d0f97f766..5e8c957231ff 100644
> --- a/drivers/soc/samsung/exynos-chipid.c
> +++ b/drivers/soc/samsung/exynos-chipid.c
> @@ -15,6 +15,7 @@
> #include <linux/device.h>
> #include <linux/errno.h>
> #include <linux/mfd/syscon.h>
> +#include <linux/module.h>
> #include <linux/of.h>
> #include <linux/platform_device.h>
> #include <linux/regmap.h>
> @@ -129,6 +130,7 @@ static const struct of_device_id exynos_chipid_of_device_ids[] = {
> { .compatible = "samsung,exynos4210-chipid" },
> {}
> };
> +MODULE_DEVICE_TABLE(of, exynos_chipid_of_device_ids);
>
> static struct platform_driver exynos_chipid_driver = {
> .driver = {
> @@ -138,4 +140,11 @@ static struct platform_driver exynos_chipid_driver = {
> .probe = exynos_chipid_probe,
> .remove = exynos_chipid_remove,
> };
> -builtin_platform_driver(exynos_chipid_driver);
> +module_platform_driver(exynos_chipid_driver);
> +
> +MODULE_DESCRIPTION("Samsung Exynos ChipID controller and ASV driver");
Just curious, how exactly ASV is related to chip-id driver?
> +MODULE_AUTHOR("Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>");
> +MODULE_AUTHOR("Krzysztof Kozlowski <krzysztof.kozlowski@...onical.com>");
> +MODULE_AUTHOR("Pankaj Dubey <pankaj.dubey@...sung.com>");
> +MODULE_AUTHOR("Sylwester Nawrocki <s.nawrocki@...sung.com>");
> +MODULE_LICENSE("GPL");
> diff --git a/drivers/soc/samsung/exynos5422-asv.c b/drivers/soc/samsung/exynos5422-asv.c
> index ca409a976e34..475ae5276529 100644
> --- a/drivers/soc/samsung/exynos5422-asv.c
> +++ b/drivers/soc/samsung/exynos5422-asv.c
> @@ -503,3 +503,4 @@ int exynos5422_asv_init(struct exynos_asv *asv)
>
> return 0;
> }
> +EXPORT_SYMBOL_GPL(exynos5422_asv_init);
> --
> 2.30.2
>
Powered by blists - more mailing lists