^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) .. SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Device Frequency Scaling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) ========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Introduction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) ------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) This framework provides a standard kernel interface for Dynamic Voltage and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Frequency Switching on arbitrary devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) It exposes controls for adjusting frequency through sysfs files which are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) similar to the cpufreq subsystem.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) Devices for which current usage can be measured can have their frequency
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) automatically adjusted by governors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) API
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) ---
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Device drivers need to initialize a :c:type:`devfreq_profile` and call the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) :c:func:`devfreq_add_device` function to create a :c:type:`devfreq` instance.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) .. kernel-doc:: include/linux/devfreq.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) .. kernel-doc:: include/linux/devfreq-event.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) .. kernel-doc:: drivers/devfreq/devfreq.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) :export:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) .. kernel-doc:: drivers/devfreq/devfreq-event.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) :export: