diff options
Diffstat (limited to 'recipes-kernel/linux/linux-handheld-4.14/sharpslpart/0008-ARM-pxa-spitz-Remove-hardcoded-partitioning-use-shar.patch')
-rw-r--r-- | recipes-kernel/linux/linux-handheld-4.14/sharpslpart/0008-ARM-pxa-spitz-Remove-hardcoded-partitioning-use-shar.patch | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-handheld-4.14/sharpslpart/0008-ARM-pxa-spitz-Remove-hardcoded-partitioning-use-shar.patch b/recipes-kernel/linux/linux-handheld-4.14/sharpslpart/0008-ARM-pxa-spitz-Remove-hardcoded-partitioning-use-shar.patch new file mode 100644 index 0000000..f3c86bd --- /dev/null +++ b/recipes-kernel/linux/linux-handheld-4.14/sharpslpart/0008-ARM-pxa-spitz-Remove-hardcoded-partitioning-use-shar.patch @@ -0,0 +1,80 @@ +From ff8d455c03fcc119bdbd0e811aa278843a1aa25e Mon Sep 17 00:00:00 2001 +From: Andrea Adami <andrea.adami@gmail.com> +Date: Mon, 14 Aug 2017 17:33:24 +0200 +Subject: [PATCH v5 8/9] ARM: pxa/spitz: 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/spitz.c | 34 +++++++++------------------------- + 1 file changed, 9 insertions(+), 25 deletions(-) + +diff --git a/arch/arm/mach-pxa/spitz.c b/arch/arm/mach-pxa/spitz.c +index 67d66c7..defefa3 100644 +--- a/arch/arm/mach-pxa/spitz.c ++++ b/arch/arm/mach-pxa/spitz.c +@@ -739,21 +739,6 @@ static inline void spitz_lcd_init(void) {} + * NAND Flash + ******************************************************************************/ + #if defined(CONFIG_MTD_NAND_SHARPSL) || defined(CONFIG_MTD_NAND_SHARPSL_MODULE) +-static struct mtd_partition spitz_nand_partitions[] = { +- { +- .name = "System Area", +- .offset = 0, +- .size = 7 * 1024 * 1024, +- }, { +- .name = "Root Filesystem", +- .offset = 7 * 1024 * 1024, +- }, { +- .name = "Home Filesystem", +- .offset = MTDPART_OFS_APPEND, +- .size = MTDPART_SIZ_FULL, +- }, +-}; +- + static uint8_t scan_ff_pattern[] = { 0xff, 0xff }; + + static struct nand_bbt_descr spitz_nand_bbt = { +@@ -808,10 +793,16 @@ static const struct mtd_ooblayout_ops akita_ooblayout_ops = { + .free = akita_ooblayout_free, + }; + ++static const char * const probes[] = { ++ "cmdlinepart", ++ "ofpart", ++ "sharpslpart", ++ NULL, ++}; ++ + static struct sharpsl_nand_platform_data spitz_nand_pdata = { + .badblock_pattern = &spitz_nand_bbt, +- .partitions = spitz_nand_partitions, +- .nr_partitions = ARRAY_SIZE(spitz_nand_partitions), ++ .part_parsers = probes, + }; + + static struct resource spitz_nand_resources[] = { +@@ -834,14 +825,7 @@ static struct platform_device spitz_nand_device = { + + static void __init spitz_nand_init(void) + { +- if (machine_is_spitz()) { +- spitz_nand_partitions[1].size = 5 * 1024 * 1024; +- } else if (machine_is_akita()) { +- spitz_nand_partitions[1].size = 58 * 1024 * 1024; +- spitz_nand_bbt.len = 1; +- spitz_nand_pdata.ecc_layout = &akita_ooblayout_ops; +- } else if (machine_is_borzoi()) { +- spitz_nand_partitions[1].size = 32 * 1024 * 1024; ++ if (machine_is_akita() || machine_is_borzoi()) { + spitz_nand_bbt.len = 1; + spitz_nand_pdata.ecc_layout = &akita_ooblayout_ops; + } +-- +2.7.4 + |