Lines Matching refs:parser
232 int of_pci_range_parser_init(struct of_pci_range_parser *parser, in of_pci_range_parser_init() argument
238 parser->node = node; in of_pci_range_parser_init()
239 parser->pna = of_n_addr_cells(node); in of_pci_range_parser_init()
240 parser->np = parser->pna + na + ns; in of_pci_range_parser_init()
242 parser->range = of_get_property(node, "ranges", &rlen); in of_pci_range_parser_init()
243 if (parser->range == NULL) in of_pci_range_parser_init()
246 parser->end = parser->range + rlen / sizeof(__be32); in of_pci_range_parser_init()
252 struct of_pci_range *of_pci_range_parser_one(struct of_pci_range_parser *parser, in of_pci_range_parser_one() argument
260 if (!parser->range || parser->range + parser->np > parser->end) in of_pci_range_parser_one()
263 range->pci_space = parser->range[0]; in of_pci_range_parser_one()
264 range->flags = of_bus_pci_get_flags(parser->range); in of_pci_range_parser_one()
265 range->pci_addr = of_read_number(parser->range + 1, ns); in of_pci_range_parser_one()
266 range->cpu_addr = of_translate_address(parser->node, in of_pci_range_parser_one()
267 parser->range + na); in of_pci_range_parser_one()
268 range->size = of_read_number(parser->range + parser->pna + na, ns); in of_pci_range_parser_one()
270 parser->range += parser->np; in of_pci_range_parser_one()
273 while (parser->range + parser->np <= parser->end) { in of_pci_range_parser_one()
277 pci_space = be32_to_cpup(parser->range); in of_pci_range_parser_one()
278 flags = of_bus_pci_get_flags(parser->range); in of_pci_range_parser_one()
279 pci_addr = of_read_number(parser->range + 1, ns); in of_pci_range_parser_one()
280 cpu_addr = of_translate_address(parser->node, in of_pci_range_parser_one()
281 parser->range + na); in of_pci_range_parser_one()
282 size = of_read_number(parser->range + parser->pna + na, ns); in of_pci_range_parser_one()
291 parser->range += parser->np; in of_pci_range_parser_one()