// SPDX-License-Identifier: GPL-2.0-only /* * Copyright 2021 Linaro Limited * * Author: Daniel Lezcano <daniel.lezcano@linaro.org> * * The devfreq device combined with the energy model and the load can * give an estimation of the power consumption as well as limiting the * power. *
*/ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
pd = em_pd_get(dev); if (!pd) {
ret = dev_pm_opp_of_register_em(dev, NULL); if (ret) {
pr_err("No energy model available for '%s'\n", dev_name(dev)); return -EINVAL;
}
}
dtpm_devfreq = kzalloc(sizeof(*dtpm_devfreq), GFP_KERNEL); if (!dtpm_devfreq) return -ENOMEM;
dtpm_init(&dtpm_devfreq->dtpm, &dtpm_ops);
dtpm_devfreq->devfreq = devfreq;
ret = dtpm_register(dev_name(dev), &dtpm_devfreq->dtpm, parent); if (ret) {
pr_err("Failed to register '%s': %d\n", dev_name(dev), ret);
kfree(dtpm_devfreq); return ret;
}
ret = dev_pm_qos_add_request(dev, &dtpm_devfreq->qos_req,
DEV_PM_QOS_MAX_FREQUENCY,
PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE); if (ret < 0) {
pr_err("Failed to add QoS request: %d\n", ret); goto out_dtpm_unregister;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.