Lines Matching full:powercap
3 * PowerNV OPAL Powercap interface
8 #define pr_fmt(fmt) "opal-powercap: " fmt
144 struct device_node *powercap, *node; in opal_powercap_init() local
147 powercap = of_find_compatible_node(NULL, NULL, "ibm,opal-powercap"); in opal_powercap_init()
148 if (!powercap) { in opal_powercap_init()
149 pr_devel("Powercap node not found\n"); in opal_powercap_init()
153 pcaps = kcalloc(of_get_child_count(powercap), sizeof(*pcaps), in opal_powercap_init()
158 powercap_kobj = kobject_create_and_add("powercap", opal_kobj); in opal_powercap_init()
160 pr_warn("Failed to create powercap kobject\n"); in opal_powercap_init()
165 for_each_child_of_node(powercap, node) { in opal_powercap_init()
170 if (!of_property_read_u32(node, "powercap-min", &min)) { in opal_powercap_init()
175 if (!of_property_read_u32(node, "powercap-max", &max)) { in opal_powercap_init()
180 if (!of_property_read_u32(node, "powercap-current", &cur)) { in opal_powercap_init()
206 powercap_add_attr(min, "powercap-min", in opal_powercap_init()
213 powercap_add_attr(max, "powercap-max", in opal_powercap_init()
220 powercap_add_attr(cur, "powercap-current", in opal_powercap_init()
229 pr_warn("Failed to create powercap attribute group %s\n", in opal_powercap_init()
235 of_node_put(powercap); in opal_powercap_init()
250 of_node_put(powercap); in opal_powercap_init()