Lines Matching refs:parser
160 int of_imap_parser_init(struct of_imap_parser *parser, struct device_node *node, in of_imap_parser_init() argument
174 parser->parent_offset = of_bus_n_addr_cells(node); in of_imap_parser_init()
180 parser->parent_offset += tmp; in of_imap_parser_init()
182 if (WARN(parser->parent_offset > ARRAY_SIZE(item->child_imap), in of_imap_parser_init()
184 parser->parent_offset, ARRAY_SIZE(item->child_imap))) in of_imap_parser_init()
187 parser->imap = of_get_property(node, "interrupt-map", &imaplen); in of_imap_parser_init()
188 if (!parser->imap) in of_imap_parser_init()
191 imaplen /= sizeof(*parser->imap); in of_imap_parser_init()
192 parser->imap_end = parser->imap + imaplen; in of_imap_parser_init()
195 item->child_imap_count = parser->parent_offset; in of_imap_parser_init()
201 struct of_imap_item *of_imap_parser_one(struct of_imap_parser *parser, in of_imap_parser_one() argument
210 if (parser->imap + parser->parent_offset + 1 >= parser->imap_end) in of_imap_parser_one()
213 imap_parent = parser->imap + parser->parent_offset; in of_imap_parser_one()
216 parser->imap_end - imap_parent, in of_imap_parser_one()
221 for (i = 0; i < parser->parent_offset; i++) in of_imap_parser_one()
222 item->child_imap[i] = be32_to_cpu(*(parser->imap + i)); in of_imap_parser_one()
224 parser->imap = imap_next; in of_imap_parser_one()