Messages in this thread | | | Date | Thu, 29 Jan 2009 08:25:57 -0600 | From | Jack Steiner <> | Subject | Re: [PATCH] - UV fix compile error on IA64 & eliminate compiler warning |
| |
On Thu, Jan 29, 2009 at 02:33:08PM +0100, Ingo Molnar wrote: > > * Jack Steiner <steiner@sgi.com> wrote: > > > > > The GRU driver is used on both IA64 & x86. > > The 2 architectures have different ways of detecting the > > platform type, ie. whether the platform is a UV system. > > Although it is possible to reconcile the 2 methods, > > only one place currently makes the test. > > > > Also eliminate a warning message in uv.h. > > > > Signed-off-by: Jack Steiner <steiner@sgi.com> > > > > > > --- > > arch/x86/include/asm/uv/uv.h | 1 + > > drivers/misc/sgi-gru/gru.h | 2 -- > > drivers/misc/sgi-gru/grufile.c | 1 + > > 3 files changed, 2 insertions(+), 2 deletions(-) > > > > Index: linux/arch/x86/include/asm/uv/uv.h > > =================================================================== > > --- linux.orig/arch/x86/include/asm/uv/uv.h 2009-01-28 12:43:27.000000000 -0600 > > +++ linux/arch/x86/include/asm/uv/uv.h 2009-01-28 15:13:58.000000000 -0600 > > @@ -2,6 +2,7 @@ > > #define _ASM_X86_UV_UV_H > > > > enum uv_system_type {UV_NONE, UV_LEGACY_APIC, UV_X2APIC, UV_NON_UNIQUE_APIC}; > > +struct mm_struct; > > hm, why is this needed?
I don't see the error in your tip tree, but I saw the following earlier this week when compiling in the linux-next tree:
arch/x86/include/asm/uv/uv.h:16: warning: struct mm_struct declared inside parameter list include/asm/uv/uv.h:16: warning: its scope is only this definition or declaration, which is probably not what you want
Unfortunately my log does not capture the file that produced this error. I believe it was from a non-UV file that indirectly included uv.h. It is possible that subsequent changes have removed the indirect reference.
> > > #define IS_UV() is_uv_system() > > btw., why is there an ugly IS_UV() macro. All code should be using > is_uv_system() and IS_UV() should be removed.
Agree & I plan to do that. I need to add a arch/ia64/include/asm/uv/uv.h file and hide the uglyness there. IA64 does not used the same method of determining the platform type. IA64 historically uses:
ia64_platform_is("uv")
The GRU driver must be supported on both IA64 & x86. I've tried to hide the platform differences but some are difficult (especially regarding irqs & vectors).
--- jack
| |