diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2008-11-11 20:39:02 -0500 |
---|---|---|
committer | Liam Girdwood <lrg@slimlogic.co.uk> | 2009-01-08 15:10:30 -0500 |
commit | 7ad68e2f970fd84d15ad67ce3216aed05f944a9c (patch) | |
tree | b7bb5f33e6a6a1d60cc9d2be24a7d2dee36f0f93 /Documentation | |
parent | 4fca9545d17b99cdb2774716b034c62a70151bcd (diff) |
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 <dbrownell@users.sourceforge.net>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/ABI/testing/sysfs-class-regulator | 136 |
1 files changed, 60 insertions, 76 deletions
diff --git a/Documentation/ABI/testing/sysfs-class-regulator b/Documentation/ABI/testing/sysfs-class-regulator index 3731f6f29bcb..873ef1fc1569 100644 --- a/Documentation/ABI/testing/sysfs-class-regulator +++ b/Documentation/ABI/testing/sysfs-class-regulator | |||
@@ -3,8 +3,9 @@ Date: April 2008 | |||
3 | KernelVersion: 2.6.26 | 3 | KernelVersion: 2.6.26 |
4 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 4 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
5 | Description: | 5 | Description: |
6 | Each regulator directory will contain a field called | 6 | Some regulator directories will contain a field called |
7 | state. This holds the regulator output state. | 7 | state. This reports the regulator enable status, for |
8 | regulators which can report that value. | ||
8 | 9 | ||
9 | This will be one of the following strings: | 10 | This will be one of the following strings: |
10 | 11 | ||
@@ -18,7 +19,8 @@ Description: | |||
18 | 'disabled' means the regulator output is OFF and is not | 19 | 'disabled' means the regulator output is OFF and is not |
19 | supplying power to the system.. | 20 | supplying power to the system.. |
20 | 21 | ||
21 | 'unknown' means software cannot determine the state. | 22 | 'unknown' means software cannot determine the state, or |
23 | the reported state is invalid. | ||
22 | 24 | ||
23 | NOTE: this field can be used in conjunction with microvolts | 25 | NOTE: this field can be used in conjunction with microvolts |
24 | and microamps to determine regulator output levels. | 26 | and microamps to determine regulator output levels. |
@@ -53,9 +55,10 @@ Date: April 2008 | |||
53 | KernelVersion: 2.6.26 | 55 | KernelVersion: 2.6.26 |
54 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 56 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
55 | Description: | 57 | Description: |
56 | Each regulator directory will contain a field called | 58 | Some regulator directories will contain a field called |
57 | microvolts. This holds the regulator output voltage setting | 59 | microvolts. This holds the regulator output voltage setting |
58 | measured in microvolts (i.e. E-6 Volts). | 60 | measured in microvolts (i.e. E-6 Volts), for regulators |
61 | which can report that voltage. | ||
59 | 62 | ||
60 | NOTE: This value should not be used to determine the regulator | 63 | NOTE: This value should not be used to determine the regulator |
61 | output voltage level as this value is the same regardless of | 64 | output voltage level as this value is the same regardless of |
@@ -67,9 +70,10 @@ Date: April 2008 | |||
67 | KernelVersion: 2.6.26 | 70 | KernelVersion: 2.6.26 |
68 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 71 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
69 | Description: | 72 | Description: |
70 | Each regulator directory will contain a field called | 73 | Some regulator directories will contain a field called |
71 | microamps. This holds the regulator output current limit | 74 | microamps. This holds the regulator output current limit |
72 | setting measured in microamps (i.e. E-6 Amps). | 75 | setting measured in microamps (i.e. E-6 Amps), for regulators |
76 | which can report that current. | ||
73 | 77 | ||
74 | NOTE: This value should not be used to determine the regulator | 78 | NOTE: This value should not be used to determine the regulator |
75 | output current level as this value is the same regardless of | 79 | output current level as this value is the same regardless of |
@@ -81,8 +85,9 @@ Date: April 2008 | |||
81 | KernelVersion: 2.6.26 | 85 | KernelVersion: 2.6.26 |
82 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 86 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
83 | Description: | 87 | Description: |
84 | Each regulator directory will contain a field called | 88 | Some regulator directories will contain a field called |
85 | opmode. This holds the regulator operating mode setting. | 89 | opmode. This holds the current regulator operating mode, |
90 | for regulators which can report it. | ||
86 | 91 | ||
87 | The opmode value can be one of the following strings: | 92 | The opmode value can be one of the following strings: |
88 | 93 | ||
@@ -92,7 +97,7 @@ Description: | |||
92 | 'standby' | 97 | 'standby' |
93 | 'unknown' | 98 | 'unknown' |
94 | 99 | ||
95 | The modes are described in include/linux/regulator/regulator.h | 100 | The modes are described in include/linux/regulator/consumer.h |
96 | 101 | ||
97 | NOTE: This value should not be used to determine the regulator | 102 | NOTE: This value should not be used to determine the regulator |
98 | output operating mode as this value is the same regardless of | 103 | output operating mode as this value is the same regardless of |
@@ -104,9 +109,10 @@ Date: April 2008 | |||
104 | KernelVersion: 2.6.26 | 109 | KernelVersion: 2.6.26 |
105 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 110 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
106 | Description: | 111 | Description: |
107 | Each regulator directory will contain a field called | 112 | Some regulator directories will contain a field called |
108 | min_microvolts. This holds the minimum safe working regulator | 113 | min_microvolts. This holds the minimum safe working regulator |
109 | output voltage setting for this domain measured in microvolts. | 114 | output voltage setting for this domain measured in microvolts, |
115 | for regulators which support voltage constraints. | ||
110 | 116 | ||
111 | NOTE: this will return the string 'constraint not defined' if | 117 | NOTE: this will return the string 'constraint not defined' if |
112 | the power domain has no min microvolts constraint defined by | 118 | the power domain has no min microvolts constraint defined by |
@@ -118,9 +124,10 @@ Date: April 2008 | |||
118 | KernelVersion: 2.6.26 | 124 | KernelVersion: 2.6.26 |
119 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 125 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
120 | Description: | 126 | Description: |
121 | Each regulator directory will contain a field called | 127 | Some regulator directories will contain a field called |
122 | max_microvolts. This holds the maximum safe working regulator | 128 | max_microvolts. This holds the maximum safe working regulator |
123 | output voltage setting for this domain measured in microvolts. | 129 | output voltage setting for this domain measured in microvolts, |
130 | for regulators which support voltage constraints. | ||
124 | 131 | ||
125 | NOTE: this will return the string 'constraint not defined' if | 132 | NOTE: this will return the string 'constraint not defined' if |
126 | the power domain has no max microvolts constraint defined by | 133 | the power domain has no max microvolts constraint defined by |
@@ -132,10 +139,10 @@ Date: April 2008 | |||
132 | KernelVersion: 2.6.26 | 139 | KernelVersion: 2.6.26 |
133 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 140 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
134 | Description: | 141 | Description: |
135 | Each regulator directory will contain a field called | 142 | Some regulator directories will contain a field called |
136 | min_microamps. This holds the minimum safe working regulator | 143 | min_microamps. This holds the minimum safe working regulator |
137 | output current limit setting for this domain measured in | 144 | output current limit setting for this domain measured in |
138 | microamps. | 145 | microamps, for regulators which support current constraints. |
139 | 146 | ||
140 | NOTE: this will return the string 'constraint not defined' if | 147 | NOTE: this will return the string 'constraint not defined' if |
141 | the power domain has no min microamps constraint defined by | 148 | the power domain has no min microamps constraint defined by |
@@ -147,10 +154,10 @@ Date: April 2008 | |||
147 | KernelVersion: 2.6.26 | 154 | KernelVersion: 2.6.26 |
148 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 155 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
149 | Description: | 156 | Description: |
150 | Each regulator directory will contain a field called | 157 | Some regulator directories will contain a field called |
151 | max_microamps. This holds the maximum safe working regulator | 158 | max_microamps. This holds the maximum safe working regulator |
152 | output current limit setting for this domain measured in | 159 | output current limit setting for this domain measured in |
153 | microamps. | 160 | microamps, for regulators which support current constraints. |
154 | 161 | ||
155 | NOTE: this will return the string 'constraint not defined' if | 162 | NOTE: this will return the string 'constraint not defined' if |
156 | the power domain has no max microamps constraint defined by | 163 | the power domain has no max microamps constraint defined by |
@@ -185,7 +192,7 @@ Date: April 2008 | |||
185 | KernelVersion: 2.6.26 | 192 | KernelVersion: 2.6.26 |
186 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 193 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
187 | Description: | 194 | Description: |
188 | Each regulator directory will contain a field called | 195 | Some regulator directories will contain a field called |
189 | requested_microamps. This holds the total requested load | 196 | requested_microamps. This holds the total requested load |
190 | current in microamps for this regulator from all its consumer | 197 | current in microamps for this regulator from all its consumer |
191 | devices. | 198 | devices. |
@@ -204,125 +211,102 @@ Date: May 2008 | |||
204 | KernelVersion: 2.6.26 | 211 | KernelVersion: 2.6.26 |
205 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 212 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
206 | Description: | 213 | Description: |
207 | Each regulator directory will contain a field called | 214 | Some regulator directories will contain a field called |
208 | suspend_mem_microvolts. This holds the regulator output | 215 | suspend_mem_microvolts. This holds the regulator output |
209 | voltage setting for this domain measured in microvolts when | 216 | voltage setting for this domain measured in microvolts when |
210 | the system is suspended to memory. | 217 | the system is suspended to memory, for voltage regulators |
211 | 218 | implementing suspend voltage configuration constraints. | |
212 | NOTE: this will return the string 'not defined' if | ||
213 | the power domain has no suspend to memory voltage defined by | ||
214 | platform code. | ||
215 | 219 | ||
216 | What: /sys/class/regulator/.../suspend_disk_microvolts | 220 | What: /sys/class/regulator/.../suspend_disk_microvolts |
217 | Date: May 2008 | 221 | Date: May 2008 |
218 | KernelVersion: 2.6.26 | 222 | KernelVersion: 2.6.26 |
219 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 223 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
220 | Description: | 224 | Description: |
221 | Each regulator directory will contain a field called | 225 | Some regulator directories will contain a field called |
222 | suspend_disk_microvolts. This holds the regulator output | 226 | suspend_disk_microvolts. This holds the regulator output |
223 | voltage setting for this domain measured in microvolts when | 227 | voltage setting for this domain measured in microvolts when |
224 | the system is suspended to disk. | 228 | the system is suspended to disk, for voltage regulators |
225 | 229 | implementing suspend voltage configuration constraints. | |
226 | NOTE: this will return the string 'not defined' if | ||
227 | the power domain has no suspend to disk voltage defined by | ||
228 | platform code. | ||
229 | 230 | ||
230 | What: /sys/class/regulator/.../suspend_standby_microvolts | 231 | What: /sys/class/regulator/.../suspend_standby_microvolts |
231 | Date: May 2008 | 232 | Date: May 2008 |
232 | KernelVersion: 2.6.26 | 233 | KernelVersion: 2.6.26 |
233 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 234 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
234 | Description: | 235 | Description: |
235 | Each regulator directory will contain a field called | 236 | Some regulator directories will contain a field called |
236 | suspend_standby_microvolts. This holds the regulator output | 237 | suspend_standby_microvolts. This holds the regulator output |
237 | voltage setting for this domain measured in microvolts when | 238 | voltage setting for this domain measured in microvolts when |
238 | the system is suspended to standby. | 239 | the system is suspended to standby, for voltage regulators |
239 | 240 | implementing suspend voltage configuration constraints. | |
240 | NOTE: this will return the string 'not defined' if | ||
241 | the power domain has no suspend to standby voltage defined by | ||
242 | platform code. | ||
243 | 241 | ||
244 | What: /sys/class/regulator/.../suspend_mem_mode | 242 | What: /sys/class/regulator/.../suspend_mem_mode |
245 | Date: May 2008 | 243 | Date: May 2008 |
246 | KernelVersion: 2.6.26 | 244 | KernelVersion: 2.6.26 |
247 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 245 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
248 | Description: | 246 | Description: |
249 | Each regulator directory will contain a field called | 247 | Some regulator directories will contain a field called |
250 | suspend_mem_mode. This holds the regulator operating mode | 248 | suspend_mem_mode. This holds the regulator operating mode |
251 | setting for this domain when the system is suspended to | 249 | setting for this domain when the system is suspended to |
252 | memory. | 250 | memory, for regulators implementing suspend mode |
253 | 251 | configuration constraints. | |
254 | NOTE: this will return the string 'not defined' if | ||
255 | the power domain has no suspend to memory mode defined by | ||
256 | platform code. | ||
257 | 252 | ||
258 | What: /sys/class/regulator/.../suspend_disk_mode | 253 | What: /sys/class/regulator/.../suspend_disk_mode |
259 | Date: May 2008 | 254 | Date: May 2008 |
260 | KernelVersion: 2.6.26 | 255 | KernelVersion: 2.6.26 |
261 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 256 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
262 | Description: | 257 | Description: |
263 | Each regulator directory will contain a field called | 258 | Some regulator directories will contain a field called |
264 | suspend_disk_mode. This holds the regulator operating mode | 259 | suspend_disk_mode. This holds the regulator operating mode |
265 | setting for this domain when the system is suspended to disk. | 260 | setting for this domain when the system is suspended to disk, |
266 | 261 | for regulators implementing suspend mode configuration | |
267 | NOTE: this will return the string 'not defined' if | 262 | constraints. |
268 | the power domain has no suspend to disk mode defined by | ||
269 | platform code. | ||
270 | 263 | ||
271 | What: /sys/class/regulator/.../suspend_standby_mode | 264 | What: /sys/class/regulator/.../suspend_standby_mode |
272 | Date: May 2008 | 265 | Date: May 2008 |
273 | KernelVersion: 2.6.26 | 266 | KernelVersion: 2.6.26 |
274 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 267 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
275 | Description: | 268 | Description: |
276 | Each regulator directory will contain a field called | 269 | Some regulator directories will contain a field called |
277 | suspend_standby_mode. This holds the regulator operating mode | 270 | suspend_standby_mode. This holds the regulator operating mode |
278 | setting for this domain when the system is suspended to | 271 | setting for this domain when the system is suspended to |
279 | standby. | 272 | standby, for regulators implementing suspend mode |
280 | 273 | configuration constraints. | |
281 | NOTE: this will return the string 'not defined' if | ||
282 | the power domain has no suspend to standby mode defined by | ||
283 | platform code. | ||
284 | 274 | ||
285 | What: /sys/class/regulator/.../suspend_mem_state | 275 | What: /sys/class/regulator/.../suspend_mem_state |
286 | Date: May 2008 | 276 | Date: May 2008 |
287 | KernelVersion: 2.6.26 | 277 | KernelVersion: 2.6.26 |
288 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 278 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
289 | Description: | 279 | Description: |
290 | Each regulator directory will contain a field called | 280 | Some regulator directories will contain a field called |
291 | suspend_mem_state. This holds the regulator operating state | 281 | suspend_mem_state. This holds the regulator operating state |
292 | when suspended to memory. | 282 | when suspended to memory, for regulators implementing suspend |
293 | 283 | configuration constraints. | |
294 | This will be one of the following strings: | ||
295 | 284 | ||
296 | 'enabled' | 285 | This will be one of the same strings reported by |
297 | 'disabled' | 286 | the "state" attribute. |
298 | 'not defined' | ||
299 | 287 | ||
300 | What: /sys/class/regulator/.../suspend_disk_state | 288 | What: /sys/class/regulator/.../suspend_disk_state |
301 | Date: May 2008 | 289 | Date: May 2008 |
302 | KernelVersion: 2.6.26 | 290 | KernelVersion: 2.6.26 |
303 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 291 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
304 | Description: | 292 | Description: |
305 | Each regulator directory will contain a field called | 293 | Some regulator directories will contain a field called |
306 | suspend_disk_state. This holds the regulator operating state | 294 | suspend_disk_state. This holds the regulator operating state |
307 | when suspended to disk. | 295 | when suspended to disk, for regulators implementing |
308 | 296 | suspend configuration constraints. | |
309 | This will be one of the following strings: | ||
310 | 297 | ||
311 | 'enabled' | 298 | This will be one of the same strings reported by |
312 | 'disabled' | 299 | the "state" attribute. |
313 | 'not defined' | ||
314 | 300 | ||
315 | What: /sys/class/regulator/.../suspend_standby_state | 301 | What: /sys/class/regulator/.../suspend_standby_state |
316 | Date: May 2008 | 302 | Date: May 2008 |
317 | KernelVersion: 2.6.26 | 303 | KernelVersion: 2.6.26 |
318 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> | 304 | Contact: Liam Girdwood <lrg@slimlogic.co.uk> |
319 | Description: | 305 | Description: |
320 | Each regulator directory will contain a field called | 306 | Some regulator directories will contain a field called |
321 | suspend_standby_state. This holds the regulator operating | 307 | suspend_standby_state. This holds the regulator operating |
322 | state when suspended to standby. | 308 | state when suspended to standby, for regulators implementing |
323 | 309 | suspend configuration constraints. | |
324 | This will be one of the following strings: | ||
325 | 310 | ||
326 | 'enabled' | 311 | This will be one of the same strings reported by |
327 | 'disabled' | 312 | the "state" attribute. |
328 | 'not defined' | ||