linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/4] ARM: pxa/corgi: Remove hardcoded partitioning, use sharpslpart parser
@ 2017-11-21 21:43 Andrea Adami
  2017-11-21 21:43 ` [PATCH 2/4] ARM: pxa/tosa: " Andrea Adami
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Andrea Adami @ 2017-11-21 21:43 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Robert Jarzmik, Haojian Zhuang, Dmitry Eremin-Solenikov,
	Russell King, linux-kernel

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.

Emulators like qemu will need to pass the mtdparts in the cmdline.

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
 arch/arm/mach-pxa/corgi.c | 31 ++++++++-----------------------
 1 file changed, 8 insertions(+), 23 deletions(-)

diff --git a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c
index 7270f0d..9546452 100644
--- a/arch/arm/mach-pxa/corgi.c
+++ b/arch/arm/mach-pxa/corgi.c
@@ -606,24 +606,6 @@ static void __init corgi_init_spi(void)
 static inline void corgi_init_spi(void) {}
 #endif
 
-static struct mtd_partition sharpsl_nand_partitions[] = {
-	{
-		.name = "System Area",
-		.offset = 0,
-		.size = 7 * 1024 * 1024,
-	},
-	{
-		.name = "Root Filesystem",
-		.offset = 7 * 1024 * 1024,
-		.size = 25 * 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 sharpsl_bbt = {
@@ -633,10 +615,16 @@ static struct nand_bbt_descr sharpsl_bbt = {
 	.pattern = scan_ff_pattern
 };
 
+static const char * const probes[] = {
+	"cmdlinepart",
+	"ofpart",
+	"sharpslpart",
+	NULL,
+};
+
 static struct sharpsl_nand_platform_data sharpsl_nand_platform_data = {
 	.badblock_pattern	= &sharpsl_bbt,
-	.partitions		= sharpsl_nand_partitions,
-	.nr_partitions		= ARRAY_SIZE(sharpsl_nand_partitions),
+	.part_parsers		= probes,
 };
 
 static struct resource sharpsl_nand_resources[] = {
@@ -750,9 +738,6 @@ static void __init corgi_init(void)
 
 	platform_scoop_config = &corgi_pcmcia_config;
 
-	if (machine_is_husky())
-		sharpsl_nand_partitions[1].size = 53 * 1024 * 1024;
-
 	platform_add_devices(devices, ARRAY_SIZE(devices));
 
 	regulator_has_full_constraints();
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/4] ARM: pxa/tosa: Remove hardcoded partitioning, use sharpslpart parser
  2017-11-21 21:43 [PATCH 1/4] ARM: pxa/corgi: Remove hardcoded partitioning, use sharpslpart parser Andrea Adami
@ 2017-11-21 21:43 ` Andrea Adami
  2017-11-21 21:43 ` [PATCH 3/4] ARM: pxa/spitz: " Andrea Adami
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: Andrea Adami @ 2017-11-21 21:43 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Robert Jarzmik, Haojian Zhuang, Dmitry Eremin-Solenikov,
	Russell King, linux-kernel

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.

Emulators like qemu will need to pass the mtdparts in the cmdline.

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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/4] ARM: pxa/spitz: Remove hardcoded partitioning, use sharpslpart parser
  2017-11-21 21:43 [PATCH 1/4] ARM: pxa/corgi: Remove hardcoded partitioning, use sharpslpart parser Andrea Adami
  2017-11-21 21:43 ` [PATCH 2/4] ARM: pxa/tosa: " Andrea Adami
@ 2017-11-21 21:43 ` Andrea Adami
  2017-11-22 23:06   ` Pavel Machek
  2017-11-21 21:43 ` [PATCH 4/4] ARM: pxa/poodle: " Andrea Adami
  2017-11-28 21:53 ` [PATCH 1/4] ARM: pxa/corgi: " Robert Jarzmik
  3 siblings, 1 reply; 9+ messages in thread
From: Andrea Adami @ 2017-11-21 21:43 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Robert Jarzmik, Haojian Zhuang, Dmitry Eremin-Solenikov,
	Russell King, linux-kernel

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.

Emulators like qemu will need to pass the mtdparts in the cmdline.

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

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 4/4] ARM: pxa/poodle: Remove hardcoded partitioning, use sharpslpart parser
  2017-11-21 21:43 [PATCH 1/4] ARM: pxa/corgi: Remove hardcoded partitioning, use sharpslpart parser Andrea Adami
  2017-11-21 21:43 ` [PATCH 2/4] ARM: pxa/tosa: " Andrea Adami
  2017-11-21 21:43 ` [PATCH 3/4] ARM: pxa/spitz: " Andrea Adami
