rpms/kernel/devel linux-2.6-geode-git.patch, 1.1, 1.2 linux-2.6-mtd-git.patch, 1.1, 1.2

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Tue Jun 20 22:24:05 UTC 2006


Author: dwmw2

Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv9857

Modified Files:
	linux-2.6-geode-git.patch linux-2.6-mtd-git.patch 
Log Message:
update mtd and geode trees

linux-2.6-geode-git.patch:
 arch/i386/Kconfig                       |    9 
 arch/i386/boot/setup.S                  |    5 
 drivers/crypto/Kconfig                  |    9 
 drivers/crypto/Makefile                 |    1 
 drivers/crypto/geode-aes.c              |  395 ++++++++++++++++++++++++++++++++
 drivers/crypto/geode-aes.h              |   42 +++
 drivers/i2c/busses/scx200_acb.c         |  203 ++++++++++++----
 drivers/video/Kconfig                   |    6 
 drivers/video/console/Kconfig           |    4 
 drivers/video/geode/Kconfig             |   20 +
 drivers/video/geode/display_gx.c        |   22 +
 drivers/video/geode/display_gx.h        |    3 
 drivers/video/geode/gxfb_core.c         |    8 
 drivers/video/geode/video_gx.c          |   24 +
 drivers/video/geode/video_gx.h          |    7 
 include/linux/pci_ids.h                 |    5 
 sound/pci/Kconfig                       |    9 
 sound/pci/ac97/ac97_codec.c             |    9 
 sound/pci/cs5535audio/Makefile          |    4 
 sound/pci/cs5535audio/cs5535audio.c     |   31 ++
 sound/pci/cs5535audio/cs5535audio.h     |    8 
 sound/pci/cs5535audio/cs5535audio_pcm.c |   24 +
 sound/pci/cs5535audio/cs5535audio_pm.c  |  123 +++++++++
 23 files changed, 893 insertions(+), 78 deletions(-)

Index: linux-2.6-geode-git.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-geode-git.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-geode-git.patch	17 Jun 2006 18:59:27 -0000	1.1
+++ linux-2.6-geode-git.patch	20 Jun 2006 22:24:02 -0000	1.2
@@ -834,8 +834,8 @@
  
  config FB_INTEL
  	tristate "Intel 830M/845G/852GM/855GM/865G support (EXPERIMENTAL)"
--	depends on FB && EXPERIMENTAL && PCI && X86_32
-+	depends on FB && EXPERIMENTAL && PCI && X86_32 && !VGA_NOPROBE
+-	depends on FB && EXPERIMENTAL && PCI && X86
++	depends on FB && EXPERIMENTAL && PCI && X86 && !VGA_NOPROBE
  	select AGP
  	select AGP_INTEL
  	select FB_MODE_HELPERS

