Lines Matching refs:dn
250 static int dlpar_offline_cpu(struct device_node *dn) in dlpar_offline_cpu() argument
258 intserv = of_get_property(dn, "ibm,ppc-interrupt-server#s", &len); in dlpar_offline_cpu()
292 static int dlpar_online_cpu(struct device_node *dn) in dlpar_online_cpu() argument
300 intserv = of_get_property(dn, "ibm,ppc-interrupt-server#s", &len); in dlpar_online_cpu()
316 dlpar_offline_cpu(dn); in dlpar_online_cpu()
433 struct device_node *dn, *parent; in dlpar_cpu_add() local
464 dn = dlpar_configure_connector(cpu_to_be32(drc_index), parent); in dlpar_cpu_add()
465 if (!dn) { in dlpar_cpu_add()
473 rc = dlpar_attach_node(dn, parent); in dlpar_cpu_add()
481 dn, rc, drc_index); in dlpar_cpu_add()
485 dlpar_free_cc_nodes(dn); in dlpar_cpu_add()
490 rc = dlpar_online_cpu(dn); in dlpar_cpu_add()
494 dn, rc, drc_index); in dlpar_cpu_add()
496 rc = dlpar_detach_node(dn); in dlpar_cpu_add()
503 pr_debug("Successfully added CPU %pOFn, drc index: %x\n", dn, in dlpar_cpu_add()
508 static ssize_t dlpar_cpu_remove(struct device_node *dn, u32 drc_index) in dlpar_cpu_remove() argument
513 dn, drc_index); in dlpar_cpu_remove()
515 rc = dlpar_offline_cpu(dn); in dlpar_cpu_remove()
517 pr_warn("Failed to offline CPU %pOFn, rc: %d\n", dn, rc); in dlpar_cpu_remove()
524 drc_index, dn, rc); in dlpar_cpu_remove()
525 dlpar_online_cpu(dn); in dlpar_cpu_remove()
529 rc = dlpar_detach_node(dn); in dlpar_cpu_remove()
533 pr_warn("Failed to detach CPU %pOFn, rc: %d", dn, rc); in dlpar_cpu_remove()
537 dlpar_online_cpu(dn); in dlpar_cpu_remove()
548 struct device_node *dn; in cpu_drc_index_to_dn() local
552 for_each_node_by_type(dn, "cpu") { in cpu_drc_index_to_dn()
553 rc = of_property_read_u32(dn, "ibm,my-drc-index", &my_index); in cpu_drc_index_to_dn()
561 return dn; in cpu_drc_index_to_dn()
566 struct device_node *dn; in dlpar_cpu_remove_by_index() local
569 dn = cpu_drc_index_to_dn(drc_index); in dlpar_cpu_remove_by_index()
570 if (!dn) { in dlpar_cpu_remove_by_index()
576 rc = dlpar_cpu_remove(dn, drc_index); in dlpar_cpu_remove_by_index()
577 of_node_put(dn); in dlpar_cpu_remove_by_index()
583 struct device_node *dn; in find_dlpar_cpus_to_remove() local
590 for_each_node_by_type(dn, "cpu") { in find_dlpar_cpus_to_remove()
594 of_node_put(dn); in find_dlpar_cpus_to_remove()
601 rc = of_property_read_u32(dn, "ibm,my-drc-index", in find_dlpar_cpus_to_remove()
605 dn); in find_dlpar_cpus_to_remove()
606 of_node_put(dn); in find_dlpar_cpus_to_remove()
845 struct device_node *dn; in dlpar_cpu_release() local
849 dn = of_find_node_by_path(buf); in dlpar_cpu_release()
850 if (!dn) in dlpar_cpu_release()
853 rc = of_property_read_u32(dn, "ibm,my-drc-index", &drc_index); in dlpar_cpu_release()
855 of_node_put(dn); in dlpar_cpu_release()
859 rc = dlpar_cpu_remove(dn, drc_index); in dlpar_cpu_release()
860 of_node_put(dn); in dlpar_cpu_release()
875 err = pseries_add_processor(rd->dn); in pseries_smp_notifier()
878 pseries_remove_processor(rd->dn); in pseries_smp_notifier()