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