Lines Matching refs:nodes

689  * This holds any device nodes that we requested resources for,
702 int (*get_smp_nodes)(struct sunxi_mc_smp_nodes *nodes);
706 static void __init sunxi_mc_smp_put_nodes(struct sunxi_mc_smp_nodes *nodes)
708 of_node_put(nodes->prcm_node);
709 of_node_put(nodes->cpucfg_node);
710 of_node_put(nodes->sram_node);
711 of_node_put(nodes->r_cpucfg_node);
712 memset(nodes, 0, sizeof(*nodes));
715 static int __init sun9i_a80_get_smp_nodes(struct sunxi_mc_smp_nodes *nodes)
717 nodes->prcm_node = of_find_compatible_node(NULL, NULL,
719 if (!nodes->prcm_node) {
724 nodes->cpucfg_node = of_find_compatible_node(NULL, NULL,
726 if (!nodes->cpucfg_node) {
731 nodes->sram_node = of_find_compatible_node(NULL, NULL,
733 if (!nodes->sram_node) {
741 static int __init sun8i_a83t_get_smp_nodes(struct sunxi_mc_smp_nodes *nodes)
743 nodes->prcm_node = of_find_compatible_node(NULL, NULL,
745 if (!nodes->prcm_node) {
750 nodes->cpucfg_node = of_find_compatible_node(NULL, NULL,
752 if (!nodes->cpucfg_node) {
757 nodes->r_cpucfg_node = of_find_compatible_node(NULL, NULL,
759 if (!nodes->r_cpucfg_node) {
781 struct sunxi_mc_smp_nodes nodes = { 0 };
824 /* Get needed device tree nodes */
825 ret = sunxi_mc_smp_data[i].get_smp_nodes(&nodes);
833 prcm_base = of_iomap(nodes.prcm_node, 0);
840 cpucfg_base = of_io_request_and_map(nodes.cpucfg_node, 0,
850 r_cpucfg_base = of_io_request_and_map(nodes.r_cpucfg_node,
859 sram_b_smp_base = of_io_request_and_map(nodes.sram_node, 0,
876 /* We don't need the device nodes anymore */
877 sunxi_mc_smp_put_nodes(&nodes);
896 of_address_to_resource(nodes.r_cpucfg_node, 0, &res);
899 of_address_to_resource(nodes.sram_node, 0, &res);
904 of_address_to_resource(nodes.cpucfg_node, 0, &res);
909 sunxi_mc_smp_put_nodes(&nodes);