1*4882a593Smuzhiyun.. SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun======================== 4*4882a593SmuzhiyunDevice Frequency Scaling 5*4882a593Smuzhiyun======================== 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunIntroduction 8*4882a593Smuzhiyun------------ 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunThis framework provides a standard kernel interface for Dynamic Voltage and 11*4882a593SmuzhiyunFrequency Switching on arbitrary devices. 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunIt exposes controls for adjusting frequency through sysfs files which are 14*4882a593Smuzhiyunsimilar to the cpufreq subsystem. 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunDevices for which current usage can be measured can have their frequency 17*4882a593Smuzhiyunautomatically adjusted by governors. 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunAPI 20*4882a593Smuzhiyun--- 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunDevice drivers need to initialize a :c:type:`devfreq_profile` and call the 23*4882a593Smuzhiyun:c:func:`devfreq_add_device` function to create a :c:type:`devfreq` instance. 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun.. kernel-doc:: include/linux/devfreq.h 26*4882a593Smuzhiyun.. kernel-doc:: include/linux/devfreq-event.h 27*4882a593Smuzhiyun.. kernel-doc:: drivers/devfreq/devfreq.c 28*4882a593Smuzhiyun :export: 29*4882a593Smuzhiyun.. kernel-doc:: drivers/devfreq/devfreq-event.c 30*4882a593Smuzhiyun :export: 31