Re: [PATCH v4 4/9] staging:lustre: merge socklnd_lib-linux.h into socklnd.h

From: Guenter Roeck
Date: Wed Jun 24 2015 - 21:34:01 EST


On Wed, Jun 24, 2015 at 02:37:51PM +0200, Geert Uytterhoeven wrote:
> Hi James,
>
> On Thu, Jun 11, 2015 at 9:18 PM, James Simmons <jsimmons@xxxxxxxxxxxxx> wrote:
> > From: John L. Hammond <john.hammond@xxxxxxxxx>
> >
> > Originally socklnd_lib-linux.h contained linux specific
> > wrappers and defines but since the linux kernel is the
> > only supported platform now we can merge what little
> > remains in the header into socklnd.h. This is broken
> > out of the original patch 12932 that was merged to the
> > Intel/OpenSFS branch.
> >
> > Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx>
> > Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2675
> > Reviewed-on: http://review.whamcloud.com/12932
> > Reviewed-by: Isaac Huang <he.huang@xxxxxxxxx>
> > Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx>
> > Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx>
> > Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx>
> > ---
> > .../staging/lustre/lnet/klnds/socklnd/socklnd.h | 39 +++++++++-
> > .../lustre/lnet/klnds/socklnd/socklnd_lib-linux.h | 86 --------------------
> > .../lustre/lnet/klnds/socklnd/socklnd_lib.c | 4 +-
> > 3 files changed, 40 insertions(+), 89 deletions(-)
> > delete mode 100644 drivers/staging/lustre/lnet/klnds/socklnd/socklnd_lib-linux.h
> >
> > diff --git a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.h b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.h
> > index 53275f9..7125eb9 100644
> > --- a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.h
> > +++ b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.h
> > @@ -25,16 +25,40 @@
> > *
> > */
> >
> > +#ifndef _SOCKLND_SOCKLND_H_
> > +#define _SOCKLND_SOCKLND_H_
> > +
> > #define DEBUG_PORTAL_ALLOC
> > #define DEBUG_SUBSYSTEM S_LND
> >
> > -#include "socklnd_lib-linux.h"
> > +#include <asm/irq.h>
> > +#include <linux/crc32.h>
> > +#include <linux/errno.h>
>
> Including <asm/irq.h> first causes a build failure for m68k/allmodconfig:
>
> arch/m68k/include/asm/irq.h:77:12: error: expected '=', ',', ';',
> 'asm' or '__attribute__' before 'void'
> arch/m68k/include/asm/irq.h:78:1: error: unknown type name 'atomic_t'
> arch/m68k/include/asm/irq.h:77:12: error: expected '=', ',', ';',
> 'asm' or '__attribute__' before 'void'
> arch/m68k/include/asm/irq.h:78:1: error: unknown type name 'atomic_t'
>
> http://kisskb.ellerman.id.au/kisskb/buildresult/12448922/
>
> Fixing it inside arch/m68k/include/asm/irq.h might cause Include Hell,
> so perhaps you can just move the <asm/*> include below all <linux/*>
> includes?
>
Hi Geert,

I have not tested it, but I think the following may fix the problem
while avoiding any include problems. Since pt_regs is used in the file,
one could argue that it should be declared.

Thanks,
Guenter

--
diff --git a/arch/m68k/include/asm/irq.h b/arch/m68k/include/asm/irq.h
index 81ca118d58af..28ffa8d59cf0 100644
--- a/arch/m68k/include/asm/irq.h
+++ b/arch/m68k/include/asm/irq.h
@@ -74,6 +74,8 @@ extern unsigned int irq_canonicalize(unsigned int irq);
#define irq_canonicalize(irq) (irq)
#endif /* !(CONFIG_M68020 || CONFIG_M68030 || CONFIG_M68040 || CONFIG_M68060) */

+struct pt_regs;
+
asmlinkage void do_IRQ(int irq, struct pt_regs *regs);
extern atomic_t irq_err_count;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/