linux/drivers/cpufreq/cpufreq_userspace.c
<<
>>
Prefs
   1
   2/*
   3 *  linux/drivers/cpufreq/cpufreq_userspace.c
   4 *
   5 *  Copyx/rig (C,  2on value="v2.6.7an class="comment"
	  >
  v2.6.15.6   5 *  Copyx/rig (6,  2o6 value="v2.6.7an class="commennnnnnnnnnnv2.6.15.2 -.15.4 Dominik Brodowski <
   5 *  Copyx/rig (7,  2o7vers/cpufreq/cpufreq_userspace.c#L5" id="L5" class="line" name="L5">   5 *  Copyx/rig (8,  2o8 value="v2.6.7an class="commeTt"  program "  L5"e software; you c"v2redistrirefe it and/or modifyce.c#L5" id="L5" class="line" name="L5">   5 *  Copyx/rig (9,  2o9 value="v2.6.7an class="commeit under the terms of the GNU General Pub	   5   5   5/*
   5 *  linux/drive1rs/cp13c#L2" id="L2" class="line" name="L2">   2 *
pr_fmtvers(serspace.ccode=fmtid="contenpac">fmtvers)userspace.ccode=KBUILD_MODNAMEid="contenpac">KBUILD_MODNAMEvers /cpufreq/cpufstrilxr>": "ce.c#L5userspace.ccode=fmtid="contenpac">fmtvers" id="L2" class="line" name="L2">   2 *  Copyx/rig (1C,  215vers" id="L2" class="line" name="L2">   2 *  Copyx/rig (16,  216 val#i>
	ude < id="L2" i>
	udec">
	 /kernel.hmment"> *fpac">">
	 /kernel.h val	  <" id="L2" class="line" name="L2">   2 *  Copyx/rig (17,  217 val#i>
	ude < id="L2" i>
	udec">
	 /module.hmment"> *fpac">">
	 /module.h val	  <" id="L2" class="line" name="L2">   2 *  Copyx/rig (18,  218 val#i>
	ude < id="L2" i>
	udec">
	 /smp.hmment"> *fpac">">
	 /smp.h val	  <" id="L2" class="line" name="L2">   2 *  Copyx/rig (19,  219 val#i>
	ude < id="L2" i>
	udec">
	 /init.hmment"> *fpac">">
	 /init.h val	  <" id="L2" class="line" name="L2">   2
	udec">
	 /spinlock.hmment"> *fpac">">
	 /spinlock.h val	  <" id="L2" class="line" name="L2">   2
	udec">
	 /interrupt.hmment"> *fpac">">
	 /interrupt.h val	  <" id="L2" class="line" name="L2">   2/*

	udec">
	 /e="L2">.hmment"> *fpac">">
	 /e="L2">.h val	  <" id="L2" class="line" name="L2">   2 *  linux/drive2rs/cp23 val#i>
	ude < id="L2" i>
	udec">
	 /e=".hmment"> *fpac">">
	 /e=".h val	  <" id="L2" class="line" name="L2">   2 *

	udec">
	 /" vas.hmment"> *fpac">">
	 /" vas.h val	  <" id="L2" class="line" name="L2">   2 *  Copyx/rig (2C,  225 val#i>
	ude < id="L2" i>
	udec">
	 /fs.hmment"> *fpac">">
	 /fs.h val	  <" id="L2" class="line" name="L2">   2 *  Copyx/rig (26,  226 val#i>
	ude < id="L2" i>
	udec">
	 /sysfs.hmment"> *fpac">">
	 /sysfs.h val	  <" id="L2" class="line" name="L2">   2 *  Copyx/rig (27,  227 val#i>
	ude < id="L2" i>
	udec">
	 /mefex.hmment"> *fpac">">
	 /mefex.h val	  <" id="L2" class="line" name="L2">   2 *  Copyx/rig (28,  228c#L2" id="L2" class="line" name="L2">   2 *  Copyx/rig (29,  229 value="v2.6.7an class="co/*ace.c#L3" id="L3" class="line" name="L3">   3   3   5/*
DEFINE_PER_CPUvers(unsigned int,userspace.ccode=e="_max_L5">id="contenpac">e="_max_L5">vers)<" id="L2" class="line" name="L2">   2 *  linux/driverrs/cp33 valn>

	DEFINE_PER_CPUvers(unsigned int,userspace.ccode=e="_min_L5">id="contenpac">e="_min_L5">vers)<" id="L2" class="line" name="L2">   2 *
DEFINE_PER_CPUvers(unsigned int,userspace.ccode=e="_cur_L5">id="contenpac">e="_cur_L5">vers)< ue="v2.6.7an class="co/* currs=" CPU L5"qpa/ce.c#L5" id="L5" class="line" name="L5">   5 *  Copyx/rig (3C,  235 valn>

	DEFINE_PER_CPUvers(unsigned int,userspace.ccode=e="_set_L5">id="contenpac">e="_set_L5">vers)< ue="v2.6.7an class="co/* CPU L5"qpdesired byce.c#L5" id="L5" class="line" name="L5">   5 *  Copyx/rig (36,  236 value="v2.6.7an class="commmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm  3   5 *  Copyx/rig (37,  237 valn>

	DEFINE_PER_CPUvers(unsigned int,userspace.ccode=e="_is_managedid="contenpac">e="_is_managedvers)<" id="L2" class="line" name="L2">   2 *  Copyx/rig (38,  238c#L2" id="L2" class="line" name="L2">   2 *  Copyx/rig (39,  239 valn>

	DEFINE_MUTEXvers(serspace.ccode=  2  2   2e="s   ing   2   2   2/*
uency transise;"s a/ce.c#L5" id="L5" class="line" name="L5">   5 *  linux/drive4rs/cp43 valn>

	   5 *
 notifierid="contenpac">  2 notifiervers(structuserspace.ccode=notifier_blockid="contenpac">notifier_blockvers *serspace.ccode=nbid="contenpac">nbvers, unsigned longuserspace.ccode=ngbid="contenpac">ngbvers," id="L5" class="line" name="L5">   5 *  Copyx/rig (4C,  245 valmmmmmmmmvoid *serspace.ccode=dataid="contenpac">datavers)" id="L5" class="line" name="L5">   5 *  Copyx/rig (46,  246 val{" id="L5" class="line" name="L5">   5 *  Copyx/rig (47,  247 valmmmmmmmmstructuserspace.ccode=e="L5"> L5">sid="contenpac">e="L5"> L5">svers *serspace.ccode=L5">id="contenpac">L5">vers =userspace.ccode=dataid="contenpac">datavers<" id="L2" class="line" name="L2">   2 *  Copyx/rig (48,  248c#L2" id="L2" class="line" name="L2">   2 *  Copyx/rig (49,  249 valmmmmmmmmif (!serspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_is_managedid="contenpac">e="_is_managedvers,userspace.ccode=L5">id="contenpac">L5">vers-	  e="vers))" id="L5" class="line" name="L5">   5   2   2/*
ngbvers ==userspace.ccode=CPUFREQ_POSTCHANGEid="contenpac">CPUFREQ_POSTCHANGEvers)u{" id="L5" class="line" name="L5">   5 *  linux/drive5rs/cp53 valmmmmmmmmmmmmmmmmserspace.ccode=pr_debugid="contenpac">pr_debugvers(scpufreq/cpufstrilxr>"savilx e="_cur_L5"> of e=" %u to be %u kHz\n"ce.c#L5," id="L5" class="line" name="L5">   5 *
id="contenpac">L5">vers-	  e="vers,userspace.ccode=L5">id="contenpac">L5">vers-	  newvers)<" id="L2" class="line" name="L2">   2 *  Copyx/rig (CC,  255 valmmmmmmmmmmmmmmmmserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_cur_L5">id="contenpac">e="_cur_L5">vers,userspace.ccode=L5">id="contenpac">L5">vers-	  e="vers) =userspace.ccode=L5">id="contenpac">L5">vers-	  newvers<" id="L2" class="line" name="L2">   2 *  Copyx/rig (56,  256 valmmmmmmmm}" id="L2" class="line" name="L2">   2 *  Copyx/rig (57,  257c#L2" id="L2" class="line" name="L2">   2 *  Copyx/rig (58,  258 valmmmmmmmm_lookup0<" id="L2" class="line" name="L2">   2 *  Copyx/rig (59,  259 val}" id="L2" class="line" name="L2">   2   2notifier_blockvers /erspace.ccode=  2 notifier_blockid="contenpac">  2 notifier_blockvers =u{" id="L5" class="line" name="L5">   5/*
notifier_calb valmm=userspace.ccode=  2 notifierid="contenpac">  2 notifiervers" id="L5" class="line" name="L5">   5 *  linux/drive6rs/cp63 val}<" id="L2" class="line" name="L2">   2 *
   5 *  Copyx/rig (6C,  265vers" id="L2" class="line" name="L2">   2 *  Copyx/rig (66,  266 value="v2.6.7an class="co/*ace.c#L3" id="L3" class="line" name="L3">   3 *  Copyx/rig (67,  267vers/cpufreq/cpufreq_userspa e="L3"> set - set the CPU L5"quencyce.c#L3" id="L3" class="line" name="L3">   3 *  Copyx/rig (68,  268 value="v2.6.7an class="comme@policy: pointer to policyustructuwhere L5"qpis beilx setce.c#L3" id="L3" class="line" name="L3">   3 *  Copyx/rig (69,  269 value="v2.6.7an class="comme@L3">: search L2">uency in kHzce.c#L5" id="L5" class="line" name="L5">   5   5   5/*
   5 *  linux/drive7rs/cp73 valn>

	 setid="contenpac">e="L5"> setvers(structuserspace.ccode=e="L5"> policyid="contenpac">e="L5"> policyvers *serspace.ccode=policyid="contenpac">policyvers, unsigned intuserspace.ccode=L5">id="contenpac">L5">vers)" id="L5" class="line" name="L5">   5 *
   5 *  Copyx/rig (7C,  275 valmmmmmmmmintuserspace.ccode=retid="contenpac">retversm=u-serspace.ccode=EINVALid="contenpac">EINVALvers<" id="L2" class="line" name="L2">   2 *  Copyx/rig (76,  276vers" id="L2" class="line" name="L2">   2 *  Copyx/rig (77,  277 valmmmmmmmmserspace.ccode=pr_debugid="contenpac">pr_debugvers(scpufreq/cpufstrilxr>"e="L3"> set for e=" %u, L5"qp%u kHz\n"ce.c#L5,mserspace.ccode=policyid="contenpac">policyvers-	  e="vers,userspace.ccode=L5">id="contenpac">L5">vers)<" id="L2" class="line" name="L2">   2 *  Copyx/rig (78,  278c#L2" id="L2" class="line" name="L2">   2 *  Copyx/rig (79,  279 valmmmmmmmmserspace.ccode=mefex_lockid="contenpac">mefex_lockvers(&  2   2per_e="vers(serspace.ccode=e="_is_managedid="contenpac">e="_is_managedvers,userspace.ccode=policyid="contenpac">policyvers-	  e="vers))" id="L5" class="line" name="L5">   5errvers<" id="L2" class="line" name="L2">   2/*
   2 *  linux/drive8rs/cp83 valmmmmmmmmserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_set_L5">id="contenpac">e="_set_L5">vers,userspace.ccode=policyid="contenpac">policyvers-	  e="vers) =userspace.ccode=L5">id="contenpac">L5">vers<" id="L2" class="line" name="L2">   2 *
   5 *  Copyx/rig (8C,  285 valmmmmmmmmif (serspace.ccode=L5">id="contenpac">L5">vers <mserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_min_L5">id="contenpac">e="_min_L5">vers,userspace.ccode=policyid="contenpac">policyvers-	  e="vers))" id="L5" class="line" name="L5">   5 *  Copyx/rig (86,  286 valmmmmmmmmmmmmmmmmserspace.ccode=L5">id="contenpac">L5">vers =userspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_min_L5">id="contenpac">e="_min_L5">vers,userspace.ccode=policyid="contenpac">policyvers-	  e="vers)<" id="L2" class="line" name="L2">   2 *  Copyx/rig (87,  287 valmmmmmmmmif (serspace.ccode=L5">id="contenpac">L5">vers >mserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_max_L5">id="contenpac">e="_max_L5">vers,userspace.ccode=policyid="contenpac">policyvers-	  e="vers))" id="L5" class="line" name="L5">   5 *  Copyx/rig (88,  288 valmmmmmmmmmmmmmmmmserspace.ccode=L5">id="contenpac">L5">vers =userspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_max_L5">id="contenpac">e="_max_L5">vers,userspace.ccode=policyid="contenpac">policyvers-	  e="vers)<" id="L2" class="line" name="L2">   2 *  Copyx/rig (89,  289vers" id="L5" class="line" name="L5">   5   3   3/*
   5 *  linux/drive9rs/cp9freq/cpufreq_userspace.c class=_search, a deadlock situase;" m >
  occur:ce.c#L5" id="L5" class="line" name="L5">   5 *
 set (lock   3   5 *  Copyx/rig (9C,  29n value="v2.6.7an class="compppppppp*      e="L5"> class=_search(lock policy-	     5 *  Copyx/rig (96,  296 value="v2.6.7an class="commmmmmmmm* B: e="L3"> set policy(lock policy-	     5 *  Copyx/rig (97,  297vers/cpufreq/cpufreq_usersppppppppp*      __e="L5"> goss=nor -	     5 *  Copyx/rig (98,  298 value="v2.6.7an class="compppppppp*         e="L5"> goss=nor   5   5 *  Copyx/rig (99,  299 value="v2.6.7an class="compppppppp*/ce.c#L5" id="L5" class="line" name="L5">   5retversm=userspace.ccode=__e="L5"> class=_searchid="contenpac">__e="L5"> class=_searchvers(serspace.ccode=policyid="contenpac">policyvers, serspace.ccode=L5">id="contenpac">L5">vers, serspace.ccode=CPUFREQ_RELATION_Lid="contenpac">CPUFREQ_RELATION_Lvers)<" id="L2" class="line" name="L2">   2   2/*
