Re: [PATCH] pinctrl: samsung: modularize samsung pinctrl driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 26 Nov 2019 at 09:14, Hyunki Koo <hyunki00.koo@xxxxxxxxxxx> wrote:
>
> On Thu, 21 Nov 2019 at 16:38, Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:
> > Hi,
> >
> > Thanks for the patch. Few comments below:
> >
> > On Thu, 21 Nov 2019 at 15:26, 구현기 <hyunki00.koo@xxxxxxxxxxx> wrote:
> >>
> >> Enable samsung pinctrl driver to be compiled as modules.
> >
> > Why? What's the benefit? Are platforms capable of such boot? Pinctrl is needed early - even before mounting rootfs...
> > What about module unloading? Is it reasonable?
> > Please answer to all this also in commit message.
> >
>
> Sorry to late and Thank you for your comment, I would like to apply GKI on the pinctrl driver
> So I would like to cut off dependency from ARCH_EXYNOS.

This is driver for Exynos and S3C so why cutting off the dependency? I
mean, wait, it is a driver for Exynos so it cannot work on other
boards...

> I will split into two part,
> First, cut off the dependency with ARCH_EXYNOS in arch/arm64/Kconfig.platform.
> Second, I will make the pinctrl driver as a module.

Then you are doing it in wrong order - this patch makes it as a module
but you send it as first one.

You did not resolve however my questions about:
1. Will this even work? Will platforms boot?
2. How are you going to handle module unloading since on purpose we
added suppress_bind?

>
> >>
> >> Change-Id: I92a9953c92831a316f7f50146898ff19831549ec
> >
> > This does not belong to Git.
> >
> >> Signed-off-by: Hyunki Koo <hyunki00.koo@xxxxxxxxxxx>
> >
> >You "From" name is different than written here in Signed-off-by. They should match and I do not know Korean to be able to tell whether they really match or not :).
> >How about using Latin transliteration also in "From" field?
> >
> >> ---
> >>  drivers/pinctrl/samsung/Kconfig                |  5 +----
> >>  drivers/pinctrl/samsung/Makefile               | 13 +++++++------
> >>  drivers/pinctrl/samsung/pinctrl-exynos-arm.c   |  2 ++
> >>  drivers/pinctrl/samsung/pinctrl-exynos-arm64.c |  2 ++
> >>  drivers/pinctrl/samsung/pinctrl-exynos.c       |  2 ++
> >>  drivers/pinctrl/samsung/pinctrl-samsung.c      | 13 +++++++++++++
> >>  6 files changed, 27 insertions(+), 10 deletions(-)
> >>
> >> diff --git a/drivers/pinctrl/samsung/Kconfig
> >> b/drivers/pinctrl/samsung/Kconfig index 425fadd6c346..25e16984ef23
> >> 100644
> >> --- a/drivers/pinctrl/samsung/Kconfig
> >> +++ b/drivers/pinctrl/samsung/Kconfig
> >> @@ -3,14 +3,13 @@
> >>  # Samsung Pin control drivers
> >>  #
> >>  config PINCTRL_SAMSUNG
> >> -       bool
> >> +       tristate "Pinctrl driver data for Samsung SoCs"
> >>         select PINMUX
> >>         select PINCONF
> >>
> >>  config PINCTRL_EXYNOS
> >>         bool "Pinctrl driver data for Samsung EXYNOS SoCs"
> >>         depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
> >> -       select PINCTRL_SAMSUNG
> >>         select PINCTRL_EXYNOS_ARM if ARM && (ARCH_EXYNOS || ARCH_S5PV210)
> >>         select PINCTRL_EXYNOS_ARM64 if ARM64 && ARCH_EXYNOS
> >>
> >> @@ -25,9 +24,7 @@ config PINCTRL_EXYNOS_ARM64  config PINCTRL_S3C24XX
> >>         bool "Samsung S3C24XX SoC pinctrl driver"
> >>         depends on ARCH_S3C24XX && OF
> >> -       select PINCTRL_SAMSUNG
> >>
> >>  config PINCTRL_S3C64XX
> >>         bool "Samsung S3C64XX SoC pinctrl driver"
> >>         depends on ARCH_S3C64XX
> >> -       select PINCTRL_SAMSUNG
> >> diff --git a/drivers/pinctrl/samsung/Makefile
> >> b/drivers/pinctrl/samsung/Makefile
> >> index ed951df6a112..b3ac01838b8a 100644
> >> --- a/drivers/pinctrl/samsung/Makefile
> >> +++ b/drivers/pinctrl/samsung/Makefile
> >> @@ -1,9 +1,10 @@
> >>  # SPDX-License-Identifier: GPL-2.0
> >>  # Samsung pin control drivers
> >>
> >> -obj-$(CONFIG_PINCTRL_SAMSUNG)  += pinctrl-samsung.o
> >> -obj-$(CONFIG_PINCTRL_EXYNOS)   += pinctrl-exynos.o
> >> -obj-$(CONFIG_PINCTRL_EXYNOS_ARM)       += pinctrl-exynos-arm.o
> >> -obj-$(CONFIG_PINCTRL_EXYNOS_ARM64)     += pinctrl-exynos-arm64.o
> >> -obj-$(CONFIG_PINCTRL_S3C24XX)  += pinctrl-s3c24xx.o
> >> -obj-$(CONFIG_PINCTRL_S3C64XX)  += pinctrl-s3c64xx.o
> >> +obj-$(CONFIG_PINCTRL_SAMSUNG)  += pinctrl-samsung-super.o
> >> +pinctrl-samsung-super-$(CONFIG_PINCTRL_SAMSUNG)        += pinctrl-samsung.o
> >> +pinctrl-samsung-super-$(CONFIG_PINCTRL_EXYNOS) += pinctrl-exynos.o
> >> +pinctrl-samsung-super-$(CONFIG_PINCTRL_EXYNOS_ARM)     += pinctrl-exynos-
> >> arm.o
> >> +pinctrl-samsung-super-$(CONFIG_PINCTRL_EXYNOS_ARM64)   += pinctrl-exynos-
> >> arm64.o
> >> +pinctrl-samsung-super-$(CONFIG_PINCTRL_S3C24XX)        += pinctrl-s3c24xx.o
> >> +pinctrl-samsung-super-$(CONFIG_PINCTRL_S3C64XX)        += pinctrl-s3c64xx.o
> >
> > I don't get why you need to rename obj to pinctrl-samsung-super?
>
> I would like to make pinctrl as a super module. It is many dependency between pinctrl-exynos, pinctr-exynos-arm64 and pinctrl-samsung

Might be a stupid question but what is "Super module"?

Second, the dependencies are there because this is a integral part of them.

I think I miss some bigger picture here because I still do not
understand what you want to achieve in the end (why doing this)?

Best regards,
Krzysztof




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux