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


Groups > linux.kernel > #1413667 > unrolled thread

[PATCH] pinctrl: tegra: Fix build dependency

Started byAxel Lin <axel.lin@ingics.com>
First post2016-06-04 08:40 +0200
Last post2016-06-08 14:00 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] pinctrl: tegra: Fix build dependency Axel Lin <axel.lin@ingics.com> - 2016-06-04 08:40 +0200
    Re: [PATCH] pinctrl: tegra: Fix build dependency Jon Hunter <jonathanh@nvidia.com> - 2016-06-07 11:20 +0200
      Re: [PATCH] pinctrl: tegra: Fix build dependency Jon Hunter <jonathanh@nvidia.com> - 2016-06-07 11:30 +0200
    Re: [PATCH] pinctrl: tegra: Fix build dependency Linus Walleij <linus.walleij@linaro.org> - 2016-06-08 14:00 +0200

#1413667 — [PATCH] pinctrl: tegra: Fix build dependency

FromAxel Lin <axel.lin@ingics.com>
Date2016-06-04 08:40 +0200
Subject[PATCH] pinctrl: tegra: Fix build dependency
Message-ID<rGdpv-5kO-1@gated-at.bofh.it>
I got below build error:
ERROR: "tegra_xusb_padctl_legacy_probe" [drivers/phy/tegra/phy-tegra-xusb.ko] undefined!
with below build configuration:
CONFIG_ARCH_TEGRA=y
CONFIG_PINCTRL_TEGRA_XUSB=y
CONFIG_PHY_TEGRA_XUSB=y

The problem is below line in drivers/pinctrl/Makefile
obj-$(CONFIG_PINCTRL_TEGRA)     += tegra/

So even CONFIG_PINCTRL_TEGRA_XUSB=y is set, kbuild still does not compile
the code in drivers/pinctrl/tegra folder if !CONFIG_PINCTRL_TEGRA.

phy-tegra-xusb.c does not use any symbol from pinctrl-tegra.c,
so build pinctrl-tegra.c only when CONFIG_PINCTRL_TEGRA is set.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
 drivers/pinctrl/Makefile       | 2 +-
 drivers/pinctrl/tegra/Makefile | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
index 2ed0b3f..25ec450 100644
--- a/drivers/pinctrl/Makefile
+++ b/drivers/pinctrl/Makefile
@@ -25,7 +25,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 a927379..d9ea2be 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
-- 
2.5.0

[toc] | [next] | [standalone]


#1415905

FromJon Hunter <jonathanh@nvidia.com>
Date2016-06-07 11:20 +0200
Message-ID<rHll0-PT-15@gated-at.bofh.it>
In reply to#1413667
On 04/06/16 07:35, Axel Lin wrote:
> I got below build error:
> ERROR: "tegra_xusb_padctl_legacy_probe" [drivers/phy/tegra/phy-tegra-xusb.ko] undefined!
> with below build configuration:
> CONFIG_ARCH_TEGRA=y
> CONFIG_PINCTRL_TEGRA_XUSB=y
> CONFIG_PHY_TEGRA_XUSB=y

The above does not make sense because the error is from building a
module but you say you have CONFIG_PINCTRL_TEGRA_XUSB=y. Shouldn't this
be CONFIG_PINCTRL_TEGRA_XUSB=m? However, the error will occur either if
you compile as a module or not, but the changelog should be accurate
nonetheless.

> The problem is below line in drivers/pinctrl/Makefile
> obj-$(CONFIG_PINCTRL_TEGRA)     += tegra/
> 
> So even CONFIG_PINCTRL_TEGRA_XUSB=y is set, kbuild still does not compile
> the code in drivers/pinctrl/tegra folder if !CONFIG_PINCTRL_TEGRA.

I was able to reproduce this by having CONFIG_PINCTRL_TEGRA_XUSB=y and
!CONFIG_PINCTRL_TEGRA. So maybe that's all you need to say in the
changelog with regard to the kernel config and get rid of the initial
statement about kernel config.

> phy-tegra-xusb.c does not use any symbol from pinctrl-tegra.c,
> so build pinctrl-tegra.c only when CONFIG_PINCTRL_TEGRA is set.
> 
> Signed-off-by: Axel Lin <axel.lin@ingics.com>
> ---
>  drivers/pinctrl/Makefile       | 2 +-
>  drivers/pinctrl/tegra/Makefile | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
> index 2ed0b3f..25ec450 100644
> --- a/drivers/pinctrl/Makefile
> +++ b/drivers/pinctrl/Makefile
> @@ -25,7 +25,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 a927379..d9ea2be 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

This works for me. So, if you could fix up the changelog, you could add
my ...

Acked-by: Jon Hunter <jonathanh@nvidia.com>

Cheers
Jon

-- 
nvpublic

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


#1415924

FromJon Hunter <jonathanh@nvidia.com>
Date2016-06-07 11:30 +0200
Message-ID<rHluH-Te-43@gated-at.bofh.it>
In reply to#1415905
On 07/06/16 10:17, Jon Hunter wrote:
> 
> On 04/06/16 07:35, Axel Lin wrote:
>> I got below build error:
>> ERROR: "tegra_xusb_padctl_legacy_probe" [drivers/phy/tegra/phy-tegra-xusb.ko] undefined!
>> with below build configuration:
>> CONFIG_ARCH_TEGRA=y
>> CONFIG_PINCTRL_TEGRA_XUSB=y
>> CONFIG_PHY_TEGRA_XUSB=y
> 
> The above does not make sense because the error is from building a
> module but you say you have CONFIG_PINCTRL_TEGRA_XUSB=y. Shouldn't this
> be CONFIG_PINCTRL_TEGRA_XUSB=m? However, the error will occur either if
> you compile as a module or not, but the changelog should be accurate
> nonetheless.

Sorry I meant CONFIG_PHY_TEGRA_XUSB=m and NOT
CONFIG_PINCTRL_TEGRA_XUSB=m as you are building the phy-tegra-xusb as a
module.

Jon

--
nvpublic

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


#1417327

FromLinus Walleij <linus.walleij@linaro.org>
Date2016-06-08 14:00 +0200
Message-ID<rHKjn-86P-23@gated-at.bofh.it>
In reply to#1413667
On Sat, Jun 4, 2016 at 8:35 AM, Axel Lin <axel.lin@ingics.com> wrote:

> I got below build error:
> ERROR: "tegra_xusb_padctl_legacy_probe" [drivers/phy/tegra/phy-tegra-xusb.ko] undefined!
> with below build configuration:
> CONFIG_ARCH_TEGRA=y
> CONFIG_PINCTRL_TEGRA_XUSB=y
> CONFIG_PHY_TEGRA_XUSB=y
>
> The problem is below line in drivers/pinctrl/Makefile
> obj-$(CONFIG_PINCTRL_TEGRA)     += tegra/
>
> So even CONFIG_PINCTRL_TEGRA_XUSB=y is set, kbuild still does not compile
> the code in drivers/pinctrl/tegra folder if !CONFIG_PINCTRL_TEGRA.
>
> phy-tegra-xusb.c does not use any symbol from pinctrl-tegra.c,
> so build pinctrl-tegra.c only when CONFIG_PINCTRL_TEGRA is set.
>
> Signed-off-by: Axel Lin <axel.lin@ingics.com>

Patch applied for fixes.

Yours,
Linus Walleij

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web