linux-next: build failure after merge of the moduleh tree

From: Stephen Rothwell
Date: Tue Aug 02 2011 - 01:13:26 EST


Hi Paul,

After merging the moduleh tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/md/persistent-data/dm-block-manager.c:961:16: error: expected declaration specifiers or '...' before string constant
drivers/md/persistent-data/dm-block-manager.c:961:1: warning: data definition has no type or storage class
drivers/md/persistent-data/dm-block-manager.c:961:1: warning: type defaults to 'int' in declaration of 'MODULE_LICENSE'
drivers/md/persistent-data/dm-block-manager.c:961:16: warning: function declaration isn't a prototype
drivers/md/persistent-data/dm-block-manager.c:962:15: error: expected declaration specifiers or '...' before string constant
drivers/md/persistent-data/dm-block-manager.c:962:1: warning: data definition has no type or storage class
drivers/md/persistent-data/dm-block-manager.c:962:1: warning: type defaults to 'int' in declaration of 'MODULE_AUTHOR'
drivers/md/persistent-data/dm-block-manager.c:962:15: warning: function declaration isn't a prototype
drivers/md/persistent-data/dm-block-manager.c:963:20: error: expected declaration specifiers or '...' before string constant
drivers/md/persistent-data/dm-block-manager.c:963:1: warning: data definition has no type or storage class
drivers/md/persistent-data/dm-block-manager.c:963:1: warning: type defaults to 'int' in declaration of 'MODULE_DESCRIPTION'
drivers/md/persistent-data/dm-block-manager.c:963:20: warning: function declaration isn't a prototype

Caused by an interaction between the module.h split up and commit
29a226094ff6 ("The persistent-data library offers a re-usable framework
for the storage") from the device-mapper tree. Previous versions of this
file only needed export.h, but the current one needs module.h. The
following is an incremental patch on top of the one that added export.h.
I will amend the other patch for tomorrow.

This really is a bug in the original patch as you should explicitly
include module.h if you are using the module facilities.

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Tue, 2 Aug 2011 15:06:14 +1000
Subject: [PATCH] dm: include module.h since its facilities are used

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
drivers/md/persistent-data/dm-block-manager.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/md/persistent-data/dm-block-manager.c b/drivers/md/persistent-data/dm-block-manager.c
index 842bd66..b479953 100644
--- a/drivers/md/persistent-data/dm-block-manager.c
+++ b/drivers/md/persistent-data/dm-block-manager.c
@@ -9,7 +9,7 @@
#include <linux/dm-io.h>
#include <linux/slab.h>
#include <linux/device-mapper.h>
-#include <linux/export.h>
+#include <linux/module.h>

#define DM_MSG_PREFIX "block manager"

--
1.7.5.4

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/

Attachment: pgp00000.pgp
Description: PGP signature