* [RFC PATCH powerpc] Fix compile error of pgtable-ppc64.h
@ 2014-01-17 6:10 Li Zhong
2014-01-17 6:57 ` Aneesh Kumar K.V
0 siblings, 1 reply; 4+ messages in thread
From: Li Zhong @ 2014-01-17 6:10 UTC (permalink / raw)
To: PowerPC email list; +Cc: Paul Mackerras, aneesh.kumar
It seems that forward declaration couldn't work well with typedef, use
struct spinlock directly to avoiding following build errors:
In file included from include/linux/spinlock.h:81,
from include/linux/seqlock.h:35,
from include/linux/time.h:5,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/sched.h:17,
from arch/powerpc/kernel/asm-offsets.c:17:
include/linux/spinlock_types.h:76: error: redefinition of typedef 'spinlock_t'
/root/linux-next/arch/powerpc/include/asm/pgtable-ppc64.h:563: note: previous declaration of 'spinlock_t' was here
Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
---
arch/powerpc/include/asm/pgtable-ppc64.h | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/powerpc/include/asm/pgtable-ppc64.h b/arch/powerpc/include/asm/pgtable-ppc64.h
index d27960c..bc141c9 100644
--- a/arch/powerpc/include/asm/pgtable-ppc64.h
+++ b/arch/powerpc/include/asm/pgtable-ppc64.h
@@ -560,9 +560,9 @@ extern void pmdp_invalidate(struct vm_area_struct *vma, unsigned long address,
pmd_t *pmdp);
#define pmd_move_must_withdraw pmd_move_must_withdraw
-typedef struct spinlock spinlock_t;
-static inline int pmd_move_must_withdraw(spinlock_t *new_pmd_ptl,
- spinlock_t *old_pmd_ptl)
+struct spinlock;
+static inline int pmd_move_must_withdraw(struct spinlock *new_pmd_ptl,
+ struct spinlock *old_pmd_ptl)
{
/*
* Archs like ppc64 use pgtable to store per pmd
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [RFC PATCH powerpc] Fix compile error of pgtable-ppc64.h
2014-01-17 6:10 [RFC PATCH powerpc] Fix compile error of pgtable-ppc64.h Li Zhong
@ 2014-01-17 6:57 ` Aneesh Kumar K.V
2014-01-17 13:30 ` Li Zhong
0 siblings, 1 reply; 4+ messages in thread
From: Aneesh Kumar K.V @ 2014-01-17 6:57 UTC (permalink / raw)
To: Li Zhong, PowerPC email list; +Cc: Paul Mackerras
Li Zhong <zhong@linux.vnet.ibm.com> writes:
> It seems that forward declaration couldn't work well with typedef, use
> struct spinlock directly to avoiding following build errors:
>
> In file included from include/linux/spinlock.h:81,
> from include/linux/seqlock.h:35,
> from include/linux/time.h:5,
> from include/uapi/linux/timex.h:56,
> from include/linux/timex.h:56,
> from include/linux/sched.h:17,
> from arch/powerpc/kernel/asm-offsets.c:17:
> include/linux/spinlock_types.h:76: error: redefinition of typedef 'spinlock_t'
> /root/linux-next/arch/powerpc/include/asm/pgtable-ppc64.h:563: note: previous declaration of 'spinlock_t' was here
>
what compiler version ? I have seen that error in gcc 4.3 and it was
concluded that it is too old a compiler version to worry about. That
specific compiler version also gave error for forward declaring struct;
> Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
> ---
> arch/powerpc/include/asm/pgtable-ppc64.h | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/pgtable-ppc64.h b/arch/powerpc/include/asm/pgtable-ppc64.h
> index d27960c..bc141c9 100644
> --- a/arch/powerpc/include/asm/pgtable-ppc64.h
> +++ b/arch/powerpc/include/asm/pgtable-ppc64.h
> @@ -560,9 +560,9 @@ extern void pmdp_invalidate(struct vm_area_struct *vma, unsigned long address,
> pmd_t *pmdp);
>
> #define pmd_move_must_withdraw pmd_move_must_withdraw
> -typedef struct spinlock spinlock_t;
> -static inline int pmd_move_must_withdraw(spinlock_t *new_pmd_ptl,
> - spinlock_t *old_pmd_ptl)
> +struct spinlock;
> +static inline int pmd_move_must_withdraw(struct spinlock *new_pmd_ptl,
> + struct spinlock *old_pmd_ptl)
> {
> /*
> * Archs like ppc64 use pgtable to store per pmd
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC PATCH powerpc] Fix compile error of pgtable-ppc64.h
2014-01-17 6:57 ` Aneesh Kumar K.V
@ 2014-01-17 13:30 ` Li Zhong
2014-01-17 20:59 ` Benjamin Herrenschmidt
0 siblings, 1 reply; 4+ messages in thread
From: Li Zhong @ 2014-01-17 13:30 UTC (permalink / raw)
To: Aneesh Kumar K.V; +Cc: PowerPC email list, Paul Mackerras
On Fri, 2014-01-17 at 12:27 +0530, Aneesh Kumar K.V wrote:
> Li Zhong <zhong@linux.vnet.ibm.com> writes:
>
> > It seems that forward declaration couldn't work well with typedef, use
> > struct spinlock directly to avoiding following build errors:
> >
> > In file included from include/linux/spinlock.h:81,
> > from include/linux/seqlock.h:35,
> > from include/linux/time.h:5,
> > from include/uapi/linux/timex.h:56,
> > from include/linux/timex.h:56,
> > from include/linux/sched.h:17,
> > from arch/powerpc/kernel/asm-offsets.c:17:
> > include/linux/spinlock_types.h:76: error: redefinition of typedef 'spinlock_t'
> > /root/linux-next/arch/powerpc/include/asm/pgtable-ppc64.h:563: note: previous declaration of 'spinlock_t' was here
> >
>
> what compiler version ? I have seen that error in gcc 4.3 and it was
> concluded that it is too old a compiler version to worry about. That
> specific compiler version also gave error for forward declaring struct;
gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC), and it doesn't
report error after use struct directly.
>
> > Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
> > ---
> > arch/powerpc/include/asm/pgtable-ppc64.h | 6 +++---
> > 1 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/arch/powerpc/include/asm/pgtable-ppc64.h b/arch/powerpc/include/asm/pgtable-ppc64.h
> > index d27960c..bc141c9 100644
> > --- a/arch/powerpc/include/asm/pgtable-ppc64.h
> > +++ b/arch/powerpc/include/asm/pgtable-ppc64.h
> > @@ -560,9 +560,9 @@ extern void pmdp_invalidate(struct vm_area_struct *vma, unsigned long address,
> > pmd_t *pmdp);
> >
> > #define pmd_move_must_withdraw pmd_move_must_withdraw
> > -typedef struct spinlock spinlock_t;
> > -static inline int pmd_move_must_withdraw(spinlock_t *new_pmd_ptl,
> > - spinlock_t *old_pmd_ptl)
> > +struct spinlock;
> > +static inline int pmd_move_must_withdraw(struct spinlock *new_pmd_ptl,
> > + struct spinlock *old_pmd_ptl)
> > {
> > /*
> > * Archs like ppc64 use pgtable to store per pmd
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC PATCH powerpc] Fix compile error of pgtable-ppc64.h
2014-01-17 13:30 ` Li Zhong
@ 2014-01-17 20:59 ` Benjamin Herrenschmidt
0 siblings, 0 replies; 4+ messages in thread
From: Benjamin Herrenschmidt @ 2014-01-17 20:59 UTC (permalink / raw)
To: Li Zhong; +Cc: Paul Mackerras, PowerPC email list, Aneesh Kumar K.V
On Fri, 2014-01-17 at 21:30 +0800, Li Zhong wrote:
> On Fri, 2014-01-17 at 12:27 +0530, Aneesh Kumar K.V wrote:
> > Li Zhong <zhong@linux.vnet.ibm.com> writes:
> >
> > > It seems that forward declaration couldn't work well with typedef, use
> > > struct spinlock directly to avoiding following build errors:
> > >
> > > In file included from include/linux/spinlock.h:81,
> > > from include/linux/seqlock.h:35,
> > > from include/linux/time.h:5,
> > > from include/uapi/linux/timex.h:56,
> > > from include/linux/timex.h:56,
> > > from include/linux/sched.h:17,
> > > from arch/powerpc/kernel/asm-offsets.c:17:
> > > include/linux/spinlock_types.h:76: error: redefinition of typedef 'spinlock_t'
> > > /root/linux-next/arch/powerpc/include/asm/pgtable-ppc64.h:563: note: previous declaration of 'spinlock_t' was here
> > >
> >
> > what compiler version ? I have seen that error in gcc 4.3 and it was
> > concluded that it is too old a compiler version to worry about. That
> > specific compiler version also gave error for forward declaring struct;
>
> gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC), and it doesn't
> report error after use struct directly.
Ok, I think that's justification enough then. I'll add that. It's all
too late for 3.13 anyway so I'll send these patches during the window
with an appropriate CC to stable.
Cheers,
Ben.
> >
> > > Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
> > > ---
> > > arch/powerpc/include/asm/pgtable-ppc64.h | 6 +++---
> > > 1 files changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/arch/powerpc/include/asm/pgtable-ppc64.h b/arch/powerpc/include/asm/pgtable-ppc64.h
> > > index d27960c..bc141c9 100644
> > > --- a/arch/powerpc/include/asm/pgtable-ppc64.h
> > > +++ b/arch/powerpc/include/asm/pgtable-ppc64.h
> > > @@ -560,9 +560,9 @@ extern void pmdp_invalidate(struct vm_area_struct *vma, unsigned long address,
> > > pmd_t *pmdp);
> > >
> > > #define pmd_move_must_withdraw pmd_move_must_withdraw
> > > -typedef struct spinlock spinlock_t;
> > > -static inline int pmd_move_must_withdraw(spinlock_t *new_pmd_ptl,
> > > - spinlock_t *old_pmd_ptl)
> > > +struct spinlock;
> > > +static inline int pmd_move_must_withdraw(struct spinlock *new_pmd_ptl,
> > > + struct spinlock *old_pmd_ptl)
> > > {
> > > /*
> > > * Archs like ppc64 use pgtable to store per pmd
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-01-17 20:59 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-17 6:10 [RFC PATCH powerpc] Fix compile error of pgtable-ppc64.h Li Zhong
2014-01-17 6:57 ` Aneesh Kumar K.V
2014-01-17 13:30 ` Li Zhong
2014-01-17 20:59 ` Benjamin Herrenschmidt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).