linux-2.6-mtd-git.patch:
 b/MAINTAINERS                         |    4 
 b/drivers/mtd/Kconfig                 |    4 
 b/drivers/mtd/chips/Kconfig           |    1 
 b/drivers/mtd/chips/Makefile          |    7 
 b/drivers/mtd/chips/amd_flash.c       |    8 
 b/drivers/mtd/chips/cfi_cmdset_0001.c |  474 +---
 b/drivers/mtd/chips/cfi_cmdset_0002.c |   22 
 b/drivers/mtd/chips/cfi_cmdset_0020.c |   22 
 b/drivers/mtd/chips/cfi_probe.c       |    8 
 b/drivers/mtd/chips/gen_probe.c       |   45 
 b/drivers/mtd/chips/map_ram.c         |    2 
 b/drivers/mtd/chips/map_rom.c         |    4 
 b/drivers/mtd/chips/sharp.c           |    1 
 b/drivers/mtd/devices/Kconfig         |    6 
 b/drivers/mtd/devices/Makefile        |    7 
 b/drivers/mtd/devices/block2mtd.c     |   27 
 b/drivers/mtd/devices/doc2000.c       |  129 -
 b/drivers/mtd/devices/doc2001.c       |   60 
 b/drivers/mtd/devices/doc2001plus.c   |   60 
 b/drivers/mtd/devices/docprobe.c      |   26 
 b/drivers/mtd/devices/lart.c          |    1 
 b/drivers/mtd/devices/m25p80.c        |    1 
 b/drivers/mtd/devices/ms02-nv.c       |    2 
 b/drivers/mtd/devices/mtdram.c        |    1 
 b/drivers/mtd/devices/phram.c         |   16 
 b/drivers/mtd/devices/slram.c         |    3 
 b/drivers/mtd/inftlcore.c             |  192 +-
 b/drivers/mtd/inftlmount.c            |   60 
 b/drivers/mtd/maps/Kconfig            |   11 
 b/drivers/mtd/maps/cfi_flagadm.c      |    4 
 b/drivers/mtd/maps/dbox2-flash.c      |    2 
 b/drivers/mtd/maps/mtx-1_flash.c      |    2 
 b/drivers/mtd/maps/nettel.c           |    4 
 b/drivers/mtd/maps/pcmciamtd.c        |    1 
 b/drivers/mtd/maps/physmap.c          |  255 +-
 b/drivers/mtd/mtdblock.c              |   16 
 b/drivers/mtd/mtdblock_ro.c           |    4 
 b/drivers/mtd/mtdchar.c               |  327 ++-
 b/drivers/mtd/mtdconcat.c             |  335 +--
 b/drivers/mtd/mtdcore.c               |   33 
 b/drivers/mtd/mtdpart.c               |  171 -
 b/drivers/mtd/nand/Kconfig            |   57 
 b/drivers/mtd/nand/Makefile           |    4 
 b/drivers/mtd/nand/ams-delta.c        |  237 ++
 b/drivers/mtd/nand/au1550nd.c         |  321 ++-
 b/drivers/mtd/nand/autcpu12.c         |  125 -
 b/drivers/mtd/nand/cs553x_nand.c      |  353 +++
 b/drivers/mtd/nand/diskonchip.c       |  530 ++---
 b/drivers/mtd/nand/edb7312.c          |   97 -
 b/drivers/mtd/nand/h1910.c            |   98 -
 b/drivers/mtd/nand/nand_base.c        | 3249 +++++++++++++++-------------------
 b/drivers/mtd/nand/nand_bbt.c         |  502 +++--
 b/drivers/mtd/nand/nand_ecc.c         |  227 --
 b/drivers/mtd/nand/nand_ids.c         |  177 -
 b/drivers/mtd/nand/nandsim.c          |   95 
 b/drivers/mtd/nand/ndfc.c             |  311 +++
 b/drivers/mtd/nand/ppchameleonevb.c   |  256 +-
 b/drivers/mtd/nand/rtc_from4.c        |  351 +--
 b/drivers/mtd/nand/s3c2410.c          |  252 +-
 b/drivers/mtd/nand/sharpsl.c          |  146 -
 b/drivers/mtd/nand/spia.c             |  101 -
 b/drivers/mtd/nand/toto.c             |  121 -
 b/drivers/mtd/nand/ts7250.c           |  206 ++
 b/drivers/mtd/nftlcore.c              |  221 +-
 b/drivers/mtd/nftlmount.c             |   91 
 b/drivers/mtd/onenand/Kconfig         |   14 
 b/drivers/mtd/onenand/onenand_base.c  |  718 +++++--
 b/drivers/mtd/onenand/onenand_bbt.c   |    9 
 b/drivers/mtd/redboot.c               |   18 
 b/drivers/mtd/rfd_ftl.c               |   48 
 b/fs/Kconfig                          |   38 
 b/fs/jffs/intrep.c                    |   15 
 b/fs/jffs2/Makefile                   |    3 
 b/fs/jffs2/README.Locking             |   21 
 b/fs/jffs2/acl.c                      |  485 +++++
 b/fs/jffs2/acl.h                      |   45 
 b/fs/jffs2/build.c                    |    2 
 b/fs/jffs2/compr.c                    |    2 
 b/fs/jffs2/compr.h                    |    4 
 b/fs/jffs2/debug.c                    |   14 
 b/fs/jffs2/debug.h                    |    6 
 b/fs/jffs2/dir.c                      |  121 -
 b/fs/jffs2/erase.c                    |   56 
 b/fs/jffs2/file.c                     |   35 
 b/fs/jffs2/fs.c                       |   63 
 b/fs/jffs2/gc.c                       |  131 -
 b/fs/jffs2/jffs2_fs_i.h               |   55 
 b/fs/jffs2/jffs2_fs_sb.h              |  133 +
 b/fs/jffs2/malloc.c                   |  127 +
 b/fs/jffs2/nodelist.c                 |  183 +
 b/fs/jffs2/nodelist.h                 |  189 +
 b/fs/jffs2/nodemgmt.c                 |  196 --
 b/fs/jffs2/os-linux.h                 |   23 
 b/fs/jffs2/readinode.c                |  119 -
 b/fs/jffs2/scan.c                     |  442 +++-
 b/fs/jffs2/security.c                 |   82 
 b/fs/jffs2/summary.c                  |  484 +++--
 b/fs/jffs2/summary.h                  |   64 
 b/fs/jffs2/super.c                    |   20 
 b/fs/jffs2/symlink.c                  |    7 
 b/fs/jffs2/wbuf.c                     |  968 +++++-----
 b/fs/jffs2/write.c                    |  147 -
 b/fs/jffs2/xattr.c                    | 1238 ++++++++++++
 b/fs/jffs2/xattr.h                    |  116 +
 b/fs/jffs2/xattr_trusted.c            |   52 
 b/fs/jffs2/xattr_user.c               |   52 
 b/include/linux/jffs2.h               |   56 
 b/include/linux/module.h              |    9 
 b/include/linux/mtd/inftl.h           |    2 
 b/include/linux/mtd/mtd.h             |   97 -
 b/include/linux/mtd/nand.h            |  354 ++-
 b/include/linux/mtd/ndfc.h            |   67 
 b/include/linux/mtd/nftl.h            |    2 
 b/include/linux/mtd/onenand.h         |   11 
 b/include/linux/mtd/onenand_regs.h    |    8 
 b/include/linux/mtd/partitions.h      |    2 
 b/include/linux/mtd/physmap.h         |   29 
 b/include/mtd/mtd-abi.h               |   90 
 b/include/mtd/mtd-user.h              |    1 
 b/init/Kconfig                        |    3 
 b/init/do_mounts.c                    |    4 
 b/kernel/Makefile                     |    1 
 fs/jffs2/histo.h                      |    3 
 include/linux/jffs2_fs_i.h            |   50 
 include/linux/jffs2_fs_sb.h           |  122 -
 kernel/intermodule.c                  |  184 -
 126 files changed, 11245 insertions(+), 6881 deletions(-)

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.1 -r 1.2 linux-2.6-mtd-git.patch
Index: linux-2.6-mtd-git.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-mtd-git.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-mtd-git.patch	17 Jun 2006 18:59:27 -0000	1.1
+++ linux-2.6-mtd-git.patch	20 Jun 2006 22:24:02 -0000	1.2
@@ -2954,7 +2954,7 @@
  	add_mtd_blktrans_dev(dev);
  }
 diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c
