[1/2,MTD] Move mtd_bdi_*mappable to mtdcore.c

Submitted by Jörn Engel on April 26, 2010, 4:30 p.m.

Details

Message ID 20100426163050.GC4364@logfs.org
State New, archived
Headers show

Commit Message

Jörn Engel April 26, 2010, 4:30 p.m.
On Mon, 26 April 2010 16:45:32 +0200, Jens Axboe wrote:
> 
> Took a quick look, and you want bdi_setup_and_register() for the three
> bdis listed in mtdbdi.c in mtdcore.c:init_mtd(). Or manual bdi_init()
> and bdi_register(). I'll take a look post-dinner. Either is workable,
> but since the flags are already setup, the latter may be cleaner.

Ok, here are two patches that appear to solve the problem for me.

Jörn

Comments

Jens Axboe April 26, 2010, 5:01 p.m.
On Mon, Apr 26 2010, Jörn Engel wrote:
> On Mon, 26 April 2010 16:45:32 +0200, Jens Axboe wrote:
> > 
> > Took a quick look, and you want bdi_setup_and_register() for the three
> > bdis listed in mtdbdi.c in mtdcore.c:init_mtd(). Or manual bdi_init()
> > and bdi_register(). I'll take a look post-dinner. Either is workable,
> > but since the flags are already setup, the latter may be cleaner.
> 
> Ok, here are two patches that appear to solve the problem for me.
> 
> diff --git a/drivers/mtd/devices/drais.c b/drivers/mtd/devices/drais.c
> index b93ff3f..6f81b28 100644
> --- a/drivers/mtd/devices/drais.c
> +++ b/drivers/mtd/devices/drais.c
> @@ -33,7 +33,7 @@
>  #include <linux/sched.h>
>  #include "drais.h"
>  
> -#undef DEBUG_ERASE
> +#define DEBUG_ERASE

Leftover debugging?
Jörn Engel April 26, 2010, 5:08 p.m.
On Mon, 26 April 2010 19:01:28 +0200, Jens Axboe wrote:
> On Mon, Apr 26 2010, Jörn Engel wrote:
> > 
> > diff --git a/drivers/mtd/devices/drais.c b/drivers/mtd/devices/drais.c
> > index b93ff3f..6f81b28 100644
> > --- a/drivers/mtd/devices/drais.c
> > +++ b/drivers/mtd/devices/drais.c
> > @@ -33,7 +33,7 @@
> >  #include <linux/sched.h>
> >  #include "drais.h"
> >  
> > -#undef DEBUG_ERASE
> > +#define DEBUG_ERASE
> 
> Leftover debugging?

Yes.  Can you just remove that hunk or should I resend?

Jörn
Jens Axboe April 26, 2010, 5:10 p.m.
On Mon, Apr 26 2010, Jörn Engel wrote:
> On Mon, 26 April 2010 19:01:28 +0200, Jens Axboe wrote:
> > On Mon, Apr 26 2010, Jörn Engel wrote:
> > > 
> > > diff --git a/drivers/mtd/devices/drais.c b/drivers/mtd/devices/drais.c
> > > index b93ff3f..6f81b28 100644
> > > --- a/drivers/mtd/devices/drais.c
> > > +++ b/drivers/mtd/devices/drais.c
> > > @@ -33,7 +33,7 @@
> > >  #include <linux/sched.h>
> > >  #include "drais.h"
> > >  
> > > -#undef DEBUG_ERASE
> > > +#define DEBUG_ERASE
> > 
> > Leftover debugging?
> 
> Yes.  Can you just remove that hunk or should I resend?

I can kill that hunk, no problem.

Patch hide | download patch | download mbox

diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
index 82d1e4d..4521b1e 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -4,7 +4,7 @@ 
 
 # Core functionality.
 obj-$(CONFIG_MTD)		+= mtd.o
-mtd-y				:= mtdcore.o mtdsuper.o mtdbdi.o
+mtd-y				:= mtdcore.o mtdsuper.o
 mtd-$(CONFIG_MTD_PARTITIONS)	+= mtdpart.o
 
 obj-$(CONFIG_MTD_CONCAT)	+= mtdconcat.o
diff --git a/drivers/mtd/devices/drais.c b/drivers/mtd/devices/drais.c
index b93ff3f..6f81b28 100644
--- a/drivers/mtd/devices/drais.c
+++ b/drivers/mtd/devices/drais.c
@@ -33,7 +33,7 @@ 
 #include <linux/sched.h>
 #include "drais.h"
 
