Subject: Re: linux-next: build failure after merge of the final tree (pwm tree related)

From: Thierry Reding <[email-masked]>
Date: Tue, 3 Jul 2012 10:11:38 +0200

On Tue, Jul 03, 2012 at 08:06:49AM +0000, Arnd Bergmann wrote:
> On Tuesday 03 July 2012, Thierry Reding wrote:
> > On Tue, Jul 03, 2012 at 04:18:46PM +1000, Stephen Rothwell wrote:
> > > Hi Thierry,
> > > 
> > > On Tue, 3 Jul 2012 08:11:15 +0200 Thierry Reding <[email-masked]> wrote:
> > > >
> > > > I don't see how that can happen. If you have CONFIG_TWL6030_PWM=y, then
> > > > you should also have CONFIG_HAVE_PWM=y, which would in turn conflict
> > > > with CONFIG_PWM=y.
> > > > 
> > > > I'll have to fetch a powerpc toolchain and try to reproduce this.
> > > 
> > > CONFIG_HAVE_PWM only exists on arm, mips and unicore32 ... so the "select
> > > HAVE_PWM" will not do anything on any other architecture.
> > 
> > So one option would be to add HAVE_PWM on powerpc, or alternatively to
> > explicitly add a conflict to the TWL6030_PWM symbol (and any others that
> > implement the legacy API). I'd think the second alternative is
> > preferable and actually matches what Arnd proposed previously. Maybe
> > this was exactly the reason he suggested that solution in the first
> > place.
> 
> It's not what I was thinking of explicitly, but it's a good
> reason nonetheless ;-)

I came up with the attached patch. What do you think? It fixes the
PowerPC allyesconfig issue for me.

Thierry
From 33859c48f1c771584312885bc37d14433bd2de7f Mon Sep 17 00:00:00 2001
From: Thierry Reding <[email-masked]>
Date: Mon, 2 Jul 2012 21:29:45 +0200
Subject: [PATCH] pwm: Conflict with legacy PWM API

In order to avoid duplicate symbols with legacy PWM API implementations,
the new PWM framework needs to conflict with any of the existing legacy
implementations. This can be removed once all legacy implementations
have been moved to the PWM subsystem.

Signed-off-by: Thierry Reding <[email-masked]>
---
 drivers/pwm/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
index 5227415..6e49f81 100644
--- a/drivers/pwm/Kconfig
+++ b/drivers/pwm/Kconfig
@@ -1,5 +1,6 @@
 menuconfig PWM
 	bool "PWM Support"
+	depends on !MACH_JZ4740 && !PUV3_NB0916 && !TWL6030_PWM && !AB8500_PWM
 	help
 	  This enables PWM support through the generic PWM framework.
 	  You only need to enable this, if you also want to enable
-- 
1.7.11.1