[PATCH 0/3 v3] mtd: physmap_of: Add multiple regions and concatenation support

Artem Bityutskiy dedekind at infradead.org
Thu Apr 16 23:09:24 EST 2009


On Thu, 2009-04-16 at 14:52 +0200, Stefan Roese wrote:
> On Thursday 16 April 2009, Artem Bityutskiy wrote:
> > On Thu, 2009-04-16 at 14:05 +0200, Stefan Roese wrote:
> > > This patchset adds support to handle multiple non-identical chips in one
> > > flash device tree node. It also adds concat support to physmap_of. This
> > > makes it possible to support e.g. the Intel P30 48F4400 chip which
> > > internally consists of 2 non-identical NOR chips on one die. Additionally
> > > partitions now can span over multiple chips:
> > >
> > >     mtd: physmap_of: Add multiple regions and concatenation support
> > >     mtd/powerpc: Factor out MTD physmap bindings into mtd-physmap.txt
> > >     mtd/powerpc: Describe multiple "reg" tuples usage
> > >
> > > v2 addresses all comments from Grant Likely, including factoring out the
> > > MTD dts bindings documentation into a separate file.
> > >
> > > v3 addresses all comments (again from Grant).
> >
> > Sorry for my ignorance, but could you please explain why regions
> > exists as an MTD concept? Why different regions could not be
> > represented as different MTD devices? The benefit is - simplicity.
> 
> The result of these multiple "reg" tuples *is* multiple MTD devices. Not sure 
> if this explains your comment/question. Please let me know if you still have 
> some comments.

OK, I was confused. In MTD there is a weird notion of "region".
See 'struct mtd_info':

        /* Data for variable erase regions. If numeraseregions is zero,
         * it means that the whole device has erasesize as given above.
         */
        int numeraseregions;
        struct mtd_erase_region_info *eraseregions;

in include/linux/mtd/mtd.h

I thought you use that, and wanted to realize why is that "region"
notion needed.

-- 
Best regards,
Artem Bityutskiy (Битюцкий Артём)




More information about the devicetree-discuss mailing list