Lines Matching refs:parser

516 static int mtd_part_do_parse(struct mtd_part_parser *parser,
523 ret = (*parser->parse_fn)(master, &pparts->parts, data);
524 pr_debug("%s: parser %s: %i\n", master->name, parser->name, ret);
529 parser->name, master->name);
532 pparts->parser = parser;
538 * mtd_part_get_compatible_parser - find MTD parser by a compatible string
543 * compatibility strings. This function finds a parser that advertises support
579 struct mtd_part_parser *parser;
609 parser = mtd_part_get_compatible_parser(compat);
610 if (!parser)
612 ret = mtd_part_do_parse(parser, master, pparts, NULL);
618 mtd_part_parser_put(parser);
627 * parser. It supports old DT format with partitions specified as a
631 parser = mtd_part_parser_get(fixed);
632 if (!parser && !request_module("%s", fixed))
633 parser = mtd_part_parser_get(fixed);
634 if (parser) {
635 ret = mtd_part_do_parse(parser, master, pparts, NULL);
638 mtd_part_parser_put(parser);
651 * @data: MTD partition parser-specific data
657 * Note: If there are more then one parser in @types, the kernel only takes the
658 * partitions parsed out by the first parser.
668 struct mtd_part_parser *parser;
686 parser = mtd_part_parser_get(*types);
687 if (!parser && !request_module("%s", *types))
688 parser = mtd_part_parser_get(*types);
689 pr_debug("%s: got parser %s\n", master->name,
690 parser ? parser->name : NULL);
691 if (!parser)
693 ret = mtd_part_do_parse(parser, master, &pparts, data);
695 mtd_part_parser_put(parser);
705 * Stash the first error we see; only report it if no parser
716 const struct mtd_part_parser *parser;
721 parser = parts->parser;
722 if (parser) {
723 if (parser->cleanup)
724 parser->cleanup(parts->parts, parts->nr_parts);
726 mtd_part_parser_put(parser);