Patchwork [1/2] clps711x/ceiva: port to use physmap flash

login
register
mail settings
Submitter Dmitry Eremin-Solenikov
Date June 2, 2011, 11:54 a.m.
Message ID <1307015648-17505-1-git-send-email-dbaryshkov@gmail.com>
Download mbox | patch
Permalink /patch/98367/
State New
Headers show

Comments

Dmitry Eremin-Solenikov - June 2, 2011, 11:54 a.m.
Port ceiva machine to use physmap flash instead of custom mapping driver
(which even can't compile cleanly with current kernels). All info
is gathered from drivers/mtd/maps/ceiva.c. Compile tested only.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
---
 arch/arm/mach-clps711x/ceiva.c |   60 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)
Artem Bityutskiy - June 3, 2011, 4:38 a.m.
On Thu, 2011-06-02 at 15:54 +0400, Dmitry Eremin-Solenikov wrote:
> Port ceiva machine to use physmap flash instead of custom mapping driver
> (which even can't compile cleanly with current kernels). All info
> is gathered from drivers/mtd/maps/ceiva.c. Compile tested only.
> 
> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
> ---
>  arch/arm/mach-clps711x/ceiva.c |   60 ++++++++++++++++++++++++++++++++++++++++
>  1 files changed, 60 insertions(+), 0 deletions(-)

Is ceiva used and not dead? May be we could kill it completely?
Dmitry Eremin-Solenikov - June 3, 2011, 5:02 a.m.
On 6/3/11, Artem Bityutskiy <Artem.Bityutskiy@nokia.com> wrote:
> On Thu, 2011-06-02 at 15:54 +0400, Dmitry Eremin-Solenikov wrote:
>> Port ceiva machine to use physmap flash instead of custom mapping driver
>> (which even can't compile cleanly with current kernels). All info
>> is gathered from drivers/mtd/maps/ceiva.c. Compile tested only.
>>
>> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
>> ---
>>  arch/arm/mach-clps711x/ceiva.c |   60
>> ++++++++++++++++++++++++++++++++++++++++
>>  1 files changed, 60 insertions(+), 0 deletions(-)
>
> Is ceiva used and not dead? May be we could kill it completely?

No functional changes to board file since start of git history. Also
I don't know how useful can be contemporary Linux on 4 MiB of RAM
Artem Bityutskiy - June 3, 2011, 5:10 a.m.
On Fri, 2011-06-03 at 09:02 +0400, Dmitry Eremin-Solenikov wrote:
> On 6/3/11, Artem Bityutskiy <Artem.Bityutskiy@nokia.com> wrote:
> > On Thu, 2011-06-02 at 15:54 +0400, Dmitry Eremin-Solenikov wrote:
> >> Port ceiva machine to use physmap flash instead of custom mapping driver
> >> (which even can't compile cleanly with current kernels). All info
> >> is gathered from drivers/mtd/maps/ceiva.c. Compile tested only.
> >>
> >> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
> >> ---
> >>  arch/arm/mach-clps711x/ceiva.c |   60
> >> ++++++++++++++++++++++++++++++++++++++++
> >>  1 files changed, 60 insertions(+), 0 deletions(-)
> >
> > Is ceiva used and not dead? May be we could kill it completely?
> 
> No functional changes to board file since start of git history. Also
> I don't know how useful can be contemporary Linux on 4 MiB of RAM

I also noticed that no one is interested in this board for long time. So
I suggest to remove ceiva support altogether via some arm tree.
Dmitry Eremin-Solenikov - June 3, 2011, 5:17 a.m.
On 6/3/11, Artem Bityutskiy <Artem.Bityutskiy@nokia.com> wrote:
> On Fri, 2011-06-03 at 09:02 +0400, Dmitry Eremin-Solenikov wrote:
>> On 6/3/11, Artem Bityutskiy <Artem.Bityutskiy@nokia.com> wrote:
>> > On Thu, 2011-06-02 at 15:54 +0400, Dmitry Eremin-Solenikov wrote:
>> >> Port ceiva machine to use physmap flash instead of custom mapping
>> >> driver
>> >> (which even can't compile cleanly with current kernels). All info
>> >> is gathered from drivers/mtd/maps/ceiva.c. Compile tested only.
>> >>
>> >> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
>> >> ---
>> >>  arch/arm/mach-clps711x/ceiva.c |   60
>> >> ++++++++++++++++++++++++++++++++++++++++
>> >>  1 files changed, 60 insertions(+), 0 deletions(-)
>> >
>> > Is ceiva used and not dead? May be we could kill it completely?
>>
>> No functional changes to board file since start of git history. Also
>> I don't know how useful can be contemporary Linux on 4 MiB of RAM
>
> I also noticed that no one is interested in this board for long time. So
> I suggest to remove ceiva support altogether via some arm tree.

Anyway the patch removing mtd support can be pushed via mtd tree
(there is really no point on mtd/maps/ceiva.c), and removing ceiva
depends on Russell's decision.
Artem Bityutskiy - June 3, 2011, 5:21 a.m.
On Fri, 2011-06-03 at 09:17 +0400, Dmitry Eremin-Solenikov wrote:
> On 6/3/11, Artem Bityutskiy <Artem.Bityutskiy@nokia.com> wrote:
> > On Fri, 2011-06-03 at 09:02 +0400, Dmitry Eremin-Solenikov wrote:
> >> On 6/3/11, Artem Bityutskiy <Artem.Bityutskiy@nokia.com> wrote:
> >> > On Thu, 2011-06-02 at 15:54 +0400, Dmitry Eremin-Solenikov wrote:
> >> >> Port ceiva machine to use physmap flash instead of custom mapping
> >> >> driver
> >> >> (which even can't compile cleanly with current kernels). All info
> >> >> is gathered from drivers/mtd/maps/ceiva.c. Compile tested only.
> >> >>
> >> >> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
> >> >> ---
> >> >>  arch/arm/mach-clps711x/ceiva.c |   60
> >> >> ++++++++++++++++++++++++++++++++++++++++
> >> >>  1 files changed, 60 insertions(+), 0 deletions(-)
> >> >
> >> > Is ceiva used and not dead? May be we could kill it completely?
> >>
> >> No functional changes to board file since start of git history. Also
> >> I don't know how useful can be contemporary Linux on 4 MiB of RAM
> >
> > I also noticed that no one is interested in this board for long time. So
> > I suggest to remove ceiva support altogether via some arm tree.
> 
> Anyway the patch removing mtd support can be pushed via mtd tree
> (there is really no point on mtd/maps/ceiva.c), and removing ceiva
> depends on Russell's decision.

There is as well little point in changing ceiva code if we can just kill
it instead. So let's first try to ask Russell if he is fine with killing
ceiva or not. Could you please do this in a separate thread with an
appropriate subject.
Artem Bityutskiy - June 3, 2011, 5:31 a.m.
On Fri, 2011-06-03 at 09:17 +0400, Dmitry Eremin-Solenikov wrote:
> On 6/3/11, Artem Bityutskiy <Artem.Bityutskiy@nokia.com> wrote:
> > On Fri, 2011-06-03 at 09:02 +0400, Dmitry Eremin-Solenikov wrote:
> >> On 6/3/11, Artem Bityutskiy <Artem.Bityutskiy@nokia.com> wrote:
> >> > On Thu, 2011-06-02 at 15:54 +0400, Dmitry Eremin-Solenikov wrote:
> >> >> Port ceiva machine to use physmap flash instead of custom mapping
> >> >> driver
> >> >> (which even can't compile cleanly with current kernels). All info
> >> >> is gathered from drivers/mtd/maps/ceiva.c. Compile tested only.
> >> >>
> >> >> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
> >> >> ---
> >> >>  arch/arm/mach-clps711x/ceiva.c |   60
> >> >> ++++++++++++++++++++++++++++++++++++++++
> >> >>  1 files changed, 60 insertions(+), 0 deletions(-)
> >> >
> >> > Is ceiva used and not dead? May be we could kill it completely?
> >>
> >> No functional changes to board file since start of git history. Also
> >> I don't know how useful can be contemporary Linux on 4 MiB of RAM
> >
> > I also noticed that no one is interested in this board for long time. So
> > I suggest to remove ceiva support altogether via some arm tree.
> 
> Anyway the patch removing mtd support can be pushed via mtd tree
> (there is really no point on mtd/maps/ceiva.c), and removing ceiva
> depends on Russell's decision.

If you care about conflicts and how to merge all that - you can remove
ceiva via the arm tree, and at the same time modify the driver in the
mtd tree, and we'll just put a not to the commit message that during the
merge this change has to be discarded. Linus did a similar thing this
merge window for one board which mtd modified and arm tree removed.
Dmitry Eremin-Solenikov - June 3, 2011, 6:07 a.m.
On 6/3/11, Artem Bityutskiy <Artem.Bityutskiy@nokia.com> wrote:
> On Fri, 2011-06-03 at 09:17 +0400, Dmitry Eremin-Solenikov wrote:
>> On 6/3/11, Artem Bityutskiy <Artem.Bityutskiy@nokia.com> wrote:
>> > On Fri, 2011-06-03 at 09:02 +0400, Dmitry Eremin-Solenikov wrote:
>> >> On 6/3/11, Artem Bityutskiy <Artem.Bityutskiy@nokia.com> wrote:
>> >> > On Thu, 2011-06-02 at 15:54 +0400, Dmitry Eremin-Solenikov wrote:
>> >> >> Port ceiva machine to use physmap flash instead of custom mapping
>> >> >> driver
>> >> >> (which even can't compile cleanly with current kernels). All info
>> >> >> is gathered from drivers/mtd/maps/ceiva.c. Compile tested only.
>> >> >>
>> >> >> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
>> >> >> ---
>> >> >>  arch/arm/mach-clps711x/ceiva.c |   60
>> >> >> ++++++++++++++++++++++++++++++++++++++++
>> >> >>  1 files changed, 60 insertions(+), 0 deletions(-)
>> >> >
>> >> > Is ceiva used and not dead? May be we could kill it completely?
>> >>
>> >> No functional changes to board file since start of git history. Also
>> >> I don't know how useful can be contemporary Linux on 4 MiB of RAM
>> >
>> > I also noticed that no one is interested in this board for long time. So
>> > I suggest to remove ceiva support altogether via some arm tree.
>>
>> Anyway the patch removing mtd support can be pushed via mtd tree
>> (there is really no point on mtd/maps/ceiva.c), and removing ceiva
>> depends on Russell's decision.
>
> If you care about conflicts and how to merge all that - you can remove
> ceiva via the arm tree, and at the same time modify the driver in the
> mtd tree, and we'll just put a not to the commit message that during the
> merge this change has to be discarded. Linus did a similar thing this
> merge window for one board which mtd modified and arm tree removed.

In fact second patch from this serie (drop of drivers/mtd/maps/ceiva.c)
should be commited through the mtd tree and will bring no conflicts in
either case. And either the first patch (port of ceiva to physmap) or complete
dropout of ceiva should come through the ARM tree, again bringing
no conflicts. So with these patches we are safe :)
Russell King - ARM Linux - June 3, 2011, 7:54 a.m.
On Fri, Jun 03, 2011 at 09:17:31AM +0400, Dmitry Eremin-Solenikov wrote:
> Anyway the patch removing mtd support can be pushed via mtd tree
> (there is really no point on mtd/maps/ceiva.c), and removing ceiva
> depends on Russell's decision.

If it's not getting any attention and no one's interested in it then
it can be removed.
Dmitry Eremin-Solenikov - June 3, 2011, 9:21 a.m.
On 6/3/11, Russell King - ARM Linux <linux@arm.linux.org.uk> wrote:
> On Fri, Jun 03, 2011 at 09:17:31AM +0400, Dmitry Eremin-Solenikov wrote:
>> Anyway the patch removing mtd support can be pushed via mtd tree
>> (there is really no point on mtd/maps/ceiva.c), and removing ceiva
>> depends on Russell's decision.
>
> If it's not getting any attention and no one's interested in it then
> it can be removed.

I've sent a separate e-mail to ARM ML to see if anybody is interested.

Patch

diff --git a/arch/arm/mach-clps711x/ceiva.c b/arch/arm/mach-clps711x/ceiva.c
index 16481cf..00e3c45 100644
--- a/arch/arm/mach-clps711x/ceiva.c
+++ b/arch/arm/mach-clps711x/ceiva.c
@@ -26,6 +26,9 @@ 
 #include <asm/mach/arch.h>
 
 #include <linux/kernel.h>
+#include <linux/platform_device.h>
+#include <linux/mtd/partitions.h>
+#include <linux/mtd/physmap.h>
 
 #include <mach/hardware.h>
 #include <asm/page.h>
@@ -46,6 +49,56 @@  static struct map_desc ceiva_io_desc[] __initdata = {
 	}
 };
 
+/* Flash / Partition sizing */
+/* For the 28F8003, we use the block mapping to calcuate the sizes */
+#define MAX_SIZE_KiB                  (16 + 8 + 8 + 96 + (7*128))
+#define BOOT_PARTITION_SIZE_KiB       (16)
+#define PARAMS_PARTITION_SIZE_KiB     (8)
+#define KERNEL_PARTITION_SIZE_KiB     (4*128)
+/* Use both remaining portion of first flash, and all of second flash */
+#define ROOT_PARTITION_SIZE_KiB       ((3*128) + (8*128))
+
+static struct mtd_partition ceiva_partitions[] = {
+	{
+		.name = "Ceiva BOOT partition",
+		.size   = BOOT_PARTITION_SIZE_KiB*1024,
+		.offset = 0,
+
+	}, {
+		.name = "Ceiva parameters partition",
+		.size   = PARAMS_PARTITION_SIZE_KiB*1024,
+		.offset = (16 + 8) * 1024,
+	}, {
+		.name = "Ceiva kernel partition",
+		.size = (KERNEL_PARTITION_SIZE_KiB)*1024,
+		.offset = 0x20000,
+
+	}, {
+		.name = "Ceiva root filesystem partition",
+		.offset = MTDPART_OFS_APPEND,
+		.size = (ROOT_PARTITION_SIZE_KiB)*1024,
+	}
+};
+
+static struct physmap_flash_data __initdata ceiva_flash_data = {
+	.width		= CEIVA_FLASH_WIDTH,
+	.parts		= ceiva_partitions,
+	.nr_parts	= ARRAY_SIZE(ceiva_partitions),
+	.probe_type	= "jedec_probe",
+};
+
+static struct resource __initdata ceiva_flash_resouces[] = {
+	{
+		.start	= CS0_PHYS_BASE,
+		.end	= CS0_PHYS_BASE + SZ_32M,
+		.flags	= IORESOURCE_MEM,
+	},
+	{
+		.start	= CS1_PHYS_BASE,
+		.end	= CS1_PHYS_BASE + SZ_32M,
+		.flags	= IORESOURCE_MEM,
+	}
+};
 
 static void __init ceiva_map_io(void)
 {
@@ -53,11 +106,18 @@  static void __init ceiva_map_io(void)
         iotable_init(ceiva_io_desc, ARRAY_SIZE(ceiva_io_desc));
 }
 
+static void __init ceiva_init(void)
+{
+	platform_device_register_resndata(NULL, "physmap-flash", -1,
+			ceiva_flash_resouces, ARRAY_SIZE(ceiva_flash_resouces),
+			&ceiva_flash_data, sizeof(ceiva_flash_data));
+}
 
 MACHINE_START(CEIVA, "CEIVA/Polaroid Photo MAX Digital Picture Frame")
 	/* Maintainer: Rob Scott */
 	.boot_params	= 0xc0000100,
 	.map_io		= ceiva_map_io,
 	.init_irq	= clps711x_init_irq,
+	.init_machine	= ceiva_init,
 	.timer		= &clps711x_timer,
 MACHINE_END