forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
regulator: sysfs attribute reduction (v2)
Clean up the sysfs interface to regulators by only exposing the attributes that can be properly displayed. For example: when a particular regulator method is needed to display the value, only create that attribute when that method exists. This cleaned-up interface is much more comprehensible. Most regulators only support a subset of the possible methods, so often more than half the attributes would be meaningless. Many "not defined" values are no longer necessary. (But handling of out-of-range values still looks a bit iffy.) Documentation is updated to reflect that few of the attributes are *always* present, and to briefly explain why a regulator may not have a given attribute. This adds object code, about a dozen bytes more than was removed by the preceding patch, but saves a bunch of per-regulator data associated with the now-removed attributes. So there's a net reduction in memory footprint. Signed-off-by: David Brownell <[email protected]> Signed-off-by: Liam Girdwood <[email protected]>
- Loading branch information
David Brownell
authored and
Liam Girdwood
committed
Jan 8, 2009
1 parent
4fca954
commit 7ad68e2
Showing
2 changed files
with
208 additions
and
124 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,8 +3,9 @@ Date: April 2008 | |
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
state. This holds the regulator output state. | ||
Some regulator directories will contain a field called | ||
state. This reports the regulator enable status, for | ||
regulators which can report that value. | ||
|
||
This will be one of the following strings: | ||
|
||
|
@@ -18,7 +19,8 @@ Description: | |
'disabled' means the regulator output is OFF and is not | ||
supplying power to the system.. | ||
|
||
'unknown' means software cannot determine the state. | ||
'unknown' means software cannot determine the state, or | ||
the reported state is invalid. | ||
|
||
NOTE: this field can be used in conjunction with microvolts | ||
and microamps to determine regulator output levels. | ||
|
@@ -53,9 +55,10 @@ Date: April 2008 | |
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
microvolts. This holds the regulator output voltage setting | ||
measured in microvolts (i.e. E-6 Volts). | ||
measured in microvolts (i.e. E-6 Volts), for regulators | ||
which can report that voltage. | ||
|
||
NOTE: This value should not be used to determine the regulator | ||
output voltage level as this value is the same regardless of | ||
|
@@ -67,9 +70,10 @@ Date: April 2008 | |
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
microamps. This holds the regulator output current limit | ||
setting measured in microamps (i.e. E-6 Amps). | ||
setting measured in microamps (i.e. E-6 Amps), for regulators | ||
which can report that current. | ||
|
||
NOTE: This value should not be used to determine the regulator | ||
output current level as this value is the same regardless of | ||
|
@@ -81,8 +85,9 @@ Date: April 2008 | |
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
opmode. This holds the regulator operating mode setting. | ||
Some regulator directories will contain a field called | ||
opmode. This holds the current regulator operating mode, | ||
for regulators which can report it. | ||
|
||
The opmode value can be one of the following strings: | ||
|
||
|
@@ -92,7 +97,7 @@ Description: | |
'standby' | ||
'unknown' | ||
|
||
The modes are described in include/linux/regulator/regulator.h | ||
The modes are described in include/linux/regulator/consumer.h | ||
|
||
NOTE: This value should not be used to determine the regulator | ||
output operating mode as this value is the same regardless of | ||
|
@@ -104,9 +109,10 @@ Date: April 2008 | |
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
min_microvolts. This holds the minimum safe working regulator | ||
output voltage setting for this domain measured in microvolts. | ||
output voltage setting for this domain measured in microvolts, | ||
for regulators which support voltage constraints. | ||
|
||
NOTE: this will return the string 'constraint not defined' if | ||
the power domain has no min microvolts constraint defined by | ||
|
@@ -118,9 +124,10 @@ Date: April 2008 | |
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
max_microvolts. This holds the maximum safe working regulator | ||
output voltage setting for this domain measured in microvolts. | ||
output voltage setting for this domain measured in microvolts, | ||
for regulators which support voltage constraints. | ||
|
||
NOTE: this will return the string 'constraint not defined' if | ||
the power domain has no max microvolts constraint defined by | ||
|
@@ -132,10 +139,10 @@ Date: April 2008 | |
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
min_microamps. This holds the minimum safe working regulator | ||
output current limit setting for this domain measured in | ||
microamps. | ||
microamps, for regulators which support current constraints. | ||
|
||
NOTE: this will return the string 'constraint not defined' if | ||
the power domain has no min microamps constraint defined by | ||
|
@@ -147,10 +154,10 @@ Date: April 2008 | |
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
max_microamps. This holds the maximum safe working regulator | ||
output current limit setting for this domain measured in | ||
microamps. | ||
microamps, for regulators which support current constraints. | ||
|
||
NOTE: this will return the string 'constraint not defined' if | ||
the power domain has no max microamps constraint defined by | ||
|
@@ -185,7 +192,7 @@ Date: April 2008 | |
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
requested_microamps. This holds the total requested load | ||
current in microamps for this regulator from all its consumer | ||
devices. | ||
|
@@ -204,125 +211,102 @@ Date: May 2008 | |
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
suspend_mem_microvolts. This holds the regulator output | ||
voltage setting for this domain measured in microvolts when | ||
the system is suspended to memory. | ||
|
||
NOTE: this will return the string 'not defined' if | ||
the power domain has no suspend to memory voltage defined by | ||
platform code. | ||
the system is suspended to memory, for voltage regulators | ||
implementing suspend voltage configuration constraints. | ||
|
||
What: /sys/class/regulator/.../suspend_disk_microvolts | ||
Date: May 2008 | ||
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
suspend_disk_microvolts. This holds the regulator output | ||
voltage setting for this domain measured in microvolts when | ||
the system is suspended to disk. | ||
|
||
NOTE: this will return the string 'not defined' if | ||
the power domain has no suspend to disk voltage defined by | ||
platform code. | ||
the system is suspended to disk, for voltage regulators | ||
implementing suspend voltage configuration constraints. | ||
|
||
What: /sys/class/regulator/.../suspend_standby_microvolts | ||
Date: May 2008 | ||
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
suspend_standby_microvolts. This holds the regulator output | ||
voltage setting for this domain measured in microvolts when | ||
the system is suspended to standby. | ||
|
||
NOTE: this will return the string 'not defined' if | ||
the power domain has no suspend to standby voltage defined by | ||
platform code. | ||
the system is suspended to standby, for voltage regulators | ||
implementing suspend voltage configuration constraints. | ||
|
||
What: /sys/class/regulator/.../suspend_mem_mode | ||
Date: May 2008 | ||
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
suspend_mem_mode. This holds the regulator operating mode | ||
setting for this domain when the system is suspended to | ||
memory. | ||
|
||
NOTE: this will return the string 'not defined' if | ||
the power domain has no suspend to memory mode defined by | ||
platform code. | ||
memory, for regulators implementing suspend mode | ||
configuration constraints. | ||
|
||
What: /sys/class/regulator/.../suspend_disk_mode | ||
Date: May 2008 | ||
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
suspend_disk_mode. This holds the regulator operating mode | ||
setting for this domain when the system is suspended to disk. | ||
|
||
NOTE: this will return the string 'not defined' if | ||
the power domain has no suspend to disk mode defined by | ||
platform code. | ||
setting for this domain when the system is suspended to disk, | ||
for regulators implementing suspend mode configuration | ||
constraints. | ||
|
||
What: /sys/class/regulator/.../suspend_standby_mode | ||
Date: May 2008 | ||
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
suspend_standby_mode. This holds the regulator operating mode | ||
setting for this domain when the system is suspended to | ||
standby. | ||
|
||
NOTE: this will return the string 'not defined' if | ||
the power domain has no suspend to standby mode defined by | ||
platform code. | ||
standby, for regulators implementing suspend mode | ||
configuration constraints. | ||
|
||
What: /sys/class/regulator/.../suspend_mem_state | ||
Date: May 2008 | ||
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
suspend_mem_state. This holds the regulator operating state | ||
when suspended to memory. | ||
|
||
This will be one of the following strings: | ||
when suspended to memory, for regulators implementing suspend | ||
configuration constraints. | ||
|
||
'enabled' | ||
'disabled' | ||
'not defined' | ||
This will be one of the same strings reported by | ||
the "state" attribute. | ||
|
||
What: /sys/class/regulator/.../suspend_disk_state | ||
Date: May 2008 | ||
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
suspend_disk_state. This holds the regulator operating state | ||
when suspended to disk. | ||
|
||
This will be one of the following strings: | ||
when suspended to disk, for regulators implementing | ||
suspend configuration constraints. | ||
|
||
'enabled' | ||
'disabled' | ||
'not defined' | ||
This will be one of the same strings reported by | ||
the "state" attribute. | ||
|
||
What: /sys/class/regulator/.../suspend_standby_state | ||
Date: May 2008 | ||
KernelVersion: 2.6.26 | ||
Contact: Liam Girdwood <[email protected]> | ||
Description: | ||
Each regulator directory will contain a field called | ||
Some regulator directories will contain a field called | ||
suspend_standby_state. This holds the regulator operating | ||
state when suspended to standby. | ||
|
||
This will be one of the following strings: | ||
state when suspended to standby, for regulators implementing | ||
suspend configuration constraints. | ||
|
||
'enabled' | ||
'disabled' | ||
'not defined' | ||
This will be one of the same strings reported by | ||
the "state" attribute. |
Oops, something went wrong.