All of lore.kernel.org
 help / color / mirror / Atom feed
From: steve.capper@linaro.org (Steve Capper)
To: linux-arm-kernel@lists.infradead.org
Subject: amba-pl08x and 'get_signal' namespace collision/build error
Date: Wed, 26 Jun 2013 10:13:26 +0100	[thread overview]
Message-ID: <20130626091325.GA7389@linaro.org> (raw)
In-Reply-To: <20130626084011.GA6687@linaro.org>

On Wed, Jun 26, 2013 at 09:40:25AM +0100, Steve Capper wrote:
> On Tue, Jun 25, 2013 at 07:45:39PM +0100, Russell King - ARM Linux wrote:
> > On Tue, Jun 25, 2013 at 12:30:08PM +0100, Jonathan Austin wrote:
> > > There's a patch making its way to mainline via Russell's tree
> > > (8d96250700: ARM: mm: Transparent huge page support for LPAE systems)
> > > that breaks the build of the amba-pl08x driver (drivers/dma/amba-pl08x.c) 
> > > because the 'get_signal' macro from include/linux/signal.h is now in the
> > > driver's scope and it clobbers a (previously) valid function call.
> > 
> > Well, here's the change to asm/pgtable.h in that patch:
> > 
> > diff --git a/arch/arm/include/asm/pgtable.h b/arch/arm/include/asm/pgtable.h
> > index 9bcd262..eaedce7 100644
> > --- a/arch/arm/include/asm/pgtable.h
> > +++ b/arch/arm/include/asm/pgtable.h
> > @@ -24,6 +24,9 @@
> >  #include <asm/memory.h>
> >  #include <asm/pgtable-hwdef.h>
> > 
> > +
> > +#include <asm/tlbflush.h>
> > +
> >  #ifdef CONFIG_ARM_LPAE
> >  #include <asm/pgtable-3level.h>
> >  #else
> > 
> > And the question is - if that's all that is going on in that file, why
> > is asm/tlbflush.h being added to it?  What in _that_ file uses anything
> > from asm/tlbflush.h (nothing apparantly from what I can see)?
> > 
> > So, I'm tempted to kill this change off unless someone can justify why
> > that addition happened - it looks completely inappropriate to me.
> > 
> 
> Hi Russell,
> I needed tlbflush.h for the definition of flush_pmd_entry, called by set_pmd_at
> in pgtable-3level.h.
> 
> It was pulled into pgtable.h as it would also be needed for the equivalent
> set_pmd_at function for 2-levels of paging.
> 

I was a little quick sending this sorry....

I have tried converting set_pmd_at into a macro to allow for delayed expansion.
(As I've noticed that other functions in pgtable-3level.h do this to call
flush_pmd_entry.)

Unfortunately, even with set_pmd_at defined as a macro, I get undefined
references to flush_pmd_entry and clean_pmd_entry (called from
pmdp_test_and_clear_young and pmdp_get_and_clear in asm-generic/pgtable.h).

I'm having a look to see if there's anything else I can do.
Apologies for causing this problem.

Best,
-- 
Steve

WARNING: multiple messages have this Message-ID (diff)
From: Steve Capper <steve.capper@linaro.org>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Jonathan Austin <jonathan.austin@arm.com>,
	Steve Capper <Steve.Capper@arm.com>,
	Vinod Koul <vinod.koul@intel.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	linus.walleij@linaro.org, Will Deacon <will.deacon@arm.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Al Viro <viro@zeniv.linux.org.uk>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: amba-pl08x and 'get_signal' namespace collision/build error
Date: Wed, 26 Jun 2013 10:13:26 +0100	[thread overview]
Message-ID: <20130626091325.GA7389@linaro.org> (raw)
In-Reply-To: <20130626084011.GA6687@linaro.org>

