Skip to content

Commit

Permalink
ARM: 6904/1: MTD: Add integrator-flash feature to physmap
Browse files Browse the repository at this point in the history
In the process of moving platforms away from integrator-flash
(aka armflash), add to physmap the few features that make
armflash unique:

- optionnal probing for the AFS partition type
- init() and exit() methods, used by Integrator to control
  write access to the various onboard programmable components

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Acked-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Marc Zyngier authored and Russell King committed May 20, 2011
1 parent c1d10d1 commit b7281ca
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
16 changes: 15 additions & 1 deletion drivers/mtd/maps/physmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,10 @@ static int physmap_flash_remove(struct platform_device *dev)
if (info->mtd[i] != NULL)
map_destroy(info->mtd[i]);
}

if (physmap_data->exit)
physmap_data->exit(dev);

return 0;
}

Expand All @@ -77,7 +81,11 @@ static const char *rom_probe_types[] = {
"map_rom",
NULL };
#ifdef CONFIG_MTD_PARTITIONS
static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", NULL };
static const char *part_probe_types[] = { "cmdlinepart", "RedBoot",
#ifdef CONFIG_MTD_AFS_PARTS
"afs",
#endif
NULL };
#endif

static int physmap_flash_probe(struct platform_device *dev)
Expand All @@ -100,6 +108,12 @@ static int physmap_flash_probe(struct platform_device *dev)
goto err_out;
}

if (physmap_data->init) {
err = physmap_data->init(dev);
if (err)
goto err_out;
}

platform_set_drvdata(dev, info);

for (i = 0; i < dev->num_resources; i++) {
Expand Down
2 changes: 2 additions & 0 deletions include/linux/mtd/physmap.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ struct map_info;

struct physmap_flash_data {
unsigned int width;
int (*init)(struct platform_device *);
void (*exit)(struct platform_device *);
void (*set_vpp)(struct map_info *, int);
unsigned int nr_parts;
unsigned int pfow_base;
Expand Down

0 comments on commit b7281ca

Please sign in to comment.