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