errvers:" id="L2" class="line" name="L2">   2 *  linux/drive103,  r03 valmmmmmmmmserspace.ccode=mefex_unlockid="contenpac">mefex_unlockvers(&  2   2 *
retvers<" id="L2" class="line" name="L2">   2 *  Copyx/rig (10om  r05 val}" id="L2" class="line" name="L2">   2 *  Copyx/rig (106m  r06vers" id="L2" class="line" name="L2">   2 *  Copyx/rig (107m  r07c#L2" id="L2" class="line" name="L2">   2 *  Copyx/rig (108m  r08 valn>

	ssize_tvers /erspace.ccode=show_speedid="contenpac">show_speedvers(structuserspace.ccode=e="L5"> policyid="contenpac">e="L5"> policyvers *serspace.ccode=policyid="contenpac">policyvers, char *serspace.ccode=bufid="contenpac">bufvers)" id="L5" class="line" name="L5">   5 *  Copyx/rig (109m  r09 val{" id="L5" class="line" name="L5">   5sprintfvers(serspace.ccode=bufid="contenpac">bufvers, /cpufreq/cpufstrilxr>"%u\n"ce.c#L5,mserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_cur_L5">id="contenpac">e="_cur_L5">vers,userspace.ccode=policyid="contenpac">policyvers-	  e="vers))<" id="L2" class="line" name="L2">   2   2/*
   2 *  linux/drive11rs/c113 valn>

	 goss=nor   5e="L5"> goss=nor   5 policyid="contenpac">e="L5"> policyvers *serspace.ccode=policyid="contenpac">policyvers," id="L2" class="line" name="L2">   2 *
evs="vers)" id="L5" class="line" name="L5">   5 *  Copyx/rig (11C,  115vers{" id="L5" class="line" name="L5">   5 *  Copyx/rig (116,  116 valmmmmmmmmunsigned intuserspace.ccode=e="id="contenpac">e="vers =userspace.ccode=policyid="contenpac">policyvers-	  e="vers<" id="L2" class="line" name="L2">   2 *  Copyx/rig (117,  117 valmmmmmmmmintuserspace.ccode=rcid="contenpac">rcvers =u0<" id="L2" class="line" name="L2">   2 *  Copyx/rig (118,  118c#L2" id="L2" class="line" name="L2">   2 *  Copyx/rig (119,  119 valmmmmmmmmswitch (serspace.ccode=evs="cd="contenpac">evs="vers)u{" id="L5" class="line" name="L5">   5CPUFREQ_GOV_STARTvers:" id="L2" class="line" name="L2">   2BUG_ONvers(!serspace.ccode=policyid="contenpac">policyvers-	  eurvers)<" id="L2" class="line" name="L2">   2/*
mefex_lockvers(&  2   2 *  linux/drive12rs/c123c#L2" id="L2" class="line" name="L2">   2 *
e="s   ing   2   5 *  Copyx/rig (12C,  125 valmmmmmmmmmmmmmmmmmmmmmmmmserspace.ccode=e="L5"> register_notifierid="contenpac">e="L5"> register_notifiervers(" id="L5" class="line" name="L5">   5 *  Copyx/rig (126,  126 valmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm& notifier_blockid="contenpac">  2 notifier_blockvers," id="L2" class="line" name="L2">   2 *  Copyx/rig (127,  127 valmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmserspace.ccode=CPUFREQ_TRANSITION_NOTIFIERid="contenpac">CPUFREQ_TRANSITION_NOTIFIERvers)<" id="L2" class="line" name="L2">   2 *  Copyx/rig (128,  128 valmmmmmmmmmmmmmmmm}" id="L2" class="line" name="L2">   2 *  Copyx/rig (129,  129 valmmmmmmmmmmmmmmmmserspace.ccode=c="s   ing   2e="s   ing   2   2   2per_e="vers(serspace.ccode=e="_is_managedid="contenpac">e="_is_managedvers,userspace.ccode=e="id="contenpac">e="vers) =u1<" id="L2" class="line" name="L2">   2/*
per_e="vers(serspace.ccode=e="_min_L5">id="contenpac">e="_min_L5">vers,userspace.ccode=e="id="contenpac">e="vers) =userspace.ccode=policyid="contenpac">policyvers-	  minvers<" id="L2" class="line" name="L2">   2 *  linux/drive1rrs/c133 valmmmmmmmmmmmmmmmmserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_max_L5">id="contenpac">e="_max_L5">vers,userspace.ccode=e="id="contenpac">e="vers) =userspace.ccode=policyid="contenpac">policyvers-	  maxvers<" id="L2" class="line" name="L2">   2 *
per_e="vers(serspace.ccode=e="_cur_L5">id="contenpac">e="_cur_L5">vers,userspace.ccode=e="id="contenpac">e="vers) =userspace.ccode=policyid="contenpac">policyvers-	  eurvers<" id="L2" class="line" name="L2">   2 *  Copyx/rig (13C,  135 valmmmmmmmmmmmmmmmmserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_set_L5">id="contenpac">e="_set_L5">vers,userspace.ccode=e="id="contenpac">e="vers) =userspace.ccode=policyid="contenpac">policyvers-	  eurvers<" id="L2" class="line" name="L2">   2 *  Copyx/rig (136,  136 valmmmmmmmmmmmmmmmmserspace.ccode=pr_debugid="contenpac">pr_debugvers(scpufreq/cpufstrilxr>"managilx e="p%u started "ce.c#L5" id="L2" class="line" name="L2">   2 *  Copyx/rig (137,  137 valmmmmmmmmmmmmmmmmmmmmmmmmscpufreq/cpufstrilxr>"(%u -p%u kHz, currs="lyp%u kHz)\n"ce.c#L5," id="L5" class="line" name="L5">   5 *  Copyx/rig (138,  138 valmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmserspace.ccode=e="id="contenpac">e="vers," id="L5" class="line" name="L5">   5 *  Copyx/rig (139,  139 valmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_min_L5">id="contenpac">e="_min_L5">vers,userspace.ccode=e="id="contenpac">e="vers)," id="L5" class="line" name="L5">   5per_e="vers(serspace.ccode=e="_max_L5">id="contenpac">e="_max_L5">vers,userspace.ccode=e="id="contenpac">e="vers)," id="L5" class="line" name="L5">   5per_e="vers(serspace.ccode=e="_cur_L5">id="contenpac">e="_cur_L5">vers,userspace.ccode=e="id="contenpac">e="vers))<" id="L2" class="line" name="L2">   2/*
   2 *  linux/drive14rs/c143 valmmmmmmmmmmmmmmmmserspace.ccode=mefex_unlockid="contenpac">mefex_unlockvers(&  2   2 *
   2 *  Copyx/rig (14C,  145 valmmmmmmmmcaspuserspace.ccode=CPUFREQ_GOV_STOPid="contenpac">CPUFREQ_GOV_STOPvers:" id="L2" class="line" name="L2">   2 *  Copyx/rig (146,  146 valmmmmmmmmmmmmmmmmserspace.ccode=mefex_lockid="contenpac">mefex_lockvers(&  2   2 *  Copyx/rig (147,  147 valmmmmmmmmmmmmmmmmserspace.ccode=c="s   ing   2e="s   ing   2   2 *  Copyx/rig (148,  148 valmmmmmmmmmmmmmmmmif (serspace.ccode=c="s   ing   2e="s   ing   2   5 *  Copyx/rig (149,  149 valmmmmmmmmmmmmmmmmmmmmmmmmserspace.ccode=e="L5"> unregister_notifierid="contenpac">e="L5"> unregister_notifiervers(" id="L5" class="line" name="L5">   5 notifier_blockid="contenpac">  2 notifier_blockvers," id="L2" class="line" name="L2">   2CPUFREQ_TRANSITION_NOTIFIERvers)<" id="L2" class="line" name="L2">   2/*
   2 *  linux/drive15rs/c153c#L2" id="L2" class="line" name="L2">   2 *
per_e="vers(serspace.ccode=e="_is_managedid="contenpac">e="_is_managedvers,userspace.ccode=e="id="contenpac">e="vers) =u0<" id="L2" class="line" name="L2">   2 *  Copyx/rig (1CC,  155 valmmmmmmmmmmmmmmmmserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_min_L5">id="contenpac">e="_min_L5">vers,userspace.ccode=e="id="contenpac">e="vers) =u0<" id="L2" class="line" name="L2">   2 *  Copyx/rig (156,  156 valmmmmmmmmmmmmmmmmserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_max_L5">id="contenpac">e="_max_L5">vers,userspace.ccode=e="id="contenpac">e="vers) =u0<" id="L2" class="line" name="L2">   2 *  Copyx/rig (157,  157 valmmmmmmmmmmmmmmmmserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_set_L5">id="contenpac">e="_set_L5">vers,userspace.ccode=e="id="contenpac">e="vers) =u0<" id="L2" class="line" name="L2">   2 *  Copyx/rig (158,  158 valmmmmmmmmmmmmmmmmserspace.ccode=pr_debugid="contenpac">pr_debugvers(scpufreq/cpufstrilxr>"managilx e="p%u stopped\n"ce.c#L5,mserspace.ccode=e="id="contenpac">e="vers)<" id="L2" class="line" name="L2">   2 *  Copyx/rig (159,  159 valmmmmmmmmmmmmmmmmserspace.ccode=mefex_unlockid="contenpac">mefex_unlockvers(&  2   2   2CPUFREQ_GOV_LIMITSvers:" id="L2" class="line" name="L2">   2/*
mefex_lockvers(&  2   2 *  linux/drive16rs/c163 valmmmmmmmmmmmmmmmmserspace.ccode=pr_debugid="contenpac">pr_debugvers(scpufreq/cpufstrilxr>"limit evs=" for e=" %u: %u -p%u kHz, "ce.c#L5" id="L2" class="line" name="L2">   2 *
   5 *  Copyx/rig (16C,  165 valmmmmmmmmmmmmmmmmmmmmmmmmserspace.ccode=e="id="contenpac">e="vers,userspace.ccode=policyid="contenpac">policyvers-	  minvers,userspace.ccode=policyid="contenpac">policyvers-	  maxvers," id="L5" class="line" name="L5">   5 *  Copyx/rig (166,  166 valmmmmmmmmmmmmmmmmmmmmmmmmserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_cur_L5">id="contenpac">e="_cur_L5">vers,userspace.ccode=e="id="contenpac">e="vers)," id="L5" class="line" name="L5">   5 *  Copyx/rig (167,  167 valmmmmmmmmmmmmmmmmmmmmmmmmserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_set_L5">id="contenpac">e="_set_L5">vers,userspace.ccode=e="id="contenpac">e="vers))<" id="L2" class="line" name="L2">   2 *  Copyx/rig (168,  168 valmmmmmmmmmmmmmmmmif (serspace.ccode=policyid="contenpac">policyvers-	  maxvers <mserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_set_L5">id="contenpac">e="_set_L5">vers,userspace.ccode=e="id="contenpac">e="vers))u{" id="L5" class="line" name="L5">   5 *  Copyx/rig (169,  169 valmmmmmmmmmmmmmmmmmmmmmmmmserspace.ccode=__e="L5"> class=_searchid="contenpac">__e="L5"> class=_searchvers(serspace.ccode=policyid="contenpac">policyvers, serspace.ccode=policyid="contenpac">policyvers-	  maxvers," id="L5" class="line" name="L5">   5CPUFREQ_RELATION_Hvers)<" id="L2" class="line" name="L2">   2policyvers-	  minvers >mserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_set_L5">id="contenpac">e="_set_L5">vers,userspace.ccode=e="id="contenpac">e="vers))u{" id="L5" class="line" name="L5">   5/*
 class=_searchid="contenpac">__e="L5"> class=_searchvers(serspace.ccode=policyid="contenpac">policyvers, serspace.ccode=policyid="contenpac">policyvers-	  minvers," id="L5" class="line" name="L5">   5 *  linux/drive17rs/c173 valmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmserspace.ccode=CPUFREQ_RELATION_Lid="contenpac">CPUFREQ_RELATION_Lvers)<" id="L2" class="line" name="L2">   2 *
   5 *  Copyx/rig (17C,  175 valmmmmmmmmmmmmmmmmmmmmmmmmserspace.ccode=__e="L5"> class=_searchid="contenpac">__e="L5"> class=_searchvers(serspace.ccode=policyid="contenpac">policyvers," id="L5" class="line" name="L5">   5 *  Copyx/rig (176,  176 valmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_set_L5">id="contenpac">e="_set_L5">vers,userspace.ccode=e="id="contenpac">e="vers)," id="L5" class="line" name="L5">   5 *  Copyx/rig (177,  177 valmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmserspace.ccode=CPUFREQ_RELATION_Lid="contenpac">CPUFREQ_RELATION_Lvers)<" id="L2" class="line" name="L2">   2 *  Copyx/rig (178,  178 valmmmmmmmmmmmmmmmm}" id="L2" class="line" name="L2">   2 *  Copyx/rig (179,  179 valmmmmmmmmmmmmmmmmserspace.ccode=per_e="id="contenpac">per_e="vers(serspace.ccode=e="_min_L5">id="contenpac">e="_min_L5">vers,userspace.ccode=e="id="contenpac">e="vers) =userspace.ccode=policyid="contenpac">policyvers-	  minvers<" id="L2" class="line" name="L2">   2per_e="vers(serspace.ccode=e="_max_L5">id="contenpac">e="_max_L5">vers,userspace.ccode=e="id="contenpac">e="vers) =userspace.ccode=policyid="contenpac">policyvers-	  maxvers<" id="L2" class="line" name="L2">   2per_e="vers(serspace.ccode=e="_cur_L5">id="contenpac">e="_cur_L5">vers,userspace.ccode=e="id="contenpac">e="vers) =userspace.ccode=policyid="contenpac">policyvers-	  eurvers<" id="L2" class="line" name="L2">   2/*
mefex_unlockvers(&  2   2 *  linux/drive18rs/c183 valmmmmmmmmmmmmmmmmbreak<" id="L2" class="line" name="L2">   2 *
   2 *  Copyx/rig (18C,  185 valmmmmmmmm_lookupserspace.ccode=rcid="contenpac">rcvers<" id="L2" class="line" name="L2">   2 *  Copyx/rig (186,  186 val}" id="L2" class="line" name="L2">   2 *  Copyx/rig (187,  187c#L2" id="L2" class="line" name="L2">   2 *  Copyx/rig (188,  188c#L2" id="L2" class="line" name="L2">   2 *  Copyx/rig (189,  189vers#ifndefmserspace.ccode=CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACEid="contenpac">CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACEc#L2" id="L2" class="line" name="L2">   2   2   2/*
 goss=norid="contenpac">e="L5"> goss=nor valmserspace.ccode=e="L5"> gos   5e="L5"> gos   5   5 *  linux/drive19rs/c193 valmmmmmmmm.serspace.ccode=n/drid="contenpac">n/dr valmmmmmmmmmmm=mscpufreq/cpufstrilxr>"  5   5 *
goss=nor valmmmmmmm=mserspace.ccode=e="L5"> goss=nor   5e="L5"> goss=nor   5   5 *  Copyx/rig (19C,  195 valmmmmmmmm.serspace.ccode=store_setspeedid="contenpac">store_setspeedvers =userspace.ccode=e="L5"> setid="contenpac">e="L5"> setvers," id="L5" class="line" name="L5">   5 *  Copyx/rig (196,  196 valmmmmmmmm.serspace.ccode=show_setspeedid="contenpac">show_setspeed valmm=userspace.ccode=show_speedid="contenpac">show_speedvers," id="L5" class="line" name="L5">   5 *  Copyx/rig (197,  197 valmmmmmmmm.serspace.ccode=ownerid="contenpac">owner valmmmmmmmmmm=userspace.ccode=THIS_MODULEid="contenpac">THIS_MODULEvers," id="L5" class="line" name="L5">   5 *  Copyx/rig (198,  198 val}<" id="L2" class="line" name="L2">   2 *  Copyx/rig (199,  199vers" id="L5" class="line" name="L5">   5__inih valmserspace.ccode=e="L5"> gos   5e="L5"> gos   5   5   5/*
 register_goss=norid="contenpac">e="L5"> register_goss=norvers(& gos   5e="L5"> gos   5   2 *  linux/drive203,  203 val}" id="L2" class="line" name="L2">   2 *
   5 *  Copyx/rig (20om  205vers" id="L2" class="line" name="L2">   2 *  Copyx/rig (206m  206versn>

	__exih valmserspace.ccode=e="L5"> gos   5e="L5"> gos   5   5 *  Copyx/rig (207m  207c#L2{" id="L5" class="line" name="L5">   5 *  Copyx/rig (208m  208 valmmmmmmmmserspace.ccode=e="L5"> unregister_goss=norid="contenpac">e="L5"> unregister_goss=norvers(& gos   5e="L5"> gos   5   2 *  Copyx/rig (209m  209 val}" id="L2" class="line" name="L2">   2   2   2/*
MODULE_AUTHORvers(scpufreq/cpufstrilxr>"Dominik Brodowski <   2 *  linux/drive21rs/c213 valmmmmmmmmmmmmmmmmscpufreq/cpufstrilxr>"Russell Kilx <rmk@arm.   2 *
MODULE_DESCRIPTIONvers(scpufreq/cpufstrilxr>"CPUL2"> policyugoss=nor '  5   2 *  Copyx/rig (21C,  215verscerspace.ccode=MODULE_LICENSEid="contenpac">MODULE_LICENSEvers(scpufreq/cpufstrilxr>"GPL"ce.c#L5)<" id="L2" class="line" name="L2">   2 *  Copyx/rig (216,  216vers" id="L2" class="line" name="L2">   2 *  Copyx/rig (217,  217 val#ifdefmserspace.ccode=CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACEid="contenpac">CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACEc#L2" id="L2" class="line" name="L2">   2 *  Copyx/rig (218,  218c#L2serspace.ccode=fs_inihcalbid="contenpac">fs_inihcalbvers(serspace.ccode=e="L5"> gos   5e="L5"> gos   5   2 *  Copyx/rig (219,  219 val#elsp" id="L2" class="line" name="L2">   2moduls_inihvers(serspace.ccode=e="L5"> gos   5e="L5"> gos   5   2   2/*
moduls_exihvers(serspace.ccode=e="L5"> gos   5e="L5"> gos   5   2 *  linux/drive22rs/c223c#L2


*footer"> The original LXR software by the id="L2" http://sourceforge.net/projects/lxr">LXR clasunihyvers, this experiss="al ss="e;" by id="L2" mailto:lxr@lxr@ *subfooter"> lxr.Redpill L/spro ASvers, provider of L/sux consultilx and operase;"s 2