Lines Matching defs:nodes
690 * This holds any device nodes that we requested resources for,
703 int (*get_smp_nodes)(struct sunxi_mc_smp_nodes *nodes);
707 static void __init sunxi_mc_smp_put_nodes(struct sunxi_mc_smp_nodes *nodes)
709 of_node_put(nodes->prcm_node);
710 of_node_put(nodes->cpucfg_node);
711 of_node_put(nodes->sram_node);
712 of_node_put(nodes->r_cpucfg_node);
713 memset(nodes, 0, sizeof(*nodes));
716 static int __init sun9i_a80_get_smp_nodes(struct sunxi_mc_smp_nodes *nodes)
718 nodes->prcm_node = of_find_compatible_node(NULL, NULL,
720 if (!nodes->prcm_node) {
725 nodes->cpucfg_node = of_find_compatible_node(NULL, NULL,
727 if (!nodes->cpucfg_node) {
732 nodes->sram_node = of_find_compatible_node(NULL, NULL,
734 if (!nodes->sram_node) {
742 static int __init sun8i_a83t_get_smp_nodes(struct sunxi_mc_smp_nodes *nodes)
744 nodes->prcm_node = of_find_compatible_node(NULL, NULL,
746 if (!nodes->prcm_node) {
751 nodes->cpucfg_node = of_find_compatible_node(NULL, NULL,
753 if (!nodes->cpucfg_node) {
758 nodes->r_cpucfg_node = of_find_compatible_node(NULL, NULL,
760 if (!nodes->r_cpucfg_node) {
782 struct sunxi_mc_smp_nodes nodes = { 0 };
825 /* Get needed device tree nodes */
826 ret = sunxi_mc_smp_data[i].get_smp_nodes(&nodes);
834 prcm_base = of_iomap(nodes.prcm_node, 0);
841 cpucfg_base = of_io_request_and_map(nodes.cpucfg_node, 0,
851 r_cpucfg_base = of_io_request_and_map(nodes.r_cpucfg_node,
860 sram_b_smp_base = of_io_request_and_map(nodes.sram_node, 0,
877 /* We don't need the device nodes anymore */
878 sunxi_mc_smp_put_nodes(&nodes);
897 of_address_to_resource(nodes.r_cpucfg_node, 0, &res);
900 of_address_to_resource(nodes.sram_node, 0, &res);
905 of_address_to_resource(nodes.cpucfg_node, 0, &res);
910 sunxi_mc_smp_put_nodes(&nodes);