Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e0d65113 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.infradead.org/mtd-2.6: (226 commits)
  mtd: tests: annotate as DANGEROUS in Kconfig
  mtd: tests: don't use mtd0 as a default
  mtd: clean up usage of MTD_DOCPROBE_ADDRESS
  jffs2: add compr=lzo and compr=zlib options
  jffs2: implement mount option parsing and compression overriding
  mtd: nand: initialize ops.mode
  mtd: provide an alias for the redboot module name
  mtd: m25p80: don't probe device which has status of 'disabled'
  mtd: nand_h1900 never worked
  mtd: Add DiskOnChip G3 support
  mtd: m25p80: add EON flash EN25Q32B into spi flash id table
  mtd: mark block device queue as non-rotational
  mtd: r852: make r852_pm_ops static
  mtd: m25p80: add support for at25df321a spi data flash
  mtd: mxc_nand: preset_v1_v2: unlock all NAND flash blocks
  mtd: nand: switch `check_pattern()' to standard `memcmp()'
  mtd: nand: invalidate cache on unaligned reads
  mtd: nand: do not scan bad blocks with NAND_BBT_NO_OOB set
  mtd: nand: wait to set BBT version
  mtd: nand: scrub BBT on ECC errors
  ...

Fix up trivial conflicts:
 - arch/arm/mach-at91/board-usb-a9260.c
	Merged into board-usb-a926x.c
 - drivers/mtd/maps/lantiq-flash.c
	add_mtd_partitions -> mtd_device_register vs changed to use
	mtd_device_parse_register.
parents cf5e15fb 48e546b7
Loading
Loading
Loading
Loading
+1 −18
Original line number Original line Diff line number Diff line
@@ -572,7 +572,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip)
			</para>
			</para>
			<para>
			<para>
				The simplest way to activate the FLASH based bad block table support 
				The simplest way to activate the FLASH based bad block table support 
				is to set the option NAND_USE_FLASH_BBT in the option field of
				is to set the option NAND_BBT_USE_FLASH in the bbt_option field of
				the nand chip structure before calling nand_scan(). For AG-AND
				the nand chip structure before calling nand_scan(). For AG-AND
				chips is this done by default.
				chips is this done by default.
				This activates the default FLASH based bad block table functionality 
				This activates the default FLASH based bad block table functionality 
@@ -773,20 +773,6 @@ struct nand_oobinfo {
				done according to the default builtin scheme.
				done according to the default builtin scheme.
			</para>
			</para>
		</sect2>
		</sect2>
		<sect2 id="User_space_placement_selection">
			<title>User space placement selection</title>
		<para>
			All non ecc functions like mtd->read and mtd->write use an internal 
			structure, which can be set by an ioctl. This structure is preset 
			to the autoplacement default.
	     		<programlisting>
	ioctl (fd, MEMSETOOBSEL, oobsel);
	     		</programlisting>
			oobsel is a pointer to a user supplied structure of type
			nand_oobconfig. The contents of this structure must match the 
			criteria of the filesystem, which will be used. See an example in utils/nandwrite.c.
		</para>
		</sect2>
	</sect1>	
	</sect1>	
	<sect1 id="Spare_area_autoplacement_default">
	<sect1 id="Spare_area_autoplacement_default">
		<title>Spare area autoplacement default schemes</title>
		<title>Spare area autoplacement default schemes</title>
@@ -1158,9 +1144,6 @@ in this page</entry>
		These constants are defined in nand.h. They are ored together to describe
		These constants are defined in nand.h. They are ored together to describe
		the functionality.
		the functionality.
     		<programlisting>
     		<programlisting>
/* Use a flash based bad block table. This option is parsed by the
 * default bad block table function (nand_default_bbt). */
#define NAND_USE_FLASH_BBT	0x00010000
/* The hw ecc generator provides a syndrome instead a ecc value on read 
/* The hw ecc generator provides a syndrome instead a ecc value on read 
 * This can only work if we have the ecc bytes directly behind the 
 * This can only work if we have the ecc bytes directly behind the 
 * data bytes. Applies for DOC and AG-AND Renesas HW Reed Solomon generators */
 * data bytes. Applies for DOC and AG-AND Renesas HW Reed Solomon generators */
+14 −0
Original line number Original line Diff line number Diff line
* Atmel Data Flash

Required properties:
- compatible : "atmel,<model>", "atmel,<series>", "atmel,dataflash".

Example:

flash@1 {
	#address-cells = <1>;
	#size-cells = <1>;
	compatible = "atmel,at45db321d", "atmel,at45", "atmel,dataflash";
	spi-max-frequency = <25000000>;
	reg = <1>;
};
+2 −7
Original line number Original line Diff line number Diff line
@@ -130,19 +130,14 @@ static struct mtd_partition __initdata afeb9260_nand_partition[] = {
	},
	},
};
};


