Lines Matching refs:parser
292 struct of_range_parser parser;
295 ret = of_range_parser_init(&parser, np);
299 for_each_of_range(&parser, &range)
796 static int parser_init(struct of_pci_range_parser *parser,
801 parser->node = node;
802 parser->pna = of_n_addr_cells(node);
803 parser->na = of_bus_n_addr_cells(node);
804 parser->ns = of_bus_n_size_cells(node);
805 parser->dma = !strcmp(name, "dma-ranges");
806 parser->bus = of_match_bus(node);
808 parser->range = of_get_property(node, name, &rlen);
809 if (parser->range == NULL)
812 parser->end = parser->range + rlen / sizeof(__be32);
817 int of_pci_range_parser_init(struct of_pci_range_parser *parser,
820 return parser_init(parser, node, "ranges");
824 int of_pci_dma_range_parser_init(struct of_pci_range_parser *parser,
827 return parser_init(parser, node, "dma-ranges");
832 struct of_pci_range *of_pci_range_parser_one(struct of_pci_range_parser *parser,
835 int na = parser->na;
836 int ns = parser->ns;
837 int np = parser->pna + na + ns;
843 if (!parser->range || parser->range + np > parser->end)
846 range->flags = parser->bus->get_flags(parser->range);
849 if (parser->bus->has_flags)
852 range->bus_addr = of_read_number(parser->range + busflag_na, na - busflag_na);
854 if (parser->dma)
855 range->cpu_addr = of_translate_dma_address(parser->node,
856 parser->range + na);
858 range->cpu_addr = of_translate_address(parser->node,
859 parser->range + na);
860 range->size = of_read_number(parser->range + parser->pna + na, ns);
862 parser->range += np;
865 while (parser->range + np <= parser->end) {
869 flags = parser->bus->get_flags(parser->range);
870 bus_addr = of_read_number(parser->range + busflag_na, na - busflag_na);
871 if (parser->dma)
872 cpu_addr = of_translate_dma_address(parser->node,
873 parser->range + na);
875 cpu_addr = of_translate_address(parser->node,
876 parser->range + na);
877 size = of_read_number(parser->range + parser->pna + na, ns);
886 parser->range += np;
939 struct of_range_parser parser;
968 of_dma_range_parser_init(&parser, node);
969 for_each_of_range(&parser, &range) {
994 of_dma_range_parser_init(&parser, node);
995 for_each_of_range(&parser, &range) {
1023 struct of_range_parser parser;
1036 of_dma_range_parser_init(&parser, np);
1037 for_each_of_range(&parser, &range)