From: Joseph East <eastyjr@gmail.com>
To: linux-mtd@lists.infradead.org
Cc: Joseph East <eastyjr@gmail.com>
Subject: [PATCH V2 1/4] mtd: bcm47xxpart.c: NVRAM partition handling
Date: Sun, 26 Jul 2015 00:07:40 +0930 [thread overview]
Message-ID: <1437835063-58407-2-git-send-email-eastyjr@gmail.com> (raw)
In-Reply-To: <1437835063-58407-1-git-send-email-eastyjr@gmail.com>
---
drivers/mtd/bcm47xxpart.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/mtd/bcm47xxpart.c b/drivers/mtd/bcm47xxpart.c
index c0720c1..55a1462 100644
--- a/drivers/mtd/bcm47xxpart.c
+++ b/drivers/mtd/bcm47xxpart.c
@@ -95,6 +95,7 @@ static int bcm47xxpart_parse(struct mtd_info *master,
int trx_part = -1;
int last_trx_part = -1;
int possible_nvram_sizes[] = { 0x8000, 0xF000, 0x10000, };
+ bool found_nvram = false;
/*
* Some really old flashes (like AT45DB*) had smaller erasesize-s, but
@@ -288,12 +289,23 @@ static int bcm47xxpart_parse(struct mtd_info *master,
if (buf[0] == NVRAM_HEADER) {
bcm47xxpart_add_part(&parts[curr_part++], "nvram",
master->size - blocksize, 0);
+ found_nvram = true;
break;
}
}
kfree(buf);
+ if (!found_nvram) {
+ pr_warning("Cannot find a nvram partition, reserving last two blocks\n");
+ bcm47xxpart_add_part(&parts[curr_part++], "nvram_guess",
+ master->size - blocksize * 2, MTD_WRITEABLE);
+ for (i = 0; i < curr_part; i++) {
+ if (parts[i].size + parts[i].offset == master->size)
+ parts[i].offset -= blocksize * 2;
+ }
+ }
+
/*
* Assume that partitions end at the beginning of the one they are
* followed by.
--
2.4.6
next prev parent reply other threads:[~2015-07-25 14:38 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-25 14:37 [PATCH V2 0/4] mtd: bcm47xxpart.c: Extra TRX magics, NVRAM part handling Joseph East
2015-07-25 14:37 ` Joseph East [this message]
2015-07-26 7:01 ` [PATCH V2 1/4] mtd: bcm47xxpart.c: NVRAM partition handling Rafał Miłecki
2015-07-26 7:03 ` Rafał Miłecki
2015-07-25 14:37 ` [PATCH V2 2/4] mtd: bcm47xxpart.c: Adding Xaiomi board support Joseph East
2015-07-26 7:05 ` Rafał Miłecki
2015-07-26 9:45 ` Joseph East
2015-07-26 15:46 ` Rafał Miłecki
2015-07-25 14:37 ` [PATCH V2 3/4] mtd: bcm47xxpart.c: Adding T_Meter partition detection Joseph East
2015-07-25 14:37 ` [PATCH V2 4/4] mtd: bcm47xxpart.c: Adding Belkin TRX signatures (Play max series) Joseph East
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1437835063-58407-2-git-send-email-eastyjr@gmail.com \
--to=eastyjr@gmail.com \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.