| 1 | |
| 2 |
|
| 3 | ========================
|
| 4 | Device Frequency Scaling
|
| 5 | ========================
|
| 6 |
|
| 7 | Introduction
|
| 8 | ------------
|
| 9 |
|
| 10 | This framework provides a standard kernel interface for Dynamic Voltage and
|
| 11 | Frequency Switching on arbitrary devices.
|
| 12 |
|
| 13 | It exposes controls for adjusting frequency through sysfs files which are
|
| 14 | similar to the cpufreq subsystem.
|
| 15 |
|
| 16 | Devices for which current usage can be measured can have their frequency
|
| 17 | automatically adjusted by governors.
|
| 18 |
|
| 19 | API
|
| 20 | ---
|
| 21 |
|
| 22 | Device 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:
|