2010-08-03 05:03:44

by Michael Neuling

[permalink] [raw]
Subject: [PATCH 2.6.32/stable] CIFS: Remove __exit mark from cifs_init_dns_resolver() header

An allmodconfig compile on ppc64 with 2.6.32.17 currently gives this error

fs/cifs/dns_resolve.h:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'cifs_init_dns_resolver'

This removes the __init from cifs_init_dns_resolver()

Signed-off-by: Michael Neuling <[email protected]>
cc: [email protected] (for 2.6.32)

Index: linux-2.6-ozlabs/fs/cifs/dns_resolve.h
===================================================================
--- linux-2.6-ozlabs.orig/fs/cifs/dns_resolve.h
+++ linux-2.6-ozlabs/fs/cifs/dns_resolve.h
@@ -24,7 +24,7 @@
#define _DNS_RESOLVE_H

#ifdef __KERNEL__
-extern int __init cifs_init_dns_resolver(void);
+extern int cifs_init_dns_resolver(void);
extern void cifs_exit_dns_resolver(void);
extern int dns_resolve_server_name_to_ip(const char *unc, char **ip_addr);
#endif /* KERNEL */


2010-08-03 21:40:57

by David Howells

[permalink] [raw]
Subject: Re: [PATCH 2.6.32/stable] CIFS: Remove __exit mark from cifs_init_dns_resolver() header

Michael Neuling <[email protected]> wrote:

> An allmodconfig compile on ppc64 with 2.6.32.17 currently gives this error
>
> fs/cifs/dns_resolve.h:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'cifs_init_dns_resolver'
>
> This removes the __init from cifs_init_dns_resolver()

That's not really a good idea as the assembler may choose different pieces of
assembly to do variable references and jumps, depending on the section
information.

A better fix is to add:

#include <linux/module.h>

to the header file.

David

2010-08-03 22:32:17

by Michael Neuling

[permalink] [raw]
Subject: [PATCH 2.6.32/stable] CIFS: Fix compile error with __init in cifs_init_dns_resolver() definition

In message <[email protected]> you wrote:
> Michael Neuling <[email protected]> wrote:
>
> > An allmodconfig compile on ppc64 with 2.6.32.17 currently gives this error
> >
> > fs/cifs/dns_resolve.h:27: error: expected '=', ',', ';', 'asm' or '__attrib
ute__' before 'cifs_init_dns_resolver'
> >
> > This removes the __init from cifs_init_dns_resolver()
>
> That's not really a good idea as the assembler may choose different pieces of
> assembly to do variable references and jumps, depending on the section
> information.
>
> A better fix is to add:
>
> #include <linux/module.h>
>
> to the header file.

Ok, new patch below.



CIFS: Fix compile error with __init in cifs_init_dns_resolver() definition

An allmodconfig compile on ppc64 with 2.6.32.17 currently gives this error

fs/cifs/dns_resolve.h:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'cifs_init_dns_resolver'

This adds the correct header file to fix this.

Signed-off-by: Michael Neuling <[email protected]>
cc: [email protected] (for 2.6.32)

Index: linux-2.6-ozlabs/fs/cifs/dns_resolve.h
===================================================================
--- linux-2.6-ozlabs.orig/fs/cifs/dns_resolve.h
+++ linux-2.6-ozlabs/fs/cifs/dns_resolve.h
@@ -24,6 +24,8 @@
#define _DNS_RESOLVE_H

#ifdef __KERNEL__
+#include <linux/module.h>
+
extern int __init cifs_init_dns_resolver(void);
extern void cifs_exit_dns_resolver(void);
extern int dns_resolve_server_name_to_ip(const char *unc, char **ip_addr);