-#undef DEBUG_ERASE
+#define DEBUG_ERASE
 
 #define DRAIS_BB_MAGIC		0x3911b26ba5a931d8ull
 
diff --git a/drivers/mtd/internal.h b/drivers/mtd/internal.h
index c658fe7..e69de29 100644
--- a/drivers/mtd/internal.h
+++ b/drivers/mtd/internal.h
@@ -1,17 +0,0 @@ 
-/* Internal MTD definitions
- *
- * Copyright © 2006 Red Hat, Inc. All Rights Reserved.
- * Written by David Howells (dhowells@redhat.com)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-/*
- * mtdbdi.c
- */
-extern struct backing_dev_info mtd_bdi_unmappable;
-extern struct backing_dev_info mtd_bdi_ro_mappable;
-extern struct backing_dev_info mtd_bdi_rw_mappable;
diff --git a/drivers/mtd/mtdbdi.c b/drivers/mtd/mtdbdi.c
index 5ca5aed..e69de29 100644
--- a/drivers/mtd/mtdbdi.c
+++ b/drivers/mtd/mtdbdi.c
@@ -1,43 +0,0 @@ 
-/* MTD backing device capabilities
- *
- * Copyright © 2006 Red Hat, Inc. All Rights Reserved.
- * Written by David Howells (dhowells@redhat.com)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#include <linux/backing-dev.h>
-#include <linux/mtd/mtd.h>
-#include "internal.h"
-
-/*
- * backing device capabilities for non-mappable devices (such as NAND flash)
- * - permits private mappings, copies are taken of the data
- */
-struct backing_dev_info mtd_bdi_unmappable = {
-	.capabilities	= BDI_CAP_MAP_COPY,
-};
-
-/*
- * backing device capabilities for R/O mappable devices (such as ROM)
- * - permits private mappings, copies are taken of the data
- * - permits non-writable shared mappings
- */
-struct backing_dev_info mtd_bdi_ro_mappable = {
-	.capabilities	= (BDI_CAP_MAP_COPY | BDI_CAP_MAP_DIRECT |
-			   BDI_CAP_EXEC_MAP | BDI_CAP_READ_MAP),
-};
-
-/*
- * backing device capabilities for writable mappable devices (such as RAM)
- * - permits private mappings, copies are taken of the data
- * - permits non-writable shared mappings
- */
-struct backing_dev_info mtd_bdi_rw_mappable = {
-	.capabilities	= (BDI_CAP_MAP_COPY | BDI_CAP_MAP_DIRECT |
-			   BDI_CAP_EXEC_MAP | BDI_CAP_READ_MAP |
-			   BDI_CAP_WRITE_MAP),
-};
diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
index 05b9577..cb4858b 100644
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
@@ -2,6 +2,9 @@ 
  * Core registration and callback routines for MTD
  * drivers and users.
  *
+ * bdi bits are:
+ * Copyright © 2006 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowells@redhat.com)
  */
 
 #include <linux/module.h>
@@ -16,11 +19,39 @@ 
 #include <linux/init.h>
 #include <linux/mtd/compatmac.h>
 #include <linux/proc_fs.h>
+#include <linux/backing-dev.h>
 
 #include <linux/mtd/mtd.h>
-#include "internal.h"
 
 #include "mtdcore.h"
+/*
+ * backing device capabilities for non-mappable devices (such as NAND flash)
+ * - permits private mappings, copies are taken of the data
+ */
+struct backing_dev_info mtd_bdi_unmappable = {
+	.capabilities	= BDI_CAP_MAP_COPY,
+};
+
+/*
+ * backing device capabilities for R/O mappable devices (such as ROM)
+ * - permits private mappings, copies are taken of the data
+ * - permits non-writable shared mappings
+ */
+struct backing_dev_info mtd_bdi_ro_mappable = {
+	.capabilities	= (BDI_CAP_MAP_COPY | BDI_CAP_MAP_DIRECT |
+			   BDI_CAP_EXEC_MAP | BDI_CAP_READ_MAP),
+};
+
+/*
+ * backing device capabilities for writable mappable devices (such as RAM)
+ * - permits private mappings, copies are taken of the data
+ * - permits non-writable shared mappings
+ */
+struct backing_dev_info mtd_bdi_rw_mappable = {
+	.capabilities	= (BDI_CAP_MAP_COPY | BDI_CAP_MAP_DIRECT |
+			   BDI_CAP_EXEC_MAP | BDI_CAP_READ_MAP |
+			   BDI_CAP_WRITE_MAP),
+};
 
 static int mtd_cls_suspend(struct device *dev, pm_message_t state);
 static int mtd_cls_resume(struct device *dev);