-index 6f04458..5dd0b8d 100644
+index 6f04458..aa18d45 100644
 --- a/drivers/mtd/mtdchar.c
 +++ b/drivers/mtd/mtdchar.c
 @@ -49,24 +49,18 @@ static struct mtd_notifier notifier = {
@@ -3300,12 +3300,12 @@
 -		databuf = kmalloc(buf.length, GFP_KERNEL);
 -		if (!databuf)
 +		ops.len = buf.length;
-+		ops.ooblen = mtd->oobsize;
++		ops.ooblen = buf.length;
 +		ops.ooboffs = buf.start & (mtd->oobsize - 1);
 +		ops.datbuf = NULL;
 +		ops.mode = MTD_OOB_PLACE;
 +
-+		if (ops.ooboffs && ops.len > (ops.ooblen - ops.ooboffs))
++		if (ops.ooboffs && ops.len > (mtd->oobsize - ops.ooboffs))
 +			return -EINVAL;
 +
 +		ops.oobbuf = kmalloc(buf.length, GFP_KERNEL);
@@ -3360,12 +3360,12 @@
 -		databuf = kmalloc(buf.length, GFP_KERNEL);
 -		if (!databuf)
 +		ops.len = buf.length;
-+		ops.ooblen = mtd->oobsize;
++		ops.ooblen = buf.length;
 +		ops.ooboffs = buf.start & (mtd->oobsize - 1);
 +		ops.datbuf = NULL;
 +		ops.mode = MTD_OOB_PLACE;
 +
-+		if (ops.ooboffs && ops.len > (ops.ooblen - ops.ooboffs))
++		if (ops.ooboffs && ops.len > (mtd->oobsize - ops.ooboffs))
 +			return -EINVAL;
 +
 +		ops.oobbuf = kmalloc(buf.length, GFP_KERNEL);
@@ -4356,7 +4356,7 @@
  		if(parts[i].mtdp)
  		{	/* store the object pointer (caller may or may not register it */
 diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
-index cfe288a..203f90a 100644
+index cfe288a..3db77ee 100644
 --- a/drivers/mtd/nand/Kconfig
 +++ b/drivers/mtd/nand/Kconfig
 @@ -23,6 +23,14 @@ config MTD_NAND_VERIFY_WRITE
@@ -4418,7 +4418,7 @@
  	  must advertise a platform_device for the driver to attach.
  
  config MTD_NAND_S3C2410_DEBUG
-@@ -109,6 +129,12 @@ config MTD_NAND_S3C2410_HWECC
+@@ -109,6 +129,22 @@ config MTD_NAND_S3C2410_HWECC
  	  currently not be able to switch to software, as there is no
  	  implementation for ECC method used by the S3C2410
  
@@ -4428,10 +4428,20 @@
 +	help
 +	 NDFC Nand Flash Controllers are integrated in EP44x SoCs
 +
++config MTD_NAND_S3C2410_CLKSTOP
++	bool "S3C2410 NAND IDLE clock stop"
++	depends on MTD_NAND_S3C2410
++	default n
++	help
++	  Stop the clock to the NAND controller when there is no chip
++	  selected to save power. This will mean there is a small delay
++	  when the is NAND chip selected or released, but will save
++	  approximately 5mA of power when there is nothing happening.
++
  config MTD_NAND_DISKONCHIP
  	tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation) (EXPERIMENTAL)"
  	depends on MTD_NAND && EXPERIMENTAL
-@@ -183,11 +209,24 @@ config MTD_NAND_SHARPSL
+@@ -183,11 +219,24 @@ config MTD_NAND_SHARPSL
  	tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)"
  	depends on MTD_NAND && ARCH_PXA
  
