From: u.kleine-koenig@pengutronix.de (Uwe Kleine-König)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 06/18] ARM: clps711x: cdb89712: Special driver for handling memory is removed
Date: Thu, 10 Jan 2013 15:09:21 +0100 [thread overview]
Message-ID: <20130110140921.GC14860@pengutronix.de> (raw)
In-Reply-To: <1353160644-22446-7-git-send-email-shc_work@mail.ru>
Hello,
I just stumbled over commit 86449336dd3c6e0edf97b971db2daa88917c1d7e
(contained in v3.8-rc1) which is the result of this patch submission. So
it's too late for a review comment, so if you care about my concerns you
need to follow up with a new patch.
On Sat, Nov 17, 2012 at 05:57:12PM +0400, Alexander Shiyan wrote:
> This patch provide migration to using "physmap-flash" and "mtd-ram"
> drivers instead of using special driver for handling memory.
>
> Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> ---
> arch/arm/mach-clps711x/cdb89712.c | 84 +++++++
> arch/arm/mach-clps711x/include/mach/hardware.h | 3 +
> drivers/mtd/maps/Kconfig | 7 -
> drivers/mtd/maps/Makefile | 1 -
> drivers/mtd/maps/cdb89712.c | 278 ------------------------
> 5 files changed, 87 insertions(+), 286 deletions(-)
> delete mode 100644 drivers/mtd/maps/cdb89712.c
>
> diff --git a/arch/arm/mach-clps711x/cdb89712.c b/arch/arm/mach-clps711x/cdb89712.c
> index 235e625..24f573b 100644
> --- a/arch/arm/mach-clps711x/cdb89712.c
> +++ b/arch/arm/mach-clps711x/cdb89712.c
> @@ -26,6 +26,10 @@
> #include <linux/interrupt.h>
> #include <linux/platform_device.h>
>
> +#include <linux/mtd/physmap.h>
> +#include <linux/mtd/plat-ram.h>
> +#include <linux/mtd/partitions.h>
> +
> #include <mach/hardware.h>
> #include <asm/pgtable.h>
> #include <asm/page.h>
> @@ -44,8 +48,88 @@ static struct resource cdb89712_cs8900_resource[] __initdata = {
> DEFINE_RES_IRQ(CDB89712_CS8900_IRQ),
> };
>
> +static struct mtd_partition cdb89712_flash_partitions[] __initdata = {
> + {
> + .name = "Flash",
> + .offset = 0,
> + .size = MTDPART_SIZ_FULL,
> + },
> +};
> +
> +static struct physmap_flash_data cdb89712_flash_pdata __initdata = {
> + .width = 4,
> + .probe_type = "map_rom",
> + .parts = cdb89712_flash_partitions,
> + .nr_parts = ARRAY_SIZE(cdb89712_flash_partitions),
> +};
> +
> +static struct resource cdb89712_flash_resources[] __initdata = {
> + DEFINE_RES_MEM(CS0_PHYS_BASE, SZ_8M),
> +};
> +
> +static struct platform_device cdb89712_flash_pdev __initdata = {
> + .name = "physmap-flash",
> + .id = 0,
> + .resource = cdb89712_flash_resources,
> + .num_resources = ARRAY_SIZE(cdb89712_flash_resources),
> + .dev = {
> + .platform_data = &cdb89712_flash_pdata,
> + },
> +};
> +
> +static struct mtd_partition cdb89712_bootrom_partitions[] __initdata = {
> + {
> + .name = "BootROM",
> + .offset = 0,
> + .size = MTDPART_SIZ_FULL,
> + },
> +};
> +
> +static struct physmap_flash_data cdb89712_bootrom_pdata __initdata = {
> + .width = 4,
> + .probe_type = "map_rom",
> + .parts = cdb89712_bootrom_partitions,
> + .nr_parts = ARRAY_SIZE(cdb89712_bootrom_partitions),
> +};
> +
> +static struct resource cdb89712_bootrom_resources[] __initdata = {
> + DEFINE_RES_NAMED(CS7_PHYS_BASE, SZ_128, "BOOTROM", IORESOURCE_MEM |
> + IORESOURCE_CACHEABLE | IORESOURCE_READONLY),
> +};
> +
> +static struct platform_device cdb89712_bootrom_pdev __initdata = {
> + .name = "physmap-flash",
> + .id = 1,
> + .resource = cdb89712_bootrom_resources,
> + .num_resources = ARRAY_SIZE(cdb89712_bootrom_resources),
> + .dev = {
> + .platform_data = &cdb89712_bootrom_pdata,
> + },
> +};
> +
> +static struct platdata_mtd_ram cdb89712_sram_pdata __initdata = {
> + .bankwidth = 4,
> +};
> +
> +static struct resource cdb89712_sram_resources[] __initdata = {
> + DEFINE_RES_MEM(CLPS711X_SRAM_BASE, CLPS711X_SRAM_SIZE),
> +};
> +
> +static struct platform_device cdb89712_sram_pdev __initdata = {
> + .name = "mtd-ram",
> + .id = 0,
> + .resource = cdb89712_sram_resources,
> + .num_resources = ARRAY_SIZE(cdb89712_sram_resources),
> + .dev = {
> + .platform_data = &cdb89712_sram_pdata,
> + },
> +};
> +
> static void __init cdb89712_init(void)
> {
> + platform_device_register(&cdb89712_flash_pdev);
> + platform_device_register(&cdb89712_bootrom_pdev);
> + platform_device_register(&cdb89712_sram_pdev);
This is broken, all these structs are located in .init.data which is
discarded after the machine is fully booted. Also platformdata must not
live in init data. Consider using platform_device_register_full which
allows more data to be init data.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |
next prev parent reply other threads:[~2013-01-10 14:09 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-17 13:57 [PATCH v3 00/18] ARM: Patchset for CLPS711X Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 01/18] ARM: clps711x: Using platform_driver for ethernet device Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 02/18] ARM: clps711x: p720t: Using "leds-gpio" driver for LED control Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 03/18] ARM: clps711x: Transform clps711x-framebuffer to platform driver and use it Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 04/18] ARM: clps711x: p720t: Unneeded inclusion of head-sa1100.S removed Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 05/18] ARM: clps711x: Always select AUTO_ZRELADDR for a platform Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 06/18] ARM: clps711x: cdb89712: Special driver for handling memory is removed Alexander Shiyan
2013-01-10 14:09 ` Uwe Kleine-König [this message]
2013-01-10 15:39 ` Alexander Shiyan
2013-01-10 16:20 ` Uwe Kleine-König
2012-11-17 13:57 ` [PATCH v3 07/18] ARM: clps711x: Implement usage "SPARSE_IRQ" kernel option for a platform Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 08/18] ARM: clps711x: Implement usage "MULTI_IRQ_HANDLER" " Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 09/18] ARM: clps711x: Add FIQ interrupt handling Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 10/18] ARM: clps711x: Unused empty "ACK" calls for IRQ-chips removed Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 11/18] ARM: clps711x: autcpu12: Special driver for handling NAND memory is removed Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 12/18] ARM: clps711x: Moving power management of framebuffer driver to the board Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 13/18] ARM: clps711x: p720t: Special driver for handling NAND memory is removed Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 14/18] ARM: clps711x: Moving backlight controls of framebuffer driver to the board Alexander Shiyan
2012-11-21 6:37 ` Olof Johansson
2012-11-17 13:57 ` [PATCH v3 15/18] ARM: clps711x: edb7211: Add support for NOR-Flash Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 16/18] ARM: clps711x: Rename board files to match functionality Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 17/18] ARM: clps711x: Update defconfig due latest changes and new kernel symbols Alexander Shiyan
2012-11-17 13:57 ` [PATCH v3 18/18] MAINTAINERS: Add ARM CLPS711X entry Alexander Shiyan
2012-11-17 15:45 ` [PATCH v3 00/18] ARM: Patchset for CLPS711X Arnd Bergmann
2012-11-19 10:00 ` Linus Walleij
2012-11-21 6:36 ` Olof Johansson
2012-11-21 9:46 ` Linus Walleij
2012-11-21 10:18 ` Olof Johansson
2012-11-21 10:27 ` Olof Johansson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130110140921.GC14860@pengutronix.de \
--to=u.kleine-koenig@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.