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

Commit 7b3480f8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'for-linus-3.3' of git://git.infradead.org/mtd-2.6

MTD pull for 3.3

* tag 'for-linus-3.3' of git://git.infradead.org/mtd-2.6: (113 commits)
  mtd: Fix dependency for MTD_DOC200x
  mtd: do not use mtd->block_markbad directly
  logfs: do not use 'mtd->block_isbad' directly
  mtd: introduce mtd_can_have_bb helper
  mtd: do not use mtd->suspend and mtd->resume directly
  mtd: do not use mtd->lock, unlock and is_locked directly
  mtd: do not use mtd->sync directly
  mtd: harmonize mtd_writev usage
  mtd: do not use mtd->lock_user_prot_reg directly
  mtd: mtd->write_user_prot_reg directly
  mtd: do not use mtd->read_*_prot_reg directly
  mtd: do not use mtd->get_*_prot_info directly
  mtd: do not use mtd->read_oob directly
  mtd: mtdoops: do not use mtd->panic_write directly
  romfs: do not use mtd->get_unmapped_area directly
  mtd: do not use mtd->get_unmapped_area directly
  mtd: do use mtd->point directly
  mtd: introduce mtd_has_oob helper
  mtd: mtdcore: export symbols cleanup
  mtd: clean-up the default_mtd_writev function
  ...

Fix up trivial edit/remove conflict in drivers/staging/spectra/lld_mtd.c
parents 1c810652 b60ef99c
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
What:		/sys/devices/platform/docg3/f[0-3]_dps[01]_is_keylocked
Date:		November 2011
KernelVersion:	3.3
Contact:	Robert Jarzmik <robert.jarzmik@free.fr>
Description:
		Show whether the floor (0 to 4), protection area (0 or 1) is
		keylocked. Each docg3 chip (or floor) has 2 protection areas,
		which can cover any part of it, block aligned, called DPS.
		The protection has information embedded whether it blocks reads,
		writes or both.
		The result is:
		0 -> the DPS is not keylocked
		1 -> the DPS is keylocked
Users:		None identified so far.

What:		/sys/devices/platform/docg3/f[0-3]_dps[01]_protection_key
Date:		November 2011
KernelVersion:	3.3
Contact:	Robert Jarzmik <robert.jarzmik@free.fr>
Description:
		Enter the protection key for the floor (0 to 4), protection area
		(0 or 1). Each docg3 chip (or floor) has 2 protection areas,
		which can cover any part of it, block aligned, called DPS.
		The protection has information embedded whether it blocks reads,
		writes or both.
		The protection key is a string of 8 bytes (value 0-255).
		Entering the correct value toggle the lock, and can be observed
		through f[0-3]_dps[01]_is_keylocked.
		Possible values are:
			- 8 bytes
		Typical values are:
			- "00000000"
			- "12345678"
Users:		None identified so far.
+44 −0
Original line number Diff line number Diff line
GPIO assisted NAND flash

The GPIO assisted NAND flash uses a memory mapped interface to
read/write the NAND commands and data and GPIO pins for the control
signals.

Required properties:
- compatible : "gpio-control-nand"
- reg : should specify localbus chip select and size used for the chip.  The
  resource describes the data bus connected to the NAND flash and all accesses
  are made in native endianness.
- #address-cells, #size-cells : Must be present if the device has sub-nodes
  representing partitions.
- gpios : specifies the gpio pins to control the NAND device.  nwp is an
  optional gpio and may be set to 0 if not present.

Optional properties:
- bank-width : Width (in bytes) of the device.  If not present, the width
  defaults to 1 byte.
- chip-delay : chip dependent delay for transferring data from array to
  read registers (tR).  If not present then a default of 20us is used.
- gpio-control-nand,io-sync-reg : A 64-bit physical address for a read
  location used to guard against bus reordering with regards to accesses to
  the GPIO's and the NAND flash data bus.  If present, then after changing
  GPIO state and before and after command byte writes, this register will be
  read to ensure that the GPIO accesses have completed.

Examples:

gpio-nand@1,0 {
	compatible = "gpio-control-nand";
	reg = <1 0x0000 0x2>;
	#address-cells = <1>;
	#size-cells = <1>;
	gpios = <&banka 1 0	/* rdy */
		 &banka 2 0 	/* nce */
		 &banka 3 0 	/* ale */
		 &banka 4 0 	/* cle */
		 0		/* nwp */>;

	partition@0 {
	...
	};
};
+1 −1
Original line number Diff line number Diff line
@@ -127,7 +127,7 @@ static void da850_evm_m25p80_notify_add(struct mtd_info *mtd)
	size_t retlen;

	if (!strcmp(mtd->name, "MAC-Address")) {
		mtd->read(mtd, 0, ETH_ALEN, &retlen, mac_addr);
		mtd_read(mtd, 0, ETH_ALEN, &retlen, mac_addr);
		if (retlen == ETH_ALEN)
			pr_info("Read MAC addr from SPI Flash: %pM\n",
				mac_addr);
+3 −4
Original line number Diff line number Diff line
@@ -404,8 +404,7 @@ static int __init init_axis_flash(void)
		 */
		int blockstat;
		do {
			blockstat = main_mtd->block_isbad(main_mtd,
				ptable_sector);
			blockstat = mtd_block_isbad(main_mtd, ptable_sector);
			if (blockstat < 0)
				ptable_sector = 0; /* read error */
			else if (blockstat)
@@ -413,8 +412,8 @@ static int __init init_axis_flash(void)
		} while (blockstat && ptable_sector);
#endif
		if (ptable_sector) {
			main_mtd->read(main_mtd, ptable_sector, PAGESIZE,
				&len, page);
			mtd_read(main_mtd, ptable_sector, PAGESIZE, &len,
				 page);
			ptable_head = &((struct partitiontable *) page)->head;
		}

+3 −0
Original line number Diff line number Diff line
@@ -834,10 +834,13 @@ static struct mtd_partition mtd_partitions[] = {
	}
};

static const char *bcm63xx_part_types[] = { "bcm63xxpart", NULL };

static struct physmap_flash_data flash_data = {
	.width			= 2,
	.nr_parts		= ARRAY_SIZE(mtd_partitions),
	.parts			= mtd_partitions,
	.part_probe_types	= bcm63xx_part_types,
};

static struct resource mtd_resources[] = {
Loading