@@ -5815,7 +5825,7 @@
 +MODULE_AUTHOR("David Woodhouse <dwmw2 at infradead.org>");
 +MODULE_DESCRIPTION("NAND controller driver for AMD CS5535/CS5536 companion chip");
 diff --git a/drivers/mtd/nand/diskonchip.c b/drivers/mtd/nand/diskonchip.c
-index ec5e45e..463e12c 100644
+index ec5e45e..6107f53 100644
 --- a/drivers/mtd/nand/diskonchip.c
 +++ b/drivers/mtd/nand/diskonchip.c
 @@ -58,10 +58,10 @@ #elif defined(__PPC__)
@@ -6146,6 +6156,15 @@
  
  		udelay(50);
  
+@@ -464,7 +464,7 @@ static void __init doc2000_count_chips(s
+ 	printk(KERN_DEBUG "Detected %d chips per floor.\n", i);
+ }
+ 
+-static int doc200x_wait(struct mtd_info *mtd, struct nand_chip *this, int state)
++static int doc200x_wait(struct mtd_info *mtd, struct nand_chip *this)
+ {
+ 	struct doc_priv *doc = this->priv;
+ 
 @@ -482,7 +482,7 @@ static void doc2001_write_byte(struct mt
  {
  	struct nand_chip *this = mtd->priv;
@@ -7507,7 +7526,7 @@
  
  MODULE_LICENSE("GPL");
 diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
-index 95e96fa..77406fc 100644
+index 95e96fa..27083ed 100644
 --- a/drivers/mtd/nand/nand_base.c
 +++ b/drivers/mtd/nand/nand_base.c
 @@ -10,67 +10,31 @@
@@ -7754,7 +7773,8 @@
   * endianess conversion
   */
 -static u_char nand_read_byte16(struct mtd_info *mtd)
--{
++static uint8_t nand_read_byte16(struct mtd_info *mtd)
+ {
 -	struct nand_chip *this = mtd->priv;
 -	return (u_char) cpu_to_le16(readw(this->IO_ADDR_R));
 -}
@@ -7768,8 +7788,7 @@
 - * endianess conversion
 - */
 -static void nand_write_byte16(struct mtd_info *mtd, u_char byte)
-+static uint8_t nand_read_byte16(struct mtd_info *mtd)
- {
+-{
 -	struct nand_chip *this = mtd->priv;
 -	writew(le16_to_cpu((u16) byte), this->IO_ADDR_W);
 +	struct nand_chip *chip = mtd->priv;
@@ -8138,11 +8157,11 @@
 -
 -	/* Set ALE and clear CLE to start address cycle */
 -	this->hwcontrol(mtd, NAND_CTL_CLRCLE);
--
--	if (column != -1 || page_addr != -1) {
--		this->hwcontrol(mtd, NAND_CTL_SETALE);
 +	chip->cmd_ctrl(mtd, command, ctrl);
  
+-	if (column != -1 || page_addr != -1) {
+-		this->hwcontrol(mtd, NAND_CTL_SETALE);
+-
 -		/* Serially input address */
 -		if (column != -1) {
 -			/* Adjust columns for 16 bit buswidth */
@@ -8189,11 +8208,7 @@
  	switch (command) {
  
  	case NAND_CMD_PAGEPROG:
-@@ -609,32 +501,34 @@ static void nand_command (struct mtd_inf
- 	case NAND_CMD_ERASE2:
- 	case NAND_CMD_SEQIN:
- 	case NAND_CMD_STATUS:
-+		chip->cmd_ctrl(mtd, NAND_CMD_NONE, NAND_NCE);
+@@ -612,29 +504,30 @@ static void nand_command (struct mtd_inf
  		return;
  
  	case NAND_CMD_RESET:
@@ -8235,7 +8250,7 @@
  
  	nand_wait_ready(mtd);
  }
-@@ -646,50 +540,49 @@ static void nand_command (struct mtd_inf
+@@ -646,50 +539,49 @@ static void nand_command (struct mtd_inf
   * @column:	the column address for this command, -1 if none
   * @page_addr:	the page address for this command, -1 if none
   *
@@ -8308,7 +8323,12 @@
  
  	/*
  	 * program and erase have their own busy handlers
-@@ -706,51 +599,49 @@ static void nand_command_lp (struct mtd_
+@@ -702,55 +594,62 @@ static void nand_command_lp (struct mtd_
+ 	case NAND_CMD_ERASE1:
+ 	case NAND_CMD_ERASE2:
+ 	case NAND_CMD_SEQIN:
++	case NAND_CMD_RNDIN:
+ 	case NAND_CMD_STATUS:
  	case NAND_CMD_DEPLETE1:
  		return;
  
@@ -8342,6 +8362,14 @@
 +		chip->cmd_ctrl(mtd, NAND_CMD_NONE,
 +			       NAND_NCE | NAND_CTRL_CHANGE);
 +		while (!(chip->read_byte(mtd) & NAND_STATUS_READY)) ;
++		return;
++
++	case NAND_CMD_RNDOUT:
++		/* No ready / busy check necessary */
[...3154 lines suppressed...]
+ 		case JFFS2_NODETYPE_DIRENT:
+@@ -606,6 +634,7 @@ static int jffs2_get_inode_nodes(struct 
+ 				goto free_out;
+ 
+ 		}
++	cont:
+ 		spin_lock(&c->erase_completion_lock);
+ 	}
+ 
 diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c
 index cf55b22..6161808 100644
 --- a/fs/jffs2/scan.c
@@ -21726,7 +22252,7 @@
 +	.get = jffs2_security_getxattr
 +};
 diff --git a/fs/jffs2/summary.c b/fs/jffs2/summary.c
-index fb9cec6..51bf165 100644
+index fb9cec6..0b02fc7 100644
 --- a/fs/jffs2/summary.c
 +++ b/fs/jffs2/summary.c
 @@ -5,6 +5,7 @@
@@ -21976,7 +22502,7 @@
 -				jeb->last_node = raw;
 -
 -				fd->raw = raw;
-+				fd->raw = sum_link_node_ref(c, jeb,  je32_to_cpu(spd->offset) | REF_PRISTINE,
++				fd->raw = sum_link_node_ref(c, jeb,  je32_to_cpu(spd->offset) | REF_UNCHECKED,
 +							    PAD(je32_to_cpu(spd->totlen)), ic);
 +
  				fd->next = NULL;
@@ -26316,7 +26842,7 @@
  			printk(KERN_INFO args);		\
  	} while(0)
 diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
-index da5e67b..bf2ce68 100644
+index da5e67b..a30969e 100644
 --- a/include/linux/mtd/nand.h
 +++ b/include/linux/mtd/nand.h
 @@ -11,47 +11,11 @@
@@ -26382,7 +26908,7 @@
  /* The maximum number of NAND chips in an array */
  #define NAND_MAX_CHIPS		8
  
-@@ -79,26 +39,24 @@ #define NAND_MAX_CHIPS		8
+@@ -79,44 +39,45 @@ #define NAND_MAX_CHIPS		8
   * adjust this accordingly.
   */
  #define NAND_MAX_OOBSIZE	64
@@ -26421,7 +26947,28 @@
  
  /*
   * Standard NAND flash commands
-@@ -138,6 +96,8 @@ #define NAND_CMD_STATUS_ERROR3	0x76
+  */
+ #define NAND_CMD_READ0		0
+ #define NAND_CMD_READ1		1
++#define NAND_CMD_RNDOUT		5
+ #define NAND_CMD_PAGEPROG	0x10
+ #define NAND_CMD_READOOB	0x50
+ #define NAND_CMD_ERASE1		0x60
+ #define NAND_CMD_STATUS		0x70
+ #define NAND_CMD_STATUS_MULTI	0x71
+ #define NAND_CMD_SEQIN		0x80
++#define NAND_CMD_RNDIN		0x85
+ #define NAND_CMD_READID		0x90
+ #define NAND_CMD_ERASE2		0xd0
+ #define NAND_CMD_RESET		0xff
+ 
+ /* Extended commands for large page devices */
+ #define NAND_CMD_READSTART	0x30
++#define NAND_CMD_RNDOUTSTART	0xE0
+ #define NAND_CMD_CACHEDPROG	0x15
+ 
+ /* Extended commands for AG-AND device */
+@@ -138,6 +99,8 @@ #define NAND_CMD_STATUS_ERROR3	0x76
  #define NAND_CMD_STATUS_RESET	0x7f
  #define NAND_CMD_STATUS_CLEAR	0xff
  
@@ -26430,7 +26977,7 @@
  /* Status bits */
  #define NAND_STATUS_FAIL	0x01
  #define NAND_STATUS_FAIL_N1	0x02
-@@ -148,21 +108,12 @@ #define NAND_STATUS_WP		0x80
+@@ -148,21 +111,12 @@ #define NAND_STATUS_WP		0x80
  /*
   * Constants for ECC_MODES
   */
@@ -26458,7 +27005,7 @@
  
  /*
   * Constants for Hardware ECC
-@@ -201,6 +152,10 @@ #define NAND_4PAGE_ARRAY	0x00000040
+@@ -201,6 +155,10 @@ #define NAND_4PAGE_ARRAY	0x00000040
   * bits from adjacent blocks from 'leaking' in altering data.
   * This happens with the Renesas AG-AND chips, possibly others.  */
  #define BBT_AUTO_REFRESH	0x00000080
@@ -26469,7 +27016,7 @@
  
  /* Options valid for Samsung large page devices */
  #define NAND_SAMSUNG_LP_OPTIONS \
-@@ -219,18 +174,12 @@ #define NAND_CHIPOPTIONS_MSK	(0x0000ffff
+@@ -219,18 +177,12 @@ #define NAND_CHIPOPTIONS_MSK	(0x0000ffff
  /* Use a flash based bad block table. This option is passed to the
   * default bad block table function. */
  #define NAND_USE_FLASH_BBT	0x00010000
@@ -26491,7 +27038,7 @@
  
  
  /*
-@@ -264,45 +213,95 @@ struct nand_hw_control {
+@@ -264,45 +216,102 @@ struct nand_hw_control {
  };
  
  /**
@@ -26532,6 +27079,13 @@
 +	void			(*write_page)(struct mtd_info *mtd,
 +					      struct nand_chip *chip,
 +					      const uint8_t *buf);
++	int			(*read_oob)(struct mtd_info *mtd,
++					    struct nand_chip *chip,
++					    int page,
++					    int sndcmd);
++	int			(*write_oob)(struct mtd_info *mtd,
++					     struct nand_chip *chip,
++					     int page);
 +};
 +
 +/**
@@ -26602,7 +27156,7 @@
   * @oobdirty:		[INTERN] indicates that oob_buf must be reinitialized
   * @data_poi:		[INTERN] pointer to a data buffer
   * @options:		[BOARDSPECIFIC] various chip options. They can partly be set to inform nand_scan about
-@@ -312,12 +311,13 @@ struct nand_hw_control {
+@@ -312,12 +321,13 @@ struct nand_hw_control {
   * @chipsize:		[INTERN] the size of one chip for multichip arrays
   * @pagemask:		[INTERN] page number mask = number of (pages / chip) - 1
   * @pagebuf:		[INTERN] holds the pagenumber which is currently in data_buf
@@ -26618,7 +27172,7 @@
   * @priv:		[OPTIONAL] pointer to private chip date
   * @errstat:		[OPTIONAL] hardware specific function to perform additional error status checks
   *			(determine if errors are correctable)
-@@ -325,58 +325,57 @@ struct nand_hw_control {
+@@ -325,58 +335,57 @@ struct nand_hw_control {
  
  struct nand_chip {
  	void  __iomem	*IO_ADDR_R;
@@ -26651,7 +27205,7 @@
 +				    unsigned int ctrl);
 +	int		(*dev_ready)(struct mtd_info *mtd);
 +	void		(*cmdfunc)(struct mtd_info *mtd, unsigned command, int column, int page_addr);
-+	int		(*waitfunc)(struct mtd_info *mtd, struct nand_chip *this, int state);
++	int		(*waitfunc)(struct mtd_info *mtd, struct nand_chip *this);
  	void		(*erase_cmd)(struct mtd_info *mtd, int page);
  	int		(*scan_bbt)(struct mtd_info *mtd);
 -	int		eccmode;
@@ -26709,7 +27263,7 @@
  };
  
  /*
-@@ -388,19 +387,19 @@ #define NAND_MFR_FUJITSU	0x04
+@@ -388,19 +397,19 @@ #define NAND_MFR_FUJITSU	0x04
  #define NAND_MFR_NATIONAL	0x8f
  #define NAND_MFR_RENESAS	0x07
  #define NAND_MFR_STMICRO	0x20
@@ -26735,7 +27289,7 @@
   * @options:	Bitfield to store chip relevant options
   */
  struct nand_flash_dev {
-@@ -415,7 +414,7 @@ struct nand_flash_dev {
+@@ -415,7 +424,7 @@ struct nand_flash_dev {
  /**
   * struct nand_manufacturers - NAND Flash Manufacturer ID Structure
   * @name:	Manufacturer name
@@ -26744,7 +27298,7 @@
  */
  struct nand_manufacturers {
  	int id;
-@@ -455,7 +454,7 @@ struct nand_bbt_descr {
+@@ -455,7 +464,7 @@ struct nand_bbt_descr {
  	int	veroffs;
  	uint8_t	version[NAND_MAX_CHIPS];
  	int	len;
@@ -26753,7 +27307,7 @@
  	int	reserved_block_code;
  	uint8_t	*pattern;
  };
-@@ -494,14 +493,14 @@ #define NAND_BBT_SCAN2NDPAGE	0x00004000
+@@ -494,14 +503,14 @@ #define NAND_BBT_SCAN2NDPAGE	0x00004000
  /* The maximum number of blocks to scan for a bbt */
  #define NAND_BBT_SCAN_MAXBLOCKS	4
  
@@ -26776,7 +27330,7 @@
  
  /*
  * Constants for oob configuration
-@@ -509,4 +508,53 @@ extern int nand_do_read_ecc (struct mtd_
+@@ -509,4 +518,53 @@ extern int nand_do_read_ecc (struct mtd_
  #define NAND_SMALL_BADBLOCK_POS		5
  #define NAND_LARGE_BADBLOCK_POS		0
  




More information about the fedora-cvs-commits mailing list