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