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