[PATCH v13 3/3] mtd: Add driver for concatenating devices

Mahapatra, Amit Kumar amit.kumar-mahapatra at amd.com
Wed Jun 4 21:58:50 PDT 2025


[AMD Official Use Only - AMD Internal Distribution Only]

Hello Miquel,
>
> Hi Amit,
>
> > --- a/include/linux/mtd/concat.h
> > +++ b/include/linux/mtd/concat.h
> > @@ -28,5 +28,37 @@ struct mtd_info *mtd_concat_create(
> >
> >  void mtd_concat_destroy(struct mtd_info *mtd);
> >
> > +/**
> > + * mtd_virt_concat_node_create - Create a component for concatenation
> > + *
> > + * Returns a positive number representing the no. of devices found
> > +for
> > + * concatenation, or a negative error code.
> > + *
> > + * List all the devices for concatenations found in DT and create a
> > + * component for concatenation.
> > + */
> > +int mtd_virt_concat_node_create(void);
> > +
> > +/**
> > + * mtd_virt_concat_add - add mtd_info object to the list of
> > +subdevices for concatenation
> > + * @mtd: pointer to new MTD device info structure
> > + *
> > + * Returns true if the mtd_info object is added successfully else returns false.
> > + *
> > + * The mtd_info object is added to the list of subdevices for concatenation.
> > + * It returns true if a match is found, and false if all subdevices
> > +have
> > + * already been added or if the mtd_info object does not match any of
> > +the
> > + * intended MTD devices.
> > + */
> > +bool mtd_virt_concat_add(struct mtd_info *mtd);
> > +
> > +/**
> > + * mtd_virt_concat_create_join - Create and register the concatenated
> > +MTD device
> > + *
> > + * Returns on succes, or a negative error code.
> > + *
> > + * Creates and registers the concatenated MTD device  */ int
> > +mtd_virt_concat_create_join(void);
> >  #endif
>
> Don't we miss some destructors? It seems that removing the mtd device or the

Yes, that's correct—we have defined them in mtd_virt_concat.c, but
I missed exporting and invoking them from MTD core during concat
registration failure or when MTD devices are removed. I'll fix this in the
next revision.

Regards,
Amit
> concat module might lead to an unstable state. Can you please test these two
> situations?
>
> Thanks,
> Miquèl


More information about the linux-mtd mailing list