Lines Matching refs:parser

515 static int mtd_part_do_parse(struct mtd_part_parser *parser,
522 ret = (*parser->parse_fn)(master, &pparts->parts, data);
523 pr_debug("%s: parser %s: %i\n", master->name, parser->name, ret);
528 parser->name, master->name);
531 pparts->parser = parser;
537 * mtd_part_get_compatible_parser - find MTD parser by a compatible string
542 * compatibility strings. This function finds a parser that advertises support
578 struct mtd_part_parser *parser;
592 parser = mtd_part_get_compatible_parser(compat);
593 if (!parser)
595 ret = mtd_part_do_parse(parser, master, pparts, NULL);
600 mtd_part_parser_put(parser);
608 * parser. It supports old DT format with partitions specified as a
612 parser = mtd_part_parser_get(fixed);
613 if (!parser && !request_module("%s", fixed))
614 parser = mtd_part_parser_get(fixed);
615 if (parser) {
616 ret = mtd_part_do_parse(parser, master, pparts, NULL);
619 mtd_part_parser_put(parser);
632 * @data: MTD partition parser-specific data
638 * Note: If there are more then one parser in @types, the kernel only takes the
639 * partitions parsed out by the first parser.
649 struct mtd_part_parser *parser;
667 parser = mtd_part_parser_get(*types);
668 if (!parser && !request_module("%s", *types))
669 parser = mtd_part_parser_get(*types);
670 pr_debug("%s: got parser %s\n", master->name,
671 parser ? parser->name : NULL);
672 if (!parser)
674 ret = mtd_part_do_parse(parser, master, &pparts, data);
676 mtd_part_parser_put(parser);
686 * Stash the first error we see; only report it if no parser
697 const struct mtd_part_parser *parser;
702 parser = parts->parser;
703 if (parser) {
704 if (parser->cleanup)
705 parser->cleanup(parts->parts, parts->nr_parts);
707 mtd_part_parser_put(parser);