// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later /* * OPAL calls to get/set power caps * * Copyright 2017 IBM Corp. */ #include static int opal_get_powercap(u32 handle, int token __unused, __be32 *__pcap) { if (!__pcap || !opal_addr_valid(__pcap)) return OPAL_PARAMETER; if (powercap_get_class(handle) == POWERCAP_CLASS_OCC) { u32 pcap; int rc; rc = occ_get_powercap(handle, &pcap); *__pcap = cpu_to_be32(pcap); return rc; } return OPAL_UNSUPPORTED; }; opal_call(OPAL_GET_POWERCAP, opal_get_powercap, 3); static int opal_set_powercap(u32 handle, int token, u32 pcap) { if (powercap_get_class(handle) == POWERCAP_CLASS_OCC) return occ_set_powercap(handle, token, pcap); return OPAL_UNSUPPORTED; }; opal_call(OPAL_SET_POWERCAP, opal_set_powercap, 3);