Lines Matching defs:parser

267 	struct of_range_parser parser;
270 ret = of_range_parser_init(&parser, np);
274 for_each_of_range(&parser, &range)
755 static int parser_init(struct of_pci_range_parser *parser,
760 parser->node = node;
761 parser->pna = of_n_addr_cells(node);
762 parser->na = of_bus_n_addr_cells(node);
763 parser->ns = of_bus_n_size_cells(node);
764 parser->dma = !strcmp(name, "dma-ranges");
765 parser->bus = of_match_bus(node);
767 parser->range = of_get_property(node, name, &rlen);
768 if (parser->range == NULL)
771 parser->end = parser->range + rlen / sizeof(__be32);
776 int of_pci_range_parser_init(struct of_pci_range_parser *parser,
779 return parser_init(parser, node, "ranges");
783 int of_pci_dma_range_parser_init(struct of_pci_range_parser *parser,
786 return parser_init(parser, node, "dma-ranges");
791 struct of_pci_range *of_pci_range_parser_one(struct of_pci_range_parser *parser,
794 int na = parser->na;
795 int ns = parser->ns;
796 int np = parser->pna + na + ns;
797 int busflag_na = parser->bus->flag_cells;
802 if (!parser->range || parser->range + np > parser->end)
805 range->flags = parser->bus->get_flags(parser->range);
807 range->bus_addr = of_read_number(parser->range + busflag_na, na - busflag_na);
809 if (parser->dma)
810 range->cpu_addr = of_translate_dma_address(parser->node,
811 parser->range + na);
813 range->cpu_addr = of_translate_address(parser->node,
814 parser->range + na);
815 range->size = of_read_number(parser->range + parser->pna + na, ns);
817 parser->range += np;
820 while (parser->range + np <= parser->end) {
824 flags = parser->bus->get_flags(parser->range);
825 bus_addr = of_read_number(parser->range + busflag_na, na - busflag_na);
826 if (parser->dma)
827 cpu_addr = of_translate_dma_address(parser->node,
828 parser->range + na);
830 cpu_addr = of_translate_address(parser->node,
831 parser->range + na);
832 size = of_read_number(parser->range + parser->pna + na, ns);
841 parser->range += np;
894 struct of_range_parser parser;
923 of_dma_range_parser_init(&parser, node);
924 for_each_of_range(&parser, &range) {
949 of_dma_range_parser_init(&parser, node);
950 for_each_of_range(&parser, &range) {
977 struct of_range_parser parser;
990 of_dma_range_parser_init(&parser, np);
991 for_each_of_range(&parser, &range)