mtd/fs/jffs2 fs.c,1.39,1.40 os-linux.h,1.41,1.42 super-v24.c,1.76,1.77 super.c,1.92,1.93

David Woodhouse dwmw2 at infradead.org
Wed May 5 08:00:34 EDT 2004


Update of /home/cvs/mtd/fs/jffs2
In directory phoenix.infradead.org:/tmp/cvs-serv1980

Modified Files:
	fs.c os-linux.h super-v24.c super.c 
Log Message:
Patch from Josh Boyer to generalise nand_flash_setup


Index: fs.c
===================================================================
RCS file: /home/cvs/mtd/fs/jffs2/fs.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- fs.c	14 Apr 2004 12:57:54 -0000	1.39
+++ fs.c	5 May 2004 12:00:31 -0000	1.40
@@ -474,12 +474,10 @@
 	c->cleanmarker_size = sizeof(struct jffs2_unknown_node);
 	/* Joern -- stick alignment for weird 8-byte-page flash here */
 
-	if (jffs2_cleanmarker_oob(c)) {
-		/* NAND (or other bizarre) flash... do setup accordingly */
-		ret = jffs2_nand_flash_setup(c);
-		if (ret)
-			return ret;
-	}
+	/* NAND (or other bizarre) flash... do setup accordingly */
+	ret = jffs2_flash_setup(c);
+	if (ret)
+		return ret;
 
 	c->inocache_list = kmalloc(INOCACHE_HASHSIZE * sizeof(struct jffs2_inode_cache *), GFP_KERNEL);
 	if (!c->inocache_list) {
@@ -524,7 +522,7 @@
  out_inohash:
 	kfree(c->inocache_list);
  out_wbuf:
-	jffs2_nand_flash_cleanup(c);
+	jffs2_flash_cleanup(c);
 
 	return ret;
 }
@@ -623,4 +621,26 @@
 
 	kunmap(pg);
 	page_cache_release(pg);
+}
+
+int jffs2_flash_setup(struct jffs2_sb_info *c) {
+	int ret;
+	
+	if (jffs2_cleanmarker_oob(c)) {
+		/* NAND flash... do setup accordingly */
+		ret = jffs2_nand_flash_setup(c);
+		if (ret)
+			return ret;
+	}
+
+	/* add setups for other bizarre flashes here... */
+}
+
+void jffs2_flash_cleanup(struct jffs2_sb_info *c) {
+
+	if (jffs2_cleanmarker_oob(c)) {
+		jffs2_nand_flash_cleanup(c);
+	}
+
+	/* add cleanups for other bizarre flashes here... */
 }

Index: os-linux.h
===================================================================
RCS file: /home/cvs/mtd/fs/jffs2/os-linux.h,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- os-linux.h	26 Nov 2003 13:02:46 -0000	1.41
+++ os-linux.h	5 May 2004 12:00:31 -0000	1.42
@@ -193,6 +193,8 @@
 void jffs2_gc_release_page(struct jffs2_sb_info *c,
 			   unsigned char *pg,
 			   unsigned long *priv);
+int jffs2_flash_setup(struct jffs2_sb_info *c);
+void jffs2_flash_cleanup(struct jffs2_sb_info *c);
      
 
 /* writev.c */

Index: super-v24.c
===================================================================
RCS file: /home/cvs/mtd/fs/jffs2/super-v24.c,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- super-v24.c	2 Mar 2004 08:53:02 -0000	1.76
+++ super-v24.c	5 May 2004 12:00:31 -0000	1.77
@@ -90,7 +90,7 @@
 	jffs2_free_ino_caches(c);
 	jffs2_free_raw_node_refs(c);
 	kfree(c->blocks);
-	jffs2_nand_flash_cleanup(c);
+	jffs2_flash_cleanup(c);
 	kfree(c->inocache_list);
 	if (c->mtd->sync)
 		c->mtd->sync(c->mtd);

Index: super.c
===================================================================
RCS file: /home/cvs/mtd/fs/jffs2/super.c,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -r1.92 -r1.93
--- super.c	30 Mar 2004 13:01:40 -0000	1.92
+++ super.c	5 May 2004 12:00:31 -0000	1.93
@@ -266,7 +266,7 @@
 	jffs2_free_ino_caches(c);
 	jffs2_free_raw_node_refs(c);
 	kfree(c->blocks);
-	jffs2_nand_flash_cleanup(c);
+	jffs2_flash_cleanup(c);
 	kfree(c->inocache_list);
 	if (c->mtd->sync)
 		c->mtd->sync(c->mtd);




More information about the linux-mtd-cvs mailing list