aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/patches-3.10/052-mtd_bcm47xxsflash_implement_erasing_support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm47xx/patches-3.10/052-mtd_bcm47xxsflash_implement_erasing_support.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.10/052-mtd_bcm47xxsflash_implement_erasing_support.patch74
1 files changed, 0 insertions, 74 deletions
diff --git a/target/linux/brcm47xx/patches-3.10/052-mtd_bcm47xxsflash_implement_erasing_support.patch b/target/linux/brcm47xx/patches-3.10/052-mtd_bcm47xxsflash_implement_erasing_support.patch
deleted file mode 100644
index 3446a9f935..0000000000
--- a/target/linux/brcm47xx/patches-3.10/052-mtd_bcm47xxsflash_implement_erasing_support.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
-Subject: [PATCH] mtd: bcm47xxsflash: implement erasing support
-Date: Tue, 21 May 2013 21:03:46 +0200
-
-Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
----
-This has been succesfully tested on BCM4706.
----
- drivers/mtd/devices/bcm47xxsflash.c | 43 +++++++++++++++++++++++++++++++++--
- 1 file changed, 41 insertions(+), 2 deletions(-)
-
---- a/drivers/mtd/devices/bcm47xxsflash.c
-+++ b/drivers/mtd/devices/bcm47xxsflash.c
-@@ -64,6 +64,42 @@ static int bcm47xxsflash_poll(struct bcm
- * MTD ops
- **************************************************/
-
-+static int bcm47xxsflash_erase(struct mtd_info *mtd, struct erase_info *erase)
-+{
-+ struct bcm47xxsflash *b47s = mtd->priv;
-+ int err;
-+
-+ switch (b47s->type) {
-+ case BCM47XXSFLASH_TYPE_ST:
-+ bcm47xxsflash_cmd(b47s, OPCODE_ST_WREN);
-+ b47s->cc_write(b47s, BCMA_CC_FLASHADDR, erase->addr);
-+ /* Newer flashes have "sub-sectors" which can be erased
-+ * independently with a new command: ST_SSE. The ST_SE command
-+ * erases 64KB just as before.
-+ */
-+ if (b47s->blocksize < (64 * 1024))
-+ bcm47xxsflash_cmd(b47s, OPCODE_ST_SSE);
-+ else
-+ bcm47xxsflash_cmd(b47s, OPCODE_ST_SE);
-+ break;
-+ case BCM47XXSFLASH_TYPE_ATMEL:
-+ b47s->cc_write(b47s, BCMA_CC_FLASHADDR, erase->addr << 1);
-+ bcm47xxsflash_cmd(b47s, OPCODE_AT_PAGE_ERASE);
-+ break;
-+ }
-+
-+ err = bcm47xxsflash_poll(b47s, HZ);
-+ if (err)
-+ erase->state = MTD_ERASE_FAILED;
-+ else
-+ erase->state = MTD_ERASE_DONE;
-+
-+ if (erase->callback)
-+ erase->callback(erase);
-+
-+ return err;
-+}
-+
- static int bcm47xxsflash_read(struct mtd_info *mtd, loff_t from, size_t len,
- size_t *retlen, u_char *buf)
- {
-@@ -88,12 +124,15 @@ static void bcm47xxsflash_fill_mtd(struc
- mtd->name = "bcm47xxsflash";
- mtd->owner = THIS_MODULE;
- mtd->type = MTD_ROM;
-- mtd->size = b47s->size;
-- mtd->_read = bcm47xxsflash_read;
-
- /* TODO: implement writing support and verify/change following code */
- mtd->flags = MTD_CAP_ROM;
-+ mtd->size = b47s->size;
-+ mtd->erasesize = b47s->blocksize;
- mtd->writebufsize = mtd->writesize = 1;
-+
-+ mtd->_erase = bcm47xxsflash_erase;
-+ mtd->_read = bcm47xxsflash_read;
- }
-
- /**************************************************