static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
{
	*num_partitions = ARRAY_SIZE(afeb9260_nand_partition);
	return afeb9260_nand_partition;
}

static struct atmel_nand_data __initdata afeb9260_nand_data = {
static struct atmel_nand_data __initdata afeb9260_nand_data = {
	.ale		= 21,
	.ale		= 21,
	.cle		= 22,
	.cle		= 22,
	.rdy_pin	= AT91_PIN_PC13,
	.rdy_pin	= AT91_PIN_PC13,
	.enable_pin	= AT91_PIN_PC14,
	.enable_pin	= AT91_PIN_PC14,
	.partition_info	= nand_partitions,
	.bus_width_16	= 0,
	.bus_width_16	= 0,
	.parts		= afeb9260_nand_partition,
	.num_parts	= ARRAY_SIZE(afeb9260_nand_partition),
};
};




+2 −7
Original line number Original line Diff line number Diff line
@@ -132,19 +132,14 @@ static struct mtd_partition __initdata cam60_nand_partition[] = {
	},
	},
};
};


static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
{
	*num_partitions = ARRAY_SIZE(cam60_nand_partition);
	return cam60_nand_partition;
}

static struct atmel_nand_data __initdata cam60_nand_data = {
static struct atmel_nand_data __initdata cam60_nand_data = {
	.ale		= 21,
	.ale		= 21,
	.cle		= 22,
	.cle		= 22,
	// .det_pin	= ... not there
	// .det_pin	= ... not there
	.rdy_pin	= AT91_PIN_PA9,
	.rdy_pin	= AT91_PIN_PA9,
	.enable_pin	= AT91_PIN_PA7,
	.enable_pin	= AT91_PIN_PA7,
	.partition_info	= nand_partitions,
	.parts		= cam60_nand_partition,
	.num_parts	= ARRAY_SIZE(cam60_nand_partition),
};
};


static struct sam9_smc_config __initdata cam60_nand_smc_config = {
static struct sam9_smc_config __initdata cam60_nand_smc_config = {
+2 −7
Original line number Original line Diff line number Diff line
@@ -169,19 +169,14 @@ static struct mtd_partition __initdata cap9adk_nand_partitions[] = {
	},
	},
};
};


static struct mtd_partition * __init nand_partitions(int size, int *num_partitions)
{
	*num_partitions = ARRAY_SIZE(cap9adk_nand_partitions);
	return cap9adk_nand_partitions;
}

static struct atmel_nand_data __initdata cap9adk_nand_data = {
static struct atmel_nand_data __initdata cap9adk_nand_data = {
	.ale		= 21,
	.ale		= 21,
	.cle		= 22,
	.cle		= 22,
//	.det_pin	= ... not connected
//	.det_pin	= ... not connected
//	.rdy_pin	= ... not connected
//	.rdy_pin	= ... not connected
	.enable_pin	= AT91_PIN_PD15,
	.enable_pin	= AT91_PIN_PD15,
	.partition_info	= nand_partitions,
	.parts		= cap9adk_nand_partitions,
	.num_parts	= ARRAY_SIZE(cap9adk_nand_partitions),
};
};


static struct sam9_smc_config __initdata cap9adk_nand_smc_config = {
static struct sam9_smc_config __initdata cap9adk_nand_smc_config = {
Loading