[U-Boot] [PATCH v7 11/12] cmd: ubi: clean the partition handling
Boris Brezillon
boris.brezillon at bootlin.com
Thu Sep 6 09:52:32 UTC 2018
Hi Miquel,
On Thu, 6 Sep 2018 09:08:53 +0200
Miquel Raynal <miquel.raynal at bootlin.com> wrote:
> int ubi_part(char *part_name, const char *vid_header_offset)
> {
> + struct mtd_info *mtd;
> int err = 0;
> - char mtd_dev[16];
> - struct mtd_device *dev;
> - struct part_info *part;
> - u8 pnum;
>
> ubi_detach();
> - /*
> - * Search the mtd device number where this partition
> - * is located
> - */
> - if (find_dev_and_part(part_name, &dev, &pnum, &part)) {
> +
> +#ifdef CONFIG_MTD
> + mtd_probe_devices();
> +#endif
Okay, so just like for the mtdparts patch, the #ifdef is incorrect, but
more importantly, with you're rework, you're breaking all non-DM
platforms, because the UBI layer no longer creates an MTD device on the
fly, and the mtd partition creation won't take place if CONFIG_MTD is
not activated.
My suggestion would be to make mtd_probe_devices() available to everyone
(not only those who have CONFIG_MTD selected, which in turn depends on
CONFIG_DM) so that the mtd part creation is done unconditionally, and
you can safely get rid of the "dummy MTD device creation" done in UBI.
> + mtd = get_mtd_device_nm(part_name);
> + if (IS_ERR(mtd)) {
Regards,
Boris
More information about the U-Boot
mailing list