On Thu, Apr 20, 2017 at 03:57:29PM +0200, Rafał Miłecki wrote: > From: Brian Norris <computersforpeace@xxxxxxxxx> > > This code is going to be reused for parsers matched using OF so let's > factor it out to make this easier. > > Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> > Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx> > --- Could have used a changelog to note dropping the mtd_part_parser_get_by_name() refactoring. Also the corresponding change in subject (from "mtd: partitions: factor out "match by name" handling"). But this seems fine to me. Acked-by: Brian Norris <computersforpeace@xxxxxxxxx> > drivers/mtd/mtdpart.c | 33 ++++++++++++++++++++++++--------- > 1 file changed, 24 insertions(+), 9 deletions(-) > > diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c > index 81e0b80237df..73c52f1a2e4c 100644 > --- a/drivers/mtd/mtdpart.c > +++ b/drivers/mtd/mtdpart.c > @@ -840,6 +840,27 @@ static const char * const default_mtd_part_types[] = { > NULL > }; > > +static int mtd_part_do_parse(struct mtd_part_parser *parser, > + struct mtd_info *master, > + struct mtd_partitions *pparts, > + struct mtd_part_parser_data *data) > +{ > + int ret; > + > + ret = (*parser->parse_fn)(master, &pparts->parts, data); > + pr_debug("%s: parser %s: %i\n", master->name, parser->name, ret); > + if (ret <= 0) > + return ret; > + > + pr_notice("%d %s partitions found on MTD device %s\n", ret, > + parser->name, master->name); > + > + pparts->nr_parts = ret; > + pparts->parser = parser; > + > + return ret; > +} > + > /** > * parse_mtd_partitions - parse MTD partitions > * @master: the master partition (describes whole MTD device) > @@ -880,16 +901,10 @@ int parse_mtd_partitions(struct mtd_info *master, const char *const *types, > parser ? parser->name : NULL); > if (!parser) > continue; > - ret = (*parser->parse_fn)(master, &pparts->parts, data); > - pr_debug("%s: parser %s: %i\n", > - master->name, parser->name, ret); > - if (ret > 0) { > - printk(KERN_NOTICE "%d %s partitions found on MTD device %s\n", > - ret, parser->name, master->name); > - pparts->nr_parts = ret; > - pparts->parser = parser; > + ret = mtd_part_do_parse(parser, master, pparts, data); > + /* Found partitions! */ > + if (ret > 0) > return 0; > - } > mtd_part_parser_put(parser); > /* > * Stash the first error we see; only report it if no parser > -- > 2.11.0 > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html