diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2015-01-28 21:26:31 +0000 |
---|---|---|
committer | Rafał Miłecki <zajec5@gmail.com> | 2015-01-28 21:26:31 +0000 |
commit | 5ecce85db7256badd0f415870618f12f9796c9d2 (patch) | |
tree | 12fd8bc97ce44f92b43abf21a3c4bd8be9474f81 /target/linux/generic/patches-3.14 | |
parent | ac1fd175cae05e0ea821abaef9a6739cb2d90df8 (diff) | |
download | master-31e0f0ae-5ecce85db7256badd0f415870618f12f9796c9d2.tar.gz master-31e0f0ae-5ecce85db7256badd0f415870618f12f9796c9d2.tar.bz2 master-31e0f0ae-5ecce85db7256badd0f415870618f12f9796c9d2.zip |
kernel: bcm47xxpart: support T_Meter partitions
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 44185
Diffstat (limited to 'target/linux/generic/patches-3.14')
-rw-r--r-- | target/linux/generic/patches-3.14/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.14/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch b/target/linux/generic/patches-3.14/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch new file mode 100644 index 0000000000..3f70225980 --- /dev/null +++ b/target/linux/generic/patches-3.14/432-mtd-bcm47xxpart-detect-T_Meter-partition.patch @@ -0,0 +1,47 @@ +From fd54aa583296f9adfb1f519affbc10ba521eb809 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com> +Date: Wed, 28 Jan 2015 22:14:41 +0100 +Subject: [PATCH] mtd: bcm47xxpart: detect T_Meter partition +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It can be found on many Netgear devices. It consists of many 0x30 blocks +starting with 4D 54. + +Signed-off-by: Rafał Miłecki <zajec5@gmail.com> +--- + drivers/mtd/bcm47xxpart.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/drivers/mtd/bcm47xxpart.c b/drivers/mtd/bcm47xxpart.c +index f14ec0f..40dd0db 100644 +--- a/drivers/mtd/bcm47xxpart.c ++++ b/drivers/mtd/bcm47xxpart.c +@@ -39,6 +39,7 @@ + #define NVRAM_HEADER 0x48534C46 /* FLSH */ + #define POT_MAGIC1 0x54544f50 /* POTT */ + #define POT_MAGIC2 0x504f /* OP */ ++#define T_METER_MAGIC 0x4D540000 /* MT */ + #define ML_MAGIC1 0x39685a42 + #define ML_MAGIC2 0x26594131 + #define TRX_MAGIC 0x30524448 +@@ -177,6 +178,15 @@ static int bcm47xxpart_parse(struct mtd_info *master, + continue; + } + ++ /* T_Meter */ ++ if ((le32_to_cpu(buf[0x000 / 4]) & 0xFFFF0000) == T_METER_MAGIC && ++ (le32_to_cpu(buf[0x030 / 4]) & 0xFFFF0000) == T_METER_MAGIC && ++ (le32_to_cpu(buf[0x060 / 4]) & 0xFFFF0000) == T_METER_MAGIC) { ++ bcm47xxpart_add_part(&parts[curr_part++], "T_Meter", offset, ++ MTD_WRITEABLE); ++ continue; ++ } ++ + /* TRX */ + if (buf[0x000 / 4] == TRX_MAGIC) { + if (BCM47XXPART_MAX_PARTS - curr_part < 4) { +-- +1.8.4.5 + |