Re: [PATCH v5 1/2] pinctrl: qcom: Allow pinctrl-msm code to be loadable as a module
On Fri 30 Oct 19:38 CDT 2020, John Stultz wrote: > Tweaks to allow pinctrl-msm code to be loadable as a module. > > This is needed in order to support having the qcom-scm driver, > which pinctrl-msm calls into, configured as a module. > > This requires that we tweak Kconfigs selecting PINCTRL_MSM to > also depend on QCOM_SCM || QCOM_SCM=n so that we match the > module setting of QCOM_SCM. > > Unlike the previous revision of this patch: > https://lore.kernel.org/lkml/20200625001039.56174-5-john.stu...@linaro.org/ > this version reworks PINCTRL_MSM to be a visible option and > instead of having the various SoC specific drivers select > PINCTRL_MSM, this switches those configs to depend on > PINCTRL_MSM. This avoids adding the oddish looking: > "depend on QCOM_SCM || QCOM_SCM=n" > to every SoC specific driver, as that becomes a maintenance > headache. > > We also add PINCTRL_MSM to the arm64 defconfig to avoid > surprises as otherwise PINCTRL_MSM/IPQ* options previously > enabled, will be off. > Reviewed-by: Bjorn Andersson Regards, Bjorn > Cc: Catalin Marinas > Cc: Will Deacon > Cc: Andy Gross > Cc: Bjorn Andersson > Cc: Joerg Roedel > Cc: Thomas Gleixner > Cc: Jason Cooper > Cc: Marc Zyngier > Cc: Linus Walleij > Cc: Vinod Koul > Cc: Kalle Valo > Cc: Maulik Shah > Cc: Lina Iyer > Cc: Saravana Kannan > Cc: Todd Kjos > Cc: Greg Kroah-Hartman > Cc: linux-arm-...@vger.kernel.org > Cc: iommu@lists.linux-foundation.org > Cc: linux-g...@vger.kernel.org > Signed-off-by: John Stultz > --- > v2: > * Module description and whitespace fixes suggested by Bjorn > * Added QCOM_SCM || QCOM_SCM=n bits on Kconfigs selecting > PINCTRL_MSM. Reported by both Todd and Bjorn. > v3: > * Make sure the QCOM_SCM || QCOM_SCM=n trick is commented > v4: > * Rework "select PINCTRL_MSM" to "depends on PINCTRL_MSM" > to consolidate the QCOM_SCM dependency. > v5: > * Add PINCTRL_MSM to arm64 defconfig > --- > arch/arm64/configs/defconfig | 1 + > drivers/pinctrl/qcom/Kconfig | 49 +++--- > drivers/pinctrl/qcom/pinctrl-msm.c | 2 ++ > 3 files changed, 28 insertions(+), 24 deletions(-) > > diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig > index 17a2df6a263e8..45768828fdb8e 100644 > --- a/arch/arm64/configs/defconfig > +++ b/arch/arm64/configs/defconfig > @@ -483,6 +483,7 @@ CONFIG_PINCTRL_IMX8MP=y > CONFIG_PINCTRL_IMX8MQ=y > CONFIG_PINCTRL_IMX8QXP=y > CONFIG_PINCTRL_IMX8DXL=y > +CONFIG_PINCTRL_MSM=y > CONFIG_PINCTRL_IPQ8074=y > CONFIG_PINCTRL_IPQ6018=y > CONFIG_PINCTRL_MSM8916=y > diff --git a/drivers/pinctrl/qcom/Kconfig b/drivers/pinctrl/qcom/Kconfig > index 5fe7b8aaf69d8..8bb786ed152dd 100644 > --- a/drivers/pinctrl/qcom/Kconfig > +++ b/drivers/pinctrl/qcom/Kconfig > @@ -2,7 +2,8 @@ > if (ARCH_QCOM || COMPILE_TEST) > > config PINCTRL_MSM > - bool > + tristate "Qualcomm core pin controller driver" > + depends on QCOM_SCM || !QCOM_SCM #if QCOM_SCM=m this can't be =y > select PINMUX > select PINCONF > select GENERIC_PINCONF > @@ -13,7 +14,7 @@ config PINCTRL_MSM > config PINCTRL_APQ8064 > tristate "Qualcomm APQ8064 pin controller driver" > depends on GPIOLIB && OF > - select PINCTRL_MSM > + depends on PINCTRL_MSM > help > This is the pinctrl, pinmux, pinconf and gpiolib driver for the > Qualcomm TLMM block found in the Qualcomm APQ8064 platform. > @@ -21,7 +22,7 @@ config PINCTRL_APQ8064 > config PINCTRL_APQ8084 > tristate "Qualcomm APQ8084 pin controller driver" > depends on GPIOLIB && OF > - select PINCTRL_MSM > + depends on PINCTRL_MSM > help > This is the pinctrl, pinmux, pinconf and gpiolib driver for the > Qualcomm TLMM block found in the Qualcomm APQ8084 platform. > @@ -29,7 +30,7 @@ config PINCTRL_APQ8084 > config PINCTRL_IPQ4019 > tristate "Qualcomm IPQ4019 pin controller driver" > depends on GPIOLIB && OF > - select PINCTRL_MSM > + depends on PINCTRL_MSM > help > This is the pinctrl, pinmux, pinconf and gpiolib driver for the > Qualcomm TLMM block found in the Qualcomm IPQ4019 platform. > @@ -37,7 +38,7 @@ config PINCTRL_IPQ4019 > config PINCTRL_IPQ8064 > tristate "Qualcomm IPQ8064 pin controller driver" > depends on GPIOLIB && OF > - select PINCTRL_MSM > + depends on PINCTRL_MSM > help > This is the pinctrl, pinmux, pinconf and gpiolib driver for the > Qualcomm TLMM block found in the Qualcomm IPQ8064 platform. > @@ -45,7 +46,7 @@ config PINCTRL_IPQ8064 > config PINCTRL_IPQ8074 > tristate "Qualcomm Technologies, Inc. IPQ8074 pin controller driver" > depends on GPIOLIB && OF > - select PINCTRL_MSM > + depends on PINCTRL_MSM > help > This is the pinctrl, pinmux, pinconf and gpiolib driver for > the Qualcomm Technologies Inc. TLMM block found on the > @@ -55,7 +56,7 @@ config PINCTRL_IP
Re: [PATCH v5 1/2] pinctrl: qcom: Allow pinctrl-msm code to be loadable as a module
On Thu, Nov 5, 2020 at 6:17 AM Linus Walleij wrote: > On Sat, Oct 31, 2020 at 1:38 AM John Stultz wrote: > > > Tweaks to allow pinctrl-msm code to be loadable as a module. > > > > This is needed in order to support having the qcom-scm driver, > > which pinctrl-msm calls into, configured as a module. > > > > This requires that we tweak Kconfigs selecting PINCTRL_MSM to > > also depend on QCOM_SCM || QCOM_SCM=n so that we match the > > module setting of QCOM_SCM. > > > > Unlike the previous revision of this patch: > > > > https://lore.kernel.org/lkml/20200625001039.56174-5-john.stu...@linaro.org/ > > this version reworks PINCTRL_MSM to be a visible option and > > instead of having the various SoC specific drivers select > > PINCTRL_MSM, this switches those configs to depend on > > PINCTRL_MSM. This avoids adding the oddish looking: > > "depend on QCOM_SCM || QCOM_SCM=n" > > to every SoC specific driver, as that becomes a maintenance > > headache. > > > > We also add PINCTRL_MSM to the arm64 defconfig to avoid > > surprises as otherwise PINCTRL_MSM/IPQ* options previously > > enabled, will be off. > > > > Cc: Catalin Marinas > > Cc: Will Deacon > > Cc: Andy Gross > > Cc: Bjorn Andersson > > Cc: Joerg Roedel > > Cc: Thomas Gleixner > > Cc: Jason Cooper > > Cc: Marc Zyngier > > Cc: Linus Walleij > > Cc: Vinod Koul > > Cc: Kalle Valo > > Cc: Maulik Shah > > Cc: Lina Iyer > > Cc: Saravana Kannan > > Cc: Todd Kjos > > Cc: Greg Kroah-Hartman > > Cc: linux-arm-...@vger.kernel.org > > Cc: iommu@lists.linux-foundation.org > > Cc: linux-g...@vger.kernel.org > > Signed-off-by: John Stultz > > --- > > v2: > > * Module description and whitespace fixes suggested by Bjorn > > * Added QCOM_SCM || QCOM_SCM=n bits on Kconfigs selecting > > PINCTRL_MSM. Reported by both Todd and Bjorn. > > v3: > > * Make sure the QCOM_SCM || QCOM_SCM=n trick is commented > > v4: > > * Rework "select PINCTRL_MSM" to "depends on PINCTRL_MSM" > > to consolidate the QCOM_SCM dependency. > > v5: > > * Add PINCTRL_MSM to arm64 defconfig > > Bjorn can you have a look at this series? > > BTW John I'm afraid I just merged a new QCOM subdriver so we might > need to respin this to cover all. > > It's an important patch so I'll help out in rebasing it if the only problem is > that my tree is moving under your feet. No worries. I'm mostly wanting to make sure there are no objections with switching PINCTRL_MSM from a selected config to a depended config. If that seems ok, I can redo it on whatever point you would like. I realize I can also split that change out separately from the module enablement bits as well if its helpful. thanks -john ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [PATCH v5 1/2] pinctrl: qcom: Allow pinctrl-msm code to be loadable as a module
On Sat, Oct 31, 2020 at 1:38 AM John Stultz wrote: > Tweaks to allow pinctrl-msm code to be loadable as a module. > > This is needed in order to support having the qcom-scm driver, > which pinctrl-msm calls into, configured as a module. > > This requires that we tweak Kconfigs selecting PINCTRL_MSM to > also depend on QCOM_SCM || QCOM_SCM=n so that we match the > module setting of QCOM_SCM. > > Unlike the previous revision of this patch: > https://lore.kernel.org/lkml/20200625001039.56174-5-john.stu...@linaro.org/ > this version reworks PINCTRL_MSM to be a visible option and > instead of having the various SoC specific drivers select > PINCTRL_MSM, this switches those configs to depend on > PINCTRL_MSM. This avoids adding the oddish looking: > "depend on QCOM_SCM || QCOM_SCM=n" > to every SoC specific driver, as that becomes a maintenance > headache. > > We also add PINCTRL_MSM to the arm64 defconfig to avoid > surprises as otherwise PINCTRL_MSM/IPQ* options previously > enabled, will be off. > > Cc: Catalin Marinas > Cc: Will Deacon > Cc: Andy Gross > Cc: Bjorn Andersson > Cc: Joerg Roedel > Cc: Thomas Gleixner > Cc: Jason Cooper > Cc: Marc Zyngier > Cc: Linus Walleij > Cc: Vinod Koul > Cc: Kalle Valo > Cc: Maulik Shah > Cc: Lina Iyer > Cc: Saravana Kannan > Cc: Todd Kjos > Cc: Greg Kroah-Hartman > Cc: linux-arm-...@vger.kernel.org > Cc: iommu@lists.linux-foundation.org > Cc: linux-g...@vger.kernel.org > Signed-off-by: John Stultz > --- > v2: > * Module description and whitespace fixes suggested by Bjorn > * Added QCOM_SCM || QCOM_SCM=n bits on Kconfigs selecting > PINCTRL_MSM. Reported by both Todd and Bjorn. > v3: > * Make sure the QCOM_SCM || QCOM_SCM=n trick is commented > v4: > * Rework "select PINCTRL_MSM" to "depends on PINCTRL_MSM" > to consolidate the QCOM_SCM dependency. > v5: > * Add PINCTRL_MSM to arm64 defconfig Bjorn can you have a look at this series? BTW John I'm afraid I just merged a new QCOM subdriver so we might need to respin this to cover all. It's an important patch so I'll help out in rebasing it if the only problem is that my tree is moving under your feet. Yours, Linus Walleij ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
[PATCH v5 1/2] pinctrl: qcom: Allow pinctrl-msm code to be loadable as a module
Tweaks to allow pinctrl-msm code to be loadable as a module. This is needed in order to support having the qcom-scm driver, which pinctrl-msm calls into, configured as a module. This requires that we tweak Kconfigs selecting PINCTRL_MSM to also depend on QCOM_SCM || QCOM_SCM=n so that we match the module setting of QCOM_SCM. Unlike the previous revision of this patch: https://lore.kernel.org/lkml/20200625001039.56174-5-john.stu...@linaro.org/ this version reworks PINCTRL_MSM to be a visible option and instead of having the various SoC specific drivers select PINCTRL_MSM, this switches those configs to depend on PINCTRL_MSM. This avoids adding the oddish looking: "depend on QCOM_SCM || QCOM_SCM=n" to every SoC specific driver, as that becomes a maintenance headache. We also add PINCTRL_MSM to the arm64 defconfig to avoid surprises as otherwise PINCTRL_MSM/IPQ* options previously enabled, will be off. Cc: Catalin Marinas Cc: Will Deacon Cc: Andy Gross Cc: Bjorn Andersson Cc: Joerg Roedel Cc: Thomas Gleixner Cc: Jason Cooper Cc: Marc Zyngier Cc: Linus Walleij Cc: Vinod Koul Cc: Kalle Valo Cc: Maulik Shah Cc: Lina Iyer Cc: Saravana Kannan Cc: Todd Kjos Cc: Greg Kroah-Hartman Cc: linux-arm-...@vger.kernel.org Cc: iommu@lists.linux-foundation.org Cc: linux-g...@vger.kernel.org Signed-off-by: John Stultz --- v2: * Module description and whitespace fixes suggested by Bjorn * Added QCOM_SCM || QCOM_SCM=n bits on Kconfigs selecting PINCTRL_MSM. Reported by both Todd and Bjorn. v3: * Make sure the QCOM_SCM || QCOM_SCM=n trick is commented v4: * Rework "select PINCTRL_MSM" to "depends on PINCTRL_MSM" to consolidate the QCOM_SCM dependency. v5: * Add PINCTRL_MSM to arm64 defconfig --- arch/arm64/configs/defconfig | 1 + drivers/pinctrl/qcom/Kconfig | 49 +++--- drivers/pinctrl/qcom/pinctrl-msm.c | 2 ++ 3 files changed, 28 insertions(+), 24 deletions(-) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index 17a2df6a263e8..45768828fdb8e 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -483,6 +483,7 @@ CONFIG_PINCTRL_IMX8MP=y CONFIG_PINCTRL_IMX8MQ=y CONFIG_PINCTRL_IMX8QXP=y CONFIG_PINCTRL_IMX8DXL=y +CONFIG_PINCTRL_MSM=y CONFIG_PINCTRL_IPQ8074=y CONFIG_PINCTRL_IPQ6018=y CONFIG_PINCTRL_MSM8916=y diff --git a/drivers/pinctrl/qcom/Kconfig b/drivers/pinctrl/qcom/Kconfig index 5fe7b8aaf69d8..8bb786ed152dd 100644 --- a/drivers/pinctrl/qcom/Kconfig +++ b/drivers/pinctrl/qcom/Kconfig @@ -2,7 +2,8 @@ if (ARCH_QCOM || COMPILE_TEST) config PINCTRL_MSM - bool + tristate "Qualcomm core pin controller driver" + depends on QCOM_SCM || !QCOM_SCM #if QCOM_SCM=m this can't be =y select PINMUX select PINCONF select GENERIC_PINCONF @@ -13,7 +14,7 @@ config PINCTRL_MSM config PINCTRL_APQ8064 tristate "Qualcomm APQ8064 pin controller driver" depends on GPIOLIB && OF - select PINCTRL_MSM + depends on PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm APQ8064 platform. @@ -21,7 +22,7 @@ config PINCTRL_APQ8064 config PINCTRL_APQ8084 tristate "Qualcomm APQ8084 pin controller driver" depends on GPIOLIB && OF - select PINCTRL_MSM + depends on PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm APQ8084 platform. @@ -29,7 +30,7 @@ config PINCTRL_APQ8084 config PINCTRL_IPQ4019 tristate "Qualcomm IPQ4019 pin controller driver" depends on GPIOLIB && OF - select PINCTRL_MSM + depends on PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm IPQ4019 platform. @@ -37,7 +38,7 @@ config PINCTRL_IPQ4019 config PINCTRL_IPQ8064 tristate "Qualcomm IPQ8064 pin controller driver" depends on GPIOLIB && OF - select PINCTRL_MSM + depends on PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm TLMM block found in the Qualcomm IPQ8064 platform. @@ -45,7 +46,7 @@ config PINCTRL_IPQ8064 config PINCTRL_IPQ8074 tristate "Qualcomm Technologies, Inc. IPQ8074 pin controller driver" depends on GPIOLIB && OF - select PINCTRL_MSM + depends on PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for the Qualcomm Technologies Inc. TLMM block found on the @@ -55,7 +56,7 @@ config PINCTRL_IPQ8074 config PINCTRL_IPQ6018 tristate "Qualcomm Technologies, Inc. IPQ6018 pin controller driver" depends on GPIOLIB && OF - select PINCTRL_MSM + depends on PINCTRL_MSM help This is the pinctrl, pinmux, pinconf and gpiolib driver for