On Wed, Jun 26, 2013 at 09:40:25AM +0100, Steve Capper wrote:
> On Tue, Jun 25, 2013 at 07:45:39PM +0100, Russell King - ARM Linux wrote:
> > On Tue, Jun 25, 2013 at 12:30:08PM +0100, Jonathan Austin wrote:
> > > There's a patch making its way to mainline via Russell's tree
> > > (8d96250700: ARM: mm: Transparent huge page support for LPAE systems)
> > > that breaks the build of the amba-pl08x driver (drivers/dma/amba-pl08x.c) 
> > > because the 'get_signal' macro from include/linux/signal.h is now in the
> > > driver's scope and it clobbers a (previously) valid function call.
> > 
> > Well, here's the change to asm/pgtable.h in that patch:
> > 
> > diff --git a/arch/arm/include/asm/pgtable.h b/arch/arm/include/asm/pgtable.h
> > index 9bcd262..eaedce7 100644
> > --- a/arch/arm/include/asm/pgtable.h
> > +++ b/arch/arm/include/asm/pgtable.h
> > @@ -24,6 +24,9 @@
> >  #include <asm/memory.h>
> >  #include <asm/pgtable-hwdef.h>
> > 
> > +
> > +#include <asm/tlbflush.h>
> > +
> >  #ifdef CONFIG_ARM_LPAE
> >  #include <asm/pgtable-3level.h>
> >  #else
> > 
> > And the question is - if that's all that is going on in that file, why
> > is asm/tlbflush.h being added to it?  What in _that_ file uses anything
> > from asm/tlbflush.h (nothing apparantly from what I can see)?
> > 
> > So, I'm tempted to kill this change off unless someone can justify why
> > that addition happened - it looks completely inappropriate to me.
> > 
> 
> Hi Russell,
> I needed tlbflush.h for the definition of flush_pmd_entry, called by set_pmd_at
> in pgtable-3level.h.
> 
> It was pulled into pgtable.h as it would also be needed for the equivalent
> set_pmd_at function for 2-levels of paging.
> 

I was a little quick sending this sorry....

I have tried converting set_pmd_at into a macro to allow for delayed expansion.
(As I've noticed that other functions in pgtable-3level.h do this to call
flush_pmd_entry.)

Unfortunately, even with set_pmd_at defined as a macro, I get undefined
references to flush_pmd_entry and clean_pmd_entry (called from
pmdp_test_and_clear_young and pmdp_get_and_clear in asm-generic/pgtable.h).

I'm having a look to see if there's anything else I can do.
Apologies for causing this problem.

Best,
-- 
Steve

  reply	other threads:[~2013-06-26  9:13 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-25 11:30 amba-pl08x and 'get_signal' namespace collision/build error Jonathan Austin
2013-06-25 11:30 ` Jonathan Austin
2013-06-25 13:49 ` Linus Walleij
2013-06-25 13:49   ` Linus Walleij
2013-06-25 18:45 ` Russell King - ARM Linux
2013-06-25 18:45   ` Russell King - ARM Linux
2013-06-26  4:48   ` Vinod Koul
2013-06-26  4:48     ` Vinod Koul
2013-06-26  8:19     ` Russell King - ARM Linux
2013-06-26  8:19       ` Russell King - ARM Linux
2013-06-26 10:39       ` Vinod Koul
2013-06-26 10:39         ` Vinod Koul
2013-06-26 12:00         ` Mark Brown
2013-06-26 12:00           ` Mark Brown
2013-06-27  9:46         ` Russell King - ARM Linux
2013-06-27  9:46           ` Russell King - ARM Linux
2013-07-03 18:27           ` Olof Johansson
2013-07-03 18:27             ` Olof Johansson
2013-07-05  6:18             ` Vinod Koul
2013-07-05  6:18               ` Vinod Koul
2013-07-07 12:32               ` Russell King - ARM Linux
2013-07-07 12:32                 ` Russell King - ARM Linux
2013-07-07 13:34                 ` Vinod Koul
2013-07-07 13:34                   ` Vinod Koul
2013-07-08  2:04                   ` Vinod Koul
2013-07-08  2:04                     ` Vinod Koul
2013-06-26  8:40   ` Steve Capper
2013-06-26  8:40     ` Steve Capper
2013-06-26  9:13     ` Steve Capper [this message]
2013-06-26  9:13       ` Steve Capper

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130626091325.GA7389@linaro.org \
    --to=steve.capper@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.