Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1393510 > unrolled thread

[PATCH] phy: tegra-xusb: add pinctrl dependency

Started byArnd Bergmann <arnd@arndb.de>
First post2016-05-03 17:30 +0200
Last post2016-05-03 22:20 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] phy: tegra-xusb: add pinctrl dependency Arnd Bergmann <arnd@arndb.de> - 2016-05-03 17:30 +0200
    Re: [PATCH] phy: tegra-xusb: add pinctrl dependency Thierry Reding <thierry.reding@gmail.com> - 2016-05-03 18:10 +0200
      Re: [PATCH] phy: tegra-xusb: add pinctrl dependency Arnd Bergmann <arnd@arndb.de> - 2016-05-03 22:20 +0200

#1393510 — [PATCH] phy: tegra-xusb: add pinctrl dependency

FromArnd Bergmann <arnd@arndb.de>
Date2016-05-03 17:30 +0200
Subject[PATCH] phy: tegra-xusb: add pinctrl dependency
Message-ID<ruKqR-24h-7@gated-at.bofh.it>
The newly added tegra xusb phy driver fails to link when CONFIG_PINCTRL
is disabled, since that also leaves out the legacy probe function:

ERROR: "tegra_xusb_padctl_legacy_probe" [drivers/phy/tegra/phy-tegra-xusb.ko] undefined!

