xref: /linux/Documentation/driver-api/devfreq.rst (revision 2e4986cf2d525eed3a240b7821f89ca45cf36d78)
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