[PATCH] powerpc: Create "rom" (MTD) device prpmc2800

Milton Miller miltonm at bga.com
Sat Jun 2 14:30:32 EST 2007

On Sat Jun 2 09:20:22 EST 2007,  Mark A. Greer wrote:

> Find the "rom" device for the prpmc2800 and create a device for it.
> The device will be picked up by the code in 
> drivers/mtd/maps/physmap_of.c
> and will setup MTD on that FLASH device.
>  /*
> + * Register a platform device for MTD.
> + */
> +static int __init prpmc2800_register_mtd(void)
> +{
> +       struct device_node *np;
> +
> +       np = of_find_compatible_node(NULL, "rom", "direct-mapped");
> +       of_platform_device_create(np, np->name, NULL);
> +}
> +arch_initcall(prpmc2800_register_mtd);

I think "direct-mapped" as compatible is a bit too broad or vague.

The compatible is supposed to be useable to find and match a driver
without regard to the name of the node.  Perhaps direct-mapped-rom?
(as opossed to a direct-mapped-ram, sram, or some width flash bank).

Actually, looking back at your device tree {1], your list several
properties for flash, including bank-width and partition names.
Perhaps first compatible should be direct-mapped-partitioned-flash,
direct-mapped-partitioned-rom, direct-mapped-rom  (to me a
direct-mapped-rom driver would expose one section of address space
read-only). I'm assuming that your driver for this "direct-mapped"
device will look at these properties from the of device node and
call the mtd layer somewhat directly with their contents.

[1] http://ozlabs.org/pipermail/linuxppc-dev/2007-May/035858.html


PS: I know you've posted this a few times.  I'm just behind in
my reading and  replying :-).

More information about the Linuxppc-dev mailing list