@ 2017-11-21 21:43 ` Andrea Adami
  2017-11-28 21:53 ` [PATCH 1/4] ARM: pxa/corgi: " Robert Jarzmik
  3 siblings, 0 replies; 9+ messages in thread
From: Andrea Adami @ 2017-11-21 21:43 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Robert Jarzmik, Haojian Zhuang, Dmitry Eremin-Solenikov,
	Russell King, linux-kernel

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.

Emulators like qemu will need to pass the mtdparts in the cmdline.

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
---
 arch/arm/mach-pxa/poodle.c | 28 ++++++++--------------------
 1 file changed, 8 insertions(+), 20 deletions(-)

diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c
index 62a1191..fd01d6b 100644
--- a/arch/arm/mach-pxa/poodle.c
+++ b/arch/arm/mach-pxa/poodle.c
@@ -333,24 +333,6 @@ static struct pxafb_mach_info poodle_fb_info = {
 	.lcd_conn	= LCD_COLOR_TFT_16BPP,
 };
 
-static struct mtd_partition sharpsl_nand_partitions[] = {
-	{
-		.name = "System Area",
-		.offset = 0,
-		.size = 7 * 1024 * 1024,
-	},
-	{
-		.name = "Root Filesystem",
-		.offset = 7 * 1024 * 1024,
-		.size = 22 * 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 sharpsl_bbt = {
@@ -360,10 +342,16 @@ static struct nand_bbt_descr sharpsl_bbt = {
 	.pattern = scan_ff_pattern
 };
 
+static const char * const probes[] = {
+	"cmdlinepart",
+	"ofpart",
+	"sharpslpart",
+	NULL,
+};
+
 static struct sharpsl_nand_platform_data sharpsl_nand_platform_data = {
 	.badblock_pattern	= &sharpsl_bbt,
-	.partitions		= sharpsl_nand_partitions,
-	.nr_partitions		= ARRAY_SIZE(sharpsl_nand_partitions),
+	.part_parsers		= probes,
 };
 
 static struct resource sharpsl_nand_resources[] = {
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/4] ARM: pxa/spitz: Remove hardcoded partitioning, use sharpslpart parser
  2017-11-21 21:43 ` [PATCH 3/4] ARM: pxa/spitz: " Andrea Adami
@ 2017-11-22 23:06   ` Pavel Machek
  2017-11-24 12:52     ` Andrea Adami
  0 siblings, 1 reply; 9+ messages in thread
From: Pavel Machek @ 2017-11-22 23:06 UTC (permalink / raw)
  To: Andrea Adami
  Cc: linux-arm-kernel, Robert Jarzmik, Haojian Zhuang,
	Dmitry Eremin-Solenikov, Russell King, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 785 bytes --]

On Tue 2017-11-21 22:43:50, Andrea Adami wrote:
> 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.
> 
> Emulators like qemu will need to pass the mtdparts in the cmdline.

IOW this will be regression for people emulating zaurus in qemu.

...

Is it good idea? Its not like this platform data is particulary big or
changes very often...

> Signed-off-by: Andrea Adami <andrea.adami@gmail.com>

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/4] ARM: pxa/spitz: Remove hardcoded partitioning, use sharpslpart parser
  2017-11-22 23:06   ` Pavel Machek
@ 2017-11-24 12:52     ` Andrea Adami
  2017-11-28 21:52       ` Robert Jarzmik
  0 siblings, 1 reply; 9+ messages in thread
From: Andrea Adami @ 2017-11-24 12:52 UTC (permalink / raw)
  To: Pavel Machek
  Cc: linux-arm-kernel, Robert Jarzmik, Haojian Zhuang,
	Dmitry Eremin-Solenikov, Russell King, LKML

On Thu, Nov 23, 2017 at 12:06 AM, Pavel Machek <pavel@ucw.cz> wrote:
> On Tue 2017-11-21 22:43:50, Andrea Adami wrote:
>> 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.
>>
>> Emulators like qemu will need to pass the mtdparts in the cmdline.
>
> IOW this will be regression for people emulating zaurus in qemu.
>
> ...
>
> Is it good idea? Its not like this platform data is particulary big or
> changes very often...

Hello Pavel,

afais defining the partitions in the board file is today deprecated,
more than this the definitions are not totally correct,
e.g. ignoring the differences between 3100 and 3200 models.

The original Zaurus kernels did specify mtdparts= in the cmdline so I
don't see this being a big limitation for QEMU.

We are trying to clean out the board files and hopefully move the pxa
Zaurus to devicetree one day...
I think that removing the parttioning differences will ease the task.
Please correct me if I am wrong.

Cheers
Andrea


>
>> Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
>
> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/4] ARM: pxa/spitz: Remove hardcoded partitioning, use sharpslpart parser
  2017-11-24 12:52     ` Andrea Adami
@ 2017-11-28 21:52       ` Robert Jarzmik
  2017-12-15 10:56         ` Pavel Machek
  0 siblings, 1 reply; 9+ messages in thread
From: Robert Jarzmik @ 2017-11-28 21:52 UTC (permalink / raw)
  To: Pavel Machek, Andrea Adami
  Cc: linux-arm-kernel, Haojian Zhuang, Dmitry Eremin-Solenikov,
	Russell King, LKML

Andrea Adami <andrea.adami@gmail.com> writes:

> On Thu, Nov 23, 2017 at 12:06 AM, Pavel Machek <pavel@ucw.cz> wrote:
>> On Tue 2017-11-21 22:43:50, Andrea Adami wrote:

Pavel, given that you didn't challenge Andrea's statement, I assume QEMU users
will switch to mtdparts again.

I'll apply the serie to pxa/for-next.

Cheers.

--
Robert

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/4] ARM: pxa/corgi: Remove hardcoded partitioning, use sharpslpart parser
  2017-11-21 21:43 [PATCH 1/4] ARM: pxa/corgi: Remove hardcoded partitioning, use sharpslpart parser Andrea Adami
                   ` (2 preceding siblings ...)
  2017-11-21 21:43 ` [PATCH 4/4] ARM: pxa/poodle: " Andrea Adami
@ 2017-11-28 21:53 ` Robert Jarzmik
  3 siblings, 0 replies; 9+ messages in thread
From: Robert Jarzmik @ 2017-11-28 21:53 UTC (permalink / raw)
  To: Andrea Adami
  Cc: linux-arm-kernel, Haojian Zhuang, Dmitry Eremin-Solenikov,
	Russell King, linux-kernel

Andrea Adami <andrea.adami@gmail.com> writes:

> 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.
>
> Emulators like qemu will need to pass the mtdparts in the cmdline.
>
> Signed-off-by: Andrea Adami <andrea.adami@gmail.com>

Applied to whole serie to pxa/for-next, thanks.

Cheers.

--
Robert

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/4] ARM: pxa/spitz: Remove hardcoded partitioning, use sharpslpart parser
  2017-11-28 21:52       ` Robert Jarzmik
@ 2017-12-15 10:56         ` Pavel Machek
  0 siblings, 0 replies; 9+ messages in thread
From: Pavel Machek @ 2017-12-15 10:56 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Andrea Adami, linux-arm-kernel, Haojian Zhuang,
	Dmitry Eremin-Solenikov, Russell King, LKML

[-- Attachment #1: Type: text/plain, Size: 652 bytes --]

On Tue 2017-11-28 22:52:43, Robert Jarzmik wrote:
> Andrea Adami <andrea.adami@gmail.com> writes:
> 
> > On Thu, Nov 23, 2017 at 12:06 AM, Pavel Machek <pavel@ucw.cz> wrote:
> >> On Tue 2017-11-21 22:43:50, Andrea Adami wrote:
> 
> Pavel, given that you didn't challenge Andrea's statement, I assume QEMU users
> will switch to mtdparts again.
> 
> I'll apply the serie to pxa/for-next.

Well, I believe it is bad idea, but whatever. I still have zaurus, but
don't use it any more.

									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2017-12-15 10:56 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-21 21:43 [PATCH 1/4] ARM: pxa/corgi: Remove hardcoded partitioning, use sharpslpart parser Andrea Adami
2017-11-21 21:43 ` [PATCH 2/4] ARM: pxa/tosa: " Andrea Adami
2017-11-21 21:43 ` [PATCH 3/4] ARM: pxa/spitz: " Andrea Adami
2017-11-22 23:06   ` Pavel Machek
2017-11-24 12:52     ` Andrea Adami
2017-11-28 21:52       ` Robert Jarzmik
2017-12-15 10:56         ` Pavel Machek
2017-11-21 21:43 ` [PATCH 4/4] ARM: pxa/poodle: " Andrea Adami
2017-11-28 21:53 ` [PATCH 1/4] ARM: pxa/corgi: " Robert Jarzmik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).