This adds a Kconfig dependency for it, depending on both
PINCTRL_TEGRA_XUSB (for the driver) and PINCTRL_TEGRA (for the
directory it's in), adding a dependency on just one of the
two does not solve the problem unfortunately.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 53d2a715c240 ("phy: Add Tegra XUSB pad controller support")
---
I'm not perfectly happy with this patch, but couldn't think of a better
way to express this.

 drivers/phy/tegra/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/phy/tegra/Kconfig b/drivers/phy/tegra/Kconfig
index a3b1de953fb7..4e56b83408e1 100644
--- a/drivers/phy/tegra/Kconfig
+++ b/drivers/phy/tegra/Kconfig
@@ -1,6 +1,6 @@
 config PHY_TEGRA_XUSB
 	tristate "NVIDIA Tegra XUSB pad controller driver"
-	depends on ARCH_TEGRA
+	depends on PINCTRL_TEGRA && PINCTRL_TEGRA_XUSB
 	help
 	  Choose this option if you have an NVIDIA Tegra SoC.
 
-- 
2.7.0

[toc] | [next] | [standalone]


#1393581

FromThierry Reding <thierry.reding@gmail.com>
Date2016-05-03 18:10 +0200
Message-ID<ruL3B-2N5-25@gated-at.bofh.it>
In reply to#1393510

[Multipart message — attachments visible in raw view] — view raw

On Tue, May 03, 2016 at 05:24:51PM +0200, Arnd Bergmann wrote:
> The newly added tegra xusb phy driver fails to link when CONFIG_PINCTRL
> is disabled, since that also leaves out the legacy probe function:
> 
> ERROR: "tegra_xusb_padctl_legacy_probe" [drivers/phy/tegra/phy-tegra-xusb.ko] undefined!

Wouldn't that be more of a case for a select dependency? I'm thinking
something like the below (untested, yet).

Thierry
--- >8 ---
diff --git a/drivers/phy/tegra/Kconfig b/drivers/phy/tegra/Kconfig
index a3b1de953fb7..59e0dba9259a 100644
--- a/drivers/phy/tegra/Kconfig
+++ b/drivers/phy/tegra/Kconfig
@@ -1,6 +1,7 @@
 config PHY_TEGRA_XUSB
 	tristate "NVIDIA Tegra XUSB pad controller driver"
 	depends on ARCH_TEGRA
+	select PINCTRL_TEGRA_XUSB
 	help
 	  Choose this option if you have an NVIDIA Tegra SoC.
 
diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
index e4bc1151e04f..42a5c1dddfef 100644
--- a/drivers/pinctrl/Makefile
+++ b/drivers/pinctrl/Makefile
@@ -23,7 +23,7 @@ obj-$(CONFIG_PINCTRL_PISTACHIO)	+= pinctrl-pistachio.o
 obj-$(CONFIG_PINCTRL_ROCKCHIP)	+= pinctrl-rockchip.o
 obj-$(CONFIG_PINCTRL_SINGLE)	+= pinctrl-single.o
 obj-$(CONFIG_PINCTRL_SIRF)	+= sirf/
-obj-$(CONFIG_PINCTRL_TEGRA)	+= tegra/
+obj-$(CONFIG_ARCH_TEGRA)	+= tegra/
 obj-$(CONFIG_PINCTRL_TZ1090)	+= pinctrl-tz1090.o
 obj-$(CONFIG_PINCTRL_TZ1090_PDC)	+= pinctrl-tz1090-pdc.o
 obj-$(CONFIG_PINCTRL_U300)	+= pinctrl-u300.o
diff --git a/drivers/pinctrl/tegra/Makefile b/drivers/pinctrl/tegra/Makefile
index a927379b6794..d9ea2be69cc4 100644
--- a/drivers/pinctrl/tegra/Makefile
+++ b/drivers/pinctrl/tegra/Makefile
@@ -1,4 +1,4 @@
-obj-y					+= pinctrl-tegra.o
+obj-$(CONFIG_PINCTRL_TEGRA)		+= pinctrl-tegra.o
 obj-$(CONFIG_PINCTRL_TEGRA20)		+= pinctrl-tegra20.o
 obj-$(CONFIG_PINCTRL_TEGRA30)		+= pinctrl-tegra30.o
 obj-$(CONFIG_PINCTRL_TEGRA114)		+= pinctrl-tegra114.o

[toc] | [prev] | [next] | [standalone]


#1393780

FromArnd Bergmann <arnd@arndb.de>
Date2016-05-03 22:20 +0200
Message-ID<ruOXw-6su-3@gated-at.bofh.it>
In reply to#1393581
On Tuesday 03 May 2016 18:07:08 Thierry Reding wrote:
> Wouldn't that be more of a case for a select dependency? I'm thinking
> something like the below (untested, yet).
> 

I usually prefer 'depends on' in a case like this, but it doesn't make
a huge difference. If we end up using 'select' here, we should
make the other symbol invisible though.

> --- >8 ---
> diff --git a/drivers/phy/tegra/Kconfig b/drivers/phy/tegra/Kconfig
> index a3b1de953fb7..59e0dba9259a 100644
> --- a/drivers/phy/tegra/Kconfig
> +++ b/drivers/phy/tegra/Kconfig
> @@ -1,6 +1,7 @@
>  config PHY_TEGRA_XUSB
>         tristate "NVIDIA Tegra XUSB pad controller driver"
>         depends on ARCH_TEGRA
> +       select PINCTRL_TEGRA_XUSB
>         help
>           Choose this option if you have an NVIDIA Tegra SoC.
>  
> diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
> index e4bc1151e04f..42a5c1dddfef 100644
> --- a/drivers/pinctrl/Makefile
> +++ b/drivers/pinctrl/Makefile
> @@ -23,7 +23,7 @@ obj-$(CONFIG_PINCTRL_PISTACHIO)       += pinctrl-pistachio.o
>  obj-$(CONFIG_PINCTRL_ROCKCHIP) += pinctrl-rockchip.o
>  obj-$(CONFIG_PINCTRL_SINGLE)   += pinctrl-single.o
>  obj-$(CONFIG_PINCTRL_SIRF)     += sirf/
> -obj-$(CONFIG_PINCTRL_TEGRA)    += tegra/
> +obj-$(CONFIG_ARCH_TEGRA)       += tegra/
>  obj-$(CONFIG_PINCTRL_TZ1090)   += pinctrl-tz1090.o
>  obj-$(CONFIG_PINCTRL_TZ1090_PDC)       += pinctrl-tz1090-pdc.o
>  obj-$(CONFIG_PINCTRL_U300)     += pinctrl-u300.o

This change helps, but feels a little unclean. It also prevents us
from adding a '|| COMPILE_TEST' dependency.

How about making PHY_TEGRA_XUSB silent, and adding the 'select'
in the phy driver along with 'depends on PINCTRL_TEGRA'?

	Arnd

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web