aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-handheld-4.14/sharpslpart/0008-ARM-pxa-spitz-Remove-hardcoded-partitioning-use-shar.patch
diff options
context:
space:
mode:
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.patch80
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
+