aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-handheld-4.14/sharpslpart/0007-ARM-pxa-tosa-Remove-hardcoded-partitioning-use-sharp.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-handheld-4.14/sharpslpart/0007-ARM-pxa-tosa-Remove-hardcoded-partitioning-use-sharp.patch')
-rw-r--r--recipes-kernel/linux/linux-handheld-4.14/sharpslpart/0007-ARM-pxa-tosa-Remove-hardcoded-partitioning-use-sharp.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-handheld-4.14/sharpslpart/0007-ARM-pxa-tosa-Remove-hardcoded-partitioning-use-sharp.patch b/recipes-kernel/linux/linux-handheld-4.14/sharpslpart/0007-ARM-pxa-tosa-Remove-hardcoded-partitioning-use-sharp.patch
new file mode 100644
index 0000000..99eaddc
--- /dev/null
+++ b/recipes-kernel/linux/linux-handheld-4.14/sharpslpart/0007-ARM-pxa-tosa-Remove-hardcoded-partitioning-use-sharp.patch
@@ -0,0 +1,67 @@
+From b602bc99fe20719124cbea076c62bc1365886973 Mon Sep 17 00:00:00 2001
+From: Andrea Adami <andrea.adami@gmail.com>
+Date: Mon, 14 Aug 2017 16:48:06 +0200
+Subject: [PATCH v5 7/9] ARM: pxa/tosa: Remove hardcoded partitioning, use
+ sharpslpart parser
+
+With the introduction of sharpslpart partition parser we can now read the
+offsets from NAND: we specify the list of the parsers as platform data, with
+cmdlinepart and ofpart parsers first allowing to override the part. table
+written in NAND. This is done here in the board file.
+
+Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
+---
+ arch/arm/mach-pxa/tosa.c | 28 ++++++++--------------------
+ 1 file changed, 8 insertions(+), 20 deletions(-)
+
+diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c
+index 13de660..b90560b 100644
+--- a/arch/arm/mach-pxa/tosa.c
++++ b/arch/arm/mach-pxa/tosa.c
+@@ -673,24 +673,6 @@ static int tosa_tc6393xb_suspend(struct platform_device *dev)
+ return 0;
+ }
+
+-static struct mtd_partition tosa_nand_partition[] = {
+- {
+- .name = "smf",
+- .offset = 0,
+- .size = 7 * 1024 * 1024,
+- },
+- {
+- .name = "root",
+- .offset = MTDPART_OFS_APPEND,
+- .size = 28 * 1024 * 1024,
+- },
+- {
+- .name = "home",
+- .offset = MTDPART_OFS_APPEND,
+- .size = MTDPART_SIZ_FULL,
+- },
+-};
+-
+ static uint8_t scan_ff_pattern[] = { 0xff, 0xff };
+
+ static struct nand_bbt_descr tosa_tc6393xb_nand_bbt = {
+@@ -700,10 +682,16 @@ static struct nand_bbt_descr tosa_tc6393xb_nand_bbt = {
+ .pattern = scan_ff_pattern
+ };
+
++static const char * const probes[] = {
++ "cmdlinepart",
++ "ofpart",
++ "sharpslpart",
++ NULL,
++};
++
+ static struct tmio_nand_data tosa_tc6393xb_nand_config = {
+- .num_partitions = ARRAY_SIZE(tosa_nand_partition),
+- .partition = tosa_nand_partition,
+ .badblock_pattern = &tosa_tc6393xb_nand_bbt,
++ .part_parsers = probes,
+ };
+
+ static int tosa_tc6393xb_setup(struct platform_device *dev)
+--
+2.7.4
+