WARNING: "__moddi3" [drivers/mtd/mtdconcat.ko] undefined!
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
#include <linux/mtd/mtd.h>
#include <linux/mtd/concat.h>
+#include <asm/div64.h>
+
/*
* Our storage structure:
* Subdev points to an array of pointers to struct mtd_info objects
return -EINVAL;
/* Check alignment */
- if (mtd->oobblock > 1)
- if ((to % mtd->oobblock) || (total_len % mtd->oobblock))
+ if (mtd->oobblock > 1) {
+ loff_t __to = to;
+ if (do_div(__to, mtd->oobblock) || (total_len % mtd->oobblock))
return -EINVAL;
+ }
/* make a copy of vecs */
vecs_copy = kmalloc(sizeof(struct kvec) * count, GFP_KERNEL);