diff options
author | Paul Walmsley <paul@pwsan.com> | 2010-01-26 22:13:02 -0500 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2010-01-26 22:13:02 -0500 |
commit | f0271d65f9ac511d2e3e1fdbcd7418a5a7df0769 (patch) | |
tree | 11955198152ab0fcef09adc276dd98e3dc5c898c /arch/arm | |
parent | 915aad89fcc57a03511c69915b3876f4e53074ee (diff) |
OMAP clockdomain/powerdomain: improve documentation
This patch only affects documentation; no functional changes are
included.
Clean up comments in the current clockdomain, powerdomain code and
header files. This mostly involves conversion to kerneldoc format,
although some clarifications are also included.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/clockdomain.c | 65 | ||||
-rw-r--r-- | arch/arm/mach-omap2/powerdomain.c | 149 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/clockdomain.h | 87 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/powerdomain.h | 40 |
4 files changed, 167 insertions, 174 deletions
diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c index 6eaa9314cd64..a38a615b422f 100644 --- a/arch/arm/mach-omap2/clockdomain.c +++ b/arch/arm/mach-omap2/clockdomain.c | |||
@@ -351,10 +351,10 @@ static void _init_sleepdep_usecount(struct clockdomain *clkdm) | |||
351 | * @init_autodeps: optional pointer to an array of autodeps to register | 351 | * @init_autodeps: optional pointer to an array of autodeps to register |
352 | * | 352 | * |
353 | * Set up internal state. If a pointer to an array of clockdomains | 353 | * Set up internal state. If a pointer to an array of clockdomains |
354 | * was supplied, loop through the list of clockdomains, register all | 354 | * @clkdms was supplied, loop through the list of clockdomains, |
355 | * that are available on the current platform. Similarly, if a pointer | 355 | * register all that are available on the current platform. Similarly, |
356 | * to an array of clockdomain autodependencies was provided, register | 356 | * if a pointer to an array of clockdomain autodependencies |
357 | * those. No return value. | 357 | * @init_autodeps was provided, register those. No return value. |
358 | */ | 358 | */ |
359 | void clkdm_init(struct clockdomain **clkdms, | 359 | void clkdm_init(struct clockdomain **clkdms, |
360 | struct clkdm_autodep *init_autodeps) | 360 | struct clkdm_autodep *init_autodeps) |
@@ -386,8 +386,8 @@ void clkdm_init(struct clockdomain **clkdms, | |||
386 | * clkdm_lookup - look up a clockdomain by name, return a pointer | 386 | * clkdm_lookup - look up a clockdomain by name, return a pointer |
387 | * @name: name of clockdomain | 387 | * @name: name of clockdomain |
388 | * | 388 | * |
389 | * Find a registered clockdomain by its name. Returns a pointer to the | 389 | * Find a registered clockdomain by its name @name. Returns a pointer |
390 | * struct clockdomain if found, or NULL otherwise. | 390 | * to the struct clockdomain if found, or NULL otherwise. |
391 | */ | 391 | */ |
392 | struct clockdomain *clkdm_lookup(const char *name) | 392 | struct clockdomain *clkdm_lookup(const char *name) |
393 | { | 393 | { |
@@ -412,8 +412,8 @@ struct clockdomain *clkdm_lookup(const char *name) | |||
412 | * clkdm_for_each - call function on each registered clockdomain | 412 | * clkdm_for_each - call function on each registered clockdomain |
413 | * @fn: callback function * | 413 | * @fn: callback function * |
414 | * | 414 | * |
415 | * Call the supplied function for each registered clockdomain. | 415 | * Call the supplied function @fn for each registered clockdomain. |
416 | * The callback function can return anything but 0 to bail | 416 | * The callback function @fn can return anything but 0 to bail |
417 | * out early from the iterator. The callback function is called with | 417 | * out early from the iterator. The callback function is called with |
418 | * the clkdm_mutex held, so no clockdomain structure manipulation | 418 | * the clkdm_mutex held, so no clockdomain structure manipulation |
419 | * functions should be called from the callback, although hardware | 419 | * functions should be called from the callback, although hardware |
@@ -446,7 +446,7 @@ int clkdm_for_each(int (*fn)(struct clockdomain *clkdm, void *user), | |||
446 | * @clkdm: struct clockdomain * | 446 | * @clkdm: struct clockdomain * |
447 | * | 447 | * |
448 | * Return a pointer to the struct powerdomain that the specified clockdomain | 448 | * Return a pointer to the struct powerdomain that the specified clockdomain |
449 | * 'clkdm' exists in, or returns NULL if clkdm argument is NULL. | 449 | * @clkdm exists in, or returns NULL if @clkdm is NULL. |
450 | */ | 450 | */ |
451 | struct powerdomain *clkdm_get_pwrdm(struct clockdomain *clkdm) | 451 | struct powerdomain *clkdm_get_pwrdm(struct clockdomain *clkdm) |
452 | { | 452 | { |
@@ -759,10 +759,10 @@ int clkdm_clear_all_sleepdeps(struct clockdomain *clkdm) | |||
759 | 759 | ||
760 | /** | 760 | /** |
761 | * omap2_clkdm_clktrctrl_read - read the clkdm's current state transition mode | 761 | * omap2_clkdm_clktrctrl_read - read the clkdm's current state transition mode |
762 | * @clk: struct clk * of a clockdomain | 762 | * @clkdm: struct clkdm * of a clockdomain |
763 | * | 763 | * |
764 | * Return the clockdomain's current state transition mode from the | 764 | * Return the clockdomain @clkdm current state transition mode from the |
765 | * corresponding domain OMAP2_CM_CLKSTCTRL register. Returns -EINVAL if clk | 765 | * corresponding domain CM_CLKSTCTRL register. Returns -EINVAL if @clkdm |
766 | * is NULL or the current mode upon success. | 766 | * is NULL or the current mode upon success. |
767 | */ | 767 | */ |
768 | static int omap2_clkdm_clktrctrl_read(struct clockdomain *clkdm) | 768 | static int omap2_clkdm_clktrctrl_read(struct clockdomain *clkdm) |
@@ -784,7 +784,7 @@ static int omap2_clkdm_clktrctrl_read(struct clockdomain *clkdm) | |||
784 | * @clkdm: struct clockdomain * | 784 | * @clkdm: struct clockdomain * |
785 | * | 785 | * |
786 | * Instruct the CM to force a sleep transition on the specified | 786 | * Instruct the CM to force a sleep transition on the specified |
787 | * clockdomain 'clkdm'. Returns -EINVAL if clk is NULL or if | 787 | * clockdomain @clkdm. Returns -EINVAL if @clkdm is NULL or if |
788 | * clockdomain does not support software-initiated sleep; 0 upon | 788 | * clockdomain does not support software-initiated sleep; 0 upon |
789 | * success. | 789 | * success. |
790 | */ | 790 | */ |
@@ -828,7 +828,7 @@ int omap2_clkdm_sleep(struct clockdomain *clkdm) | |||
828 | * @clkdm: struct clockdomain * | 828 | * @clkdm: struct clockdomain * |
829 | * | 829 | * |
830 | * Instruct the CM to force a wakeup transition on the specified | 830 | * Instruct the CM to force a wakeup transition on the specified |
831 | * clockdomain 'clkdm'. Returns -EINVAL if clkdm is NULL or if the | 831 | * clockdomain @clkdm. Returns -EINVAL if @clkdm is NULL or if the |
832 | * clockdomain does not support software-controlled wakeup; 0 upon | 832 | * clockdomain does not support software-controlled wakeup; 0 upon |
833 | * success. | 833 | * success. |
834 | */ | 834 | */ |
@@ -871,7 +871,7 @@ int omap2_clkdm_wakeup(struct clockdomain *clkdm) | |||
871 | * omap2_clkdm_allow_idle - enable hwsup idle transitions for clkdm | 871 | * omap2_clkdm_allow_idle - enable hwsup idle transitions for clkdm |
872 | * @clkdm: struct clockdomain * | 872 | * @clkdm: struct clockdomain * |
873 | * | 873 | * |
874 | * Allow the hardware to automatically switch the clockdomain into | 874 | * Allow the hardware to automatically switch the clockdomain @clkdm into |
875 | * active or idle states, as needed by downstream clocks. If the | 875 | * active or idle states, as needed by downstream clocks. If the |
876 | * clockdomain has any downstream clocks enabled in the clock | 876 | * clockdomain has any downstream clocks enabled in the clock |
877 | * framework, wkdep/sleepdep autodependencies are added; this is so | 877 | * framework, wkdep/sleepdep autodependencies are added; this is so |
@@ -904,8 +904,8 @@ void omap2_clkdm_allow_idle(struct clockdomain *clkdm) | |||
904 | * @clkdm: struct clockdomain * | 904 | * @clkdm: struct clockdomain * |
905 | * | 905 | * |
906 | * Prevent the hardware from automatically switching the clockdomain | 906 | * Prevent the hardware from automatically switching the clockdomain |
907 | * into inactive or idle states. If the clockdomain has downstream | 907 | * @clkdm into inactive or idle states. If the clockdomain has |
908 | * clocks enabled in the clock framework, wkdep/sleepdep | 908 | * downstream clocks enabled in the clock framework, wkdep/sleepdep |
909 | * autodependencies are removed. No return value. | 909 | * autodependencies are removed. No return value. |
910 | */ | 910 | */ |
911 | void omap2_clkdm_deny_idle(struct clockdomain *clkdm) | 911 | void omap2_clkdm_deny_idle(struct clockdomain *clkdm) |
@@ -936,14 +936,14 @@ void omap2_clkdm_deny_idle(struct clockdomain *clkdm) | |||
936 | * @clkdm: struct clockdomain * | 936 | * @clkdm: struct clockdomain * |
937 | * @clk: struct clk * of the enabled downstream clock | 937 | * @clk: struct clk * of the enabled downstream clock |
938 | * | 938 | * |
939 | * Increment the usecount of this clockdomain 'clkdm' and ensure that | 939 | * Increment the usecount of the clockdomain @clkdm and ensure that it |
940 | * it is awake. Intended to be called by clk_enable() code. If the | 940 | * is awake before @clk is enabled. Intended to be called by |
941 | * clockdomain is in software-supervised idle mode, force the | 941 | * clk_enable() code. If the clockdomain is in software-supervised |
942 | * clockdomain to wake. If the clockdomain is in hardware-supervised | 942 | * idle mode, force the clockdomain to wake. If the clockdomain is in |
943 | * idle mode, add clkdm-pwrdm autodependencies, to ensure that devices | 943 | * hardware-supervised idle mode, add clkdm-pwrdm autodependencies, to |
944 | * in the clockdomain can be read from/written to by on-chip processors. | 944 | * ensure that devices in the clockdomain can be read from/written to |
945 | * Returns -EINVAL if passed null pointers; returns 0 upon success or | 945 | * by on-chip processors. Returns -EINVAL if passed null pointers; |
946 | * if the clockdomain is in hwsup idle mode. | 946 | * returns 0 upon success or if the clockdomain is in hwsup idle mode. |
947 | */ | 947 | */ |
948 | int omap2_clkdm_clk_enable(struct clockdomain *clkdm, struct clk *clk) | 948 | int omap2_clkdm_clk_enable(struct clockdomain *clkdm, struct clk *clk) |
949 | { | 949 | { |
@@ -988,13 +988,14 @@ int omap2_clkdm_clk_enable(struct clockdomain *clkdm, struct clk *clk) | |||
988 | * @clkdm: struct clockdomain * | 988 | * @clkdm: struct clockdomain * |
989 | * @clk: struct clk * of the disabled downstream clock | 989 | * @clk: struct clk * of the disabled downstream clock |
990 | * | 990 | * |
991 | * Decrement the usecount of this clockdomain 'clkdm'. Intended to be | 991 | * Decrement the usecount of this clockdomain @clkdm when @clk is |
992 | * called by clk_disable() code. If the usecount goes to 0, put the | 992 | * disabled. Intended to be called by clk_disable() code. If the |
993 | * clockdomain to sleep (software-supervised mode) or remove the | 993 | * clockdomain usecount goes to 0, put the clockdomain to sleep |
994 | * clkdm-pwrdm autodependencies (hardware-supervised mode). Returns | 994 | * (software-supervised mode) or remove the clkdm autodependencies |
995 | * -EINVAL if passed null pointers; -ERANGE if the clkdm usecount | 995 | * (hardware-supervised mode). Returns -EINVAL if passed null |
996 | * underflows and debugging is enabled; or returns 0 upon success or | 996 | * pointers; -ERANGE if the @clkdm usecount underflows and debugging |
997 | * if the clockdomain is in hwsup idle mode. | 997 | * is enabled; or returns 0 upon success or if the clockdomain is in |
998 | * hwsup idle mode. | ||
998 | */ | 999 | */ |
999 | int omap2_clkdm_clk_disable(struct clockdomain *clkdm, struct clk *clk) | 1000 | int omap2_clkdm_clk_disable(struct clockdomain *clkdm, struct clk *clk) |
1000 | { | 1001 | { |
diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c index 9d4b8f5e09b6..dc03289d5dea 100644 --- a/arch/arm/mach-omap2/powerdomain.c +++ b/arch/arm/mach-omap2/powerdomain.c | |||
@@ -185,11 +185,13 @@ static int _pwrdm_post_transition_cb(struct powerdomain *pwrdm, void *unused) | |||
185 | 185 | ||
186 | /** | 186 | /** |
187 | * pwrdm_init - set up the powerdomain layer | 187 | * pwrdm_init - set up the powerdomain layer |
188 | * @pwrdm_list: array of struct powerdomain pointers to register | ||
188 | * | 189 | * |
189 | * Loop through the list of powerdomains, registering all that are | 190 | * Loop through the array of powerdomains @pwrdm_list, registering all |
190 | * available on the current CPU. If pwrdm_list is supplied and not | 191 | * that are available on the current CPU. If pwrdm_list is supplied |
191 | * null, all of the referenced powerdomains will be registered. No | 192 | * and not null, all of the referenced powerdomains will be |
192 | * return value. | 193 | * registered. No return value. XXX pwrdm_list is not really a |
194 | * "list"; it is an array. Rename appropriately. | ||
193 | */ | 195 | */ |
194 | void pwrdm_init(struct powerdomain **pwrdm_list) | 196 | void pwrdm_init(struct powerdomain **pwrdm_list) |
195 | { | 197 | { |
@@ -217,8 +219,8 @@ void pwrdm_init(struct powerdomain **pwrdm_list) | |||
217 | * pwrdm_lookup - look up a powerdomain by name, return a pointer | 219 | * pwrdm_lookup - look up a powerdomain by name, return a pointer |
218 | * @name: name of powerdomain | 220 | * @name: name of powerdomain |
219 | * | 221 | * |
220 | * Find a registered powerdomain by its name. Returns a pointer to the | 222 | * Find a registered powerdomain by its name @name. Returns a pointer |
221 | * struct powerdomain if found, or NULL otherwise. | 223 | * to the struct powerdomain if found, or NULL otherwise. |
222 | */ | 224 | */ |
223 | struct powerdomain *pwrdm_lookup(const char *name) | 225 | struct powerdomain *pwrdm_lookup(const char *name) |
224 | { | 226 | { |
@@ -236,11 +238,11 @@ struct powerdomain *pwrdm_lookup(const char *name) | |||
236 | * pwrdm_for_each - call function on each registered clockdomain | 238 | * pwrdm_for_each - call function on each registered clockdomain |
237 | * @fn: callback function * | 239 | * @fn: callback function * |
238 | * | 240 | * |
239 | * Call the supplied function for each registered powerdomain. The | 241 | * Call the supplied function @fn for each registered powerdomain. |
240 | * callback function can return anything but 0 to bail out early from | 242 | * The callback function @fn can return anything but 0 to bail out |
241 | * the iterator. Returns the last return value of the callback function, which | 243 | * early from the iterator. Returns the last return value of the |
242 | * should be 0 for success or anything else to indicate failure; or -EINVAL if | 244 | * callback function, which should be 0 for success or anything else |
243 | * the function pointer is null. | 245 | * to indicate failure; or -EINVAL if the function pointer is null. |
244 | */ | 246 | */ |
245 | int pwrdm_for_each(int (*fn)(struct powerdomain *pwrdm, void *user), | 247 | int pwrdm_for_each(int (*fn)(struct powerdomain *pwrdm, void *user), |
246 | void *user) | 248 | void *user) |
@@ -265,7 +267,7 @@ int pwrdm_for_each(int (*fn)(struct powerdomain *pwrdm, void *user), | |||
265 | * @pwrdm: struct powerdomain * to add the clockdomain to | 267 | * @pwrdm: struct powerdomain * to add the clockdomain to |
266 | * @clkdm: struct clockdomain * to associate with a powerdomain | 268 | * @clkdm: struct clockdomain * to associate with a powerdomain |
267 | * | 269 | * |
268 | * Associate the clockdomain 'clkdm' with a powerdomain 'pwrdm'. This | 270 | * Associate the clockdomain @clkdm with a powerdomain @pwrdm. This |
269 | * enables the use of pwrdm_for_each_clkdm(). Returns -EINVAL if | 271 | * enables the use of pwrdm_for_each_clkdm(). Returns -EINVAL if |
270 | * presented with invalid pointers; -ENOMEM if memory could not be allocated; | 272 | * presented with invalid pointers; -ENOMEM if memory could not be allocated; |
271 | * or 0 upon success. | 273 | * or 0 upon success. |
@@ -313,10 +315,10 @@ pac_exit: | |||
313 | * @pwrdm: struct powerdomain * to add the clockdomain to | 315 | * @pwrdm: struct powerdomain * to add the clockdomain to |
314 | * @clkdm: struct clockdomain * to associate with a powerdomain | 316 | * @clkdm: struct clockdomain * to associate with a powerdomain |
315 | * | 317 | * |
316 | * Dissociate the clockdomain 'clkdm' from the powerdomain | 318 | * Dissociate the clockdomain @clkdm from the powerdomain |
317 | * 'pwrdm'. Returns -EINVAL if presented with invalid pointers; | 319 | * @pwrdm. Returns -EINVAL if presented with invalid pointers; -ENOENT |
318 | * -ENOENT if the clkdm was not associated with the powerdomain, or 0 | 320 | * if @clkdm was not associated with the powerdomain, or 0 upon |
319 | * upon success. | 321 | * success. |
320 | */ | 322 | */ |
321 | int pwrdm_del_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm) | 323 | int pwrdm_del_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm) |
322 | { | 324 | { |
@@ -353,8 +355,8 @@ pdc_exit: | |||
353 | * @pwrdm: struct powerdomain * to iterate over | 355 | * @pwrdm: struct powerdomain * to iterate over |
354 | * @fn: callback function * | 356 | * @fn: callback function * |
355 | * | 357 | * |
356 | * Call the supplied function for each clockdomain in the powerdomain | 358 | * Call the supplied function @fn for each clockdomain in the powerdomain |
357 | * 'pwrdm'. The callback function can return anything but 0 to bail | 359 | * @pwrdm. The callback function can return anything but 0 to bail |
358 | * out early from the iterator. Returns -EINVAL if presented with | 360 | * out early from the iterator. Returns -EINVAL if presented with |
359 | * invalid pointers; or passes along the last return value of the | 361 | * invalid pointers; or passes along the last return value of the |
360 | * callback function, which should be 0 for success or anything else | 362 | * callback function, which should be 0 for success or anything else |
@@ -380,7 +382,7 @@ int pwrdm_for_each_clkdm(struct powerdomain *pwrdm, | |||
380 | * pwrdm_get_mem_bank_count - get number of memory banks in this powerdomain | 382 | * pwrdm_get_mem_bank_count - get number of memory banks in this powerdomain |
381 | * @pwrdm: struct powerdomain * | 383 | * @pwrdm: struct powerdomain * |
382 | * | 384 | * |
383 | * Return the number of controllable memory banks in powerdomain pwrdm, | 385 | * Return the number of controllable memory banks in powerdomain @pwrdm, |
384 | * starting with 1. Returns -EINVAL if the powerdomain pointer is null. | 386 | * starting with 1. Returns -EINVAL if the powerdomain pointer is null. |
385 | */ | 387 | */ |
386 | int pwrdm_get_mem_bank_count(struct powerdomain *pwrdm) | 388 | int pwrdm_get_mem_bank_count(struct powerdomain *pwrdm) |
@@ -396,7 +398,7 @@ int pwrdm_get_mem_bank_count(struct powerdomain *pwrdm) | |||
396 | * @pwrdm: struct powerdomain * to set | 398 | * @pwrdm: struct powerdomain * to set |
397 | * @pwrst: one of the PWRDM_POWER_* macros | 399 | * @pwrst: one of the PWRDM_POWER_* macros |
398 | * | 400 | * |
399 | * Set the powerdomain pwrdm's next power state to pwrst. The powerdomain | 401 | * Set the powerdomain @pwrdm's next power state to @pwrst. The powerdomain |
400 | * may not enter this state immediately if the preconditions for this state | 402 | * may not enter this state immediately if the preconditions for this state |
401 | * have not been satisfied. Returns -EINVAL if the powerdomain pointer is | 403 | * have not been satisfied. Returns -EINVAL if the powerdomain pointer is |
402 | * null or if the power state is invalid for the powerdomin, or returns 0 | 404 | * null or if the power state is invalid for the powerdomin, or returns 0 |
@@ -424,7 +426,7 @@ int pwrdm_set_next_pwrst(struct powerdomain *pwrdm, u8 pwrst) | |||
424 | * pwrdm_read_next_pwrst - get next powerdomain power state | 426 | * pwrdm_read_next_pwrst - get next powerdomain power state |
425 | * @pwrdm: struct powerdomain * to get power state | 427 | * @pwrdm: struct powerdomain * to get power state |
426 | * | 428 | * |
427 | * Return the powerdomain pwrdm's next power state. Returns -EINVAL | 429 | * Return the powerdomain @pwrdm's next power state. Returns -EINVAL |
428 | * if the powerdomain pointer is null or returns the next power state | 430 | * if the powerdomain pointer is null or returns the next power state |
429 | * upon success. | 431 | * upon success. |
430 | */ | 432 | */ |
@@ -441,7 +443,7 @@ int pwrdm_read_next_pwrst(struct powerdomain *pwrdm) | |||
441 | * pwrdm_read_pwrst - get current powerdomain power state | 443 | * pwrdm_read_pwrst - get current powerdomain power state |
442 | * @pwrdm: struct powerdomain * to get power state | 444 | * @pwrdm: struct powerdomain * to get power state |
443 | * | 445 | * |
444 | * Return the powerdomain pwrdm's current power state. Returns -EINVAL | 446 | * Return the powerdomain @pwrdm's current power state. Returns -EINVAL |
445 | * if the powerdomain pointer is null or returns the current power state | 447 | * if the powerdomain pointer is null or returns the current power state |
446 | * upon success. | 448 | * upon success. |
447 | */ | 449 | */ |
@@ -458,7 +460,7 @@ int pwrdm_read_pwrst(struct powerdomain *pwrdm) | |||
458 | * pwrdm_read_prev_pwrst - get previous powerdomain power state | 460 | * pwrdm_read_prev_pwrst - get previous powerdomain power state |
459 | * @pwrdm: struct powerdomain * to get previous power state | 461 | * @pwrdm: struct powerdomain * to get previous power state |
460 | * | 462 | * |
461 | * Return the powerdomain pwrdm's previous power state. Returns -EINVAL | 463 | * Return the powerdomain @pwrdm's previous power state. Returns -EINVAL |
462 | * if the powerdomain pointer is null or returns the previous power state | 464 | * if the powerdomain pointer is null or returns the previous power state |
463 | * upon success. | 465 | * upon success. |
464 | */ | 466 | */ |
@@ -476,11 +478,11 @@ int pwrdm_read_prev_pwrst(struct powerdomain *pwrdm) | |||
476 | * @pwrdm: struct powerdomain * to set | 478 | * @pwrdm: struct powerdomain * to set |
477 | * @pwrst: one of the PWRDM_POWER_* macros | 479 | * @pwrst: one of the PWRDM_POWER_* macros |
478 | * | 480 | * |
479 | * Set the next power state that the logic portion of the powerdomain | 481 | * Set the next power state @pwrst that the logic portion of the |
480 | * pwrdm will enter when the powerdomain enters retention. This will | 482 | * powerdomain @pwrdm will enter when the powerdomain enters retention. |
481 | * be either RETENTION or OFF, if supported. Returns -EINVAL if the | 483 | * This will be either RETENTION or OFF, if supported. Returns |
482 | * powerdomain pointer is null or the target power state is not not | 484 | * -EINVAL if the powerdomain pointer is null or the target power |
483 | * supported, or returns 0 upon success. | 485 | * state is not not supported, or returns 0 upon success. |
484 | */ | 486 | */ |
485 | int pwrdm_set_logic_retst(struct powerdomain *pwrdm, u8 pwrst) | 487 | int pwrdm_set_logic_retst(struct powerdomain *pwrdm, u8 pwrst) |
486 | { | 488 | { |
@@ -512,13 +514,14 @@ int pwrdm_set_logic_retst(struct powerdomain *pwrdm, u8 pwrst) | |||
512 | * @bank: memory bank number to set (0-3) | 514 | * @bank: memory bank number to set (0-3) |
513 | * @pwrst: one of the PWRDM_POWER_* macros | 515 | * @pwrst: one of the PWRDM_POWER_* macros |
514 | * | 516 | * |
515 | * Set the next power state that memory bank x of the powerdomain | 517 | * Set the next power state @pwrst that memory bank @bank of the |
516 | * pwrdm will enter when the powerdomain enters the ON state. Bank | 518 | * powerdomain @pwrdm will enter when the powerdomain enters the ON |
517 | * will be a number from 0 to 3, and represents different types of | 519 | * state. @bank will be a number from 0 to 3, and represents different |
518 | * memory, depending on the powerdomain. Returns -EINVAL if the | 520 | * types of memory, depending on the powerdomain. Returns -EINVAL if |
519 | * powerdomain pointer is null or the target power state is not not | 521 | * the powerdomain pointer is null or the target power state is not |
520 | * supported for this memory bank, -EEXIST if the target memory bank | 522 | * not supported for this memory bank, -EEXIST if the target memory |
521 | * does not exist or is not controllable, or returns 0 upon success. | 523 | * bank does not exist or is not controllable, or returns 0 upon |
524 | * success. | ||
522 | */ | 525 | */ |
523 | int pwrdm_set_mem_onst(struct powerdomain *pwrdm, u8 bank, u8 pwrst) | 526 | int pwrdm_set_mem_onst(struct powerdomain *pwrdm, u8 bank, u8 pwrst) |
524 | { | 527 | { |
@@ -575,14 +578,15 @@ int pwrdm_set_mem_onst(struct powerdomain *pwrdm, u8 bank, u8 pwrst) | |||
575 | * @bank: memory bank number to set (0-3) | 578 | * @bank: memory bank number to set (0-3) |
576 | * @pwrst: one of the PWRDM_POWER_* macros | 579 | * @pwrst: one of the PWRDM_POWER_* macros |
577 | * | 580 | * |
578 | * Set the next power state that memory bank x of the powerdomain | 581 | * Set the next power state @pwrst that memory bank @bank of the |
579 | * pwrdm will enter when the powerdomain enters the RETENTION state. | 582 | * powerdomain @pwrdm will enter when the powerdomain enters the |
580 | * Bank will be a number from 0 to 3, and represents different types | 583 | * RETENTION state. Bank will be a number from 0 to 3, and represents |
581 | * of memory, depending on the powerdomain. pwrst will be either | 584 | * different types of memory, depending on the powerdomain. @pwrst |
582 | * RETENTION or OFF, if supported. Returns -EINVAL if the powerdomain | 585 | * will be either RETENTION or OFF, if supported. Returns -EINVAL if |
583 | * pointer is null or the target power state is not not supported for | 586 | * the powerdomain pointer is null or the target power state is not |
584 | * this memory bank, -EEXIST if the target memory bank does not exist | 587 | * not supported for this memory bank, -EEXIST if the target memory |
585 | * or is not controllable, or returns 0 upon success. | 588 | * bank does not exist or is not controllable, or returns 0 upon |
589 | * success. | ||
586 | */ | 590 | */ |
587 | int pwrdm_set_mem_retst(struct powerdomain *pwrdm, u8 bank, u8 pwrst) | 591 | int pwrdm_set_mem_retst(struct powerdomain *pwrdm, u8 bank, u8 pwrst) |
588 | { | 592 | { |
@@ -637,10 +641,10 @@ int pwrdm_set_mem_retst(struct powerdomain *pwrdm, u8 bank, u8 pwrst) | |||
637 | * pwrdm_read_logic_pwrst - get current powerdomain logic retention power state | 641 | * pwrdm_read_logic_pwrst - get current powerdomain logic retention power state |
638 | * @pwrdm: struct powerdomain * to get current logic retention power state | 642 | * @pwrdm: struct powerdomain * to get current logic retention power state |
639 | * | 643 | * |
640 | * Return the current power state that the logic portion of | 644 | * Return the power state that the logic portion of powerdomain @pwrdm |
641 | * powerdomain pwrdm will enter | 645 | * will enter when the powerdomain enters retention. Returns -EINVAL |
642 | * Returns -EINVAL if the powerdomain pointer is null or returns the | 646 | * if the powerdomain pointer is null or returns the logic retention |
643 | * current logic retention power state upon success. | 647 | * power state upon success. |
644 | */ | 648 | */ |
645 | int pwrdm_read_logic_pwrst(struct powerdomain *pwrdm) | 649 | int pwrdm_read_logic_pwrst(struct powerdomain *pwrdm) |
646 | { | 650 | { |
@@ -655,9 +659,9 @@ int pwrdm_read_logic_pwrst(struct powerdomain *pwrdm) | |||
655 | * pwrdm_read_prev_logic_pwrst - get previous powerdomain logic power state | 659 | * pwrdm_read_prev_logic_pwrst - get previous powerdomain logic power state |
656 | * @pwrdm: struct powerdomain * to get previous logic power state | 660 | * @pwrdm: struct powerdomain * to get previous logic power state |
657 | * | 661 | * |
658 | * Return the powerdomain pwrdm's logic power state. Returns -EINVAL | 662 | * Return the powerdomain @pwrdm's previous logic power state. Returns |
659 | * if the powerdomain pointer is null or returns the previous logic | 663 | * -EINVAL if the powerdomain pointer is null or returns the previous |
660 | * power state upon success. | 664 | * logic power state upon success. |
661 | */ | 665 | */ |
662 | int pwrdm_read_prev_logic_pwrst(struct powerdomain *pwrdm) | 666 | int pwrdm_read_prev_logic_pwrst(struct powerdomain *pwrdm) |
663 | { | 667 | { |
@@ -679,8 +683,8 @@ int pwrdm_read_prev_logic_pwrst(struct powerdomain *pwrdm) | |||
679 | * @pwrdm: struct powerdomain * to get current memory bank power state | 683 | * @pwrdm: struct powerdomain * to get current memory bank power state |
680 | * @bank: memory bank number (0-3) | 684 | * @bank: memory bank number (0-3) |
681 | * | 685 | * |
682 | * Return the powerdomain pwrdm's current memory power state for bank | 686 | * Return the powerdomain @pwrdm's current memory power state for bank |
683 | * x. Returns -EINVAL if the powerdomain pointer is null, -EEXIST if | 687 | * @bank. Returns -EINVAL if the powerdomain pointer is null, -EEXIST if |
684 | * the target memory bank does not exist or is not controllable, or | 688 | * the target memory bank does not exist or is not controllable, or |
685 | * returns the current memory power state upon success. | 689 | * returns the current memory power state upon success. |
686 | */ | 690 | */ |
@@ -733,10 +737,11 @@ int pwrdm_read_mem_pwrst(struct powerdomain *pwrdm, u8 bank) | |||
733 | * @pwrdm: struct powerdomain * to get previous memory bank power state | 737 | * @pwrdm: struct powerdomain * to get previous memory bank power state |
734 | * @bank: memory bank number (0-3) | 738 | * @bank: memory bank number (0-3) |
735 | * | 739 | * |
736 | * Return the powerdomain pwrdm's previous memory power state for bank | 740 | * Return the powerdomain @pwrdm's previous memory power state for |
737 | * x. Returns -EINVAL if the powerdomain pointer is null, -EEXIST if | 741 | * bank @bank. Returns -EINVAL if the powerdomain pointer is null, |
738 | * the target memory bank does not exist or is not controllable, or | 742 | * -EEXIST if the target memory bank does not exist or is not |
739 | * returns the previous memory power state upon success. | 743 | * controllable, or returns the previous memory power state upon |
744 | * success. | ||
740 | */ | 745 | */ |
741 | int pwrdm_read_prev_mem_pwrst(struct powerdomain *pwrdm, u8 bank) | 746 | int pwrdm_read_prev_mem_pwrst(struct powerdomain *pwrdm, u8 bank) |
742 | { | 747 | { |
@@ -783,10 +788,10 @@ int pwrdm_read_prev_mem_pwrst(struct powerdomain *pwrdm, u8 bank) | |||
783 | * pwrdm_clear_all_prev_pwrst - clear previous powerstate register for a pwrdm | 788 | * pwrdm_clear_all_prev_pwrst - clear previous powerstate register for a pwrdm |
784 | * @pwrdm: struct powerdomain * to clear | 789 | * @pwrdm: struct powerdomain * to clear |
785 | * | 790 | * |
786 | * Clear the powerdomain's previous power state register. Clears the | 791 | * Clear the powerdomain's previous power state register @pwrdm. |
787 | * entire register, including logic and memory bank previous power states. | 792 | * Clears the entire register, including logic and memory bank |
788 | * Returns -EINVAL if the powerdomain pointer is null, or returns 0 upon | 793 | * previous power states. Returns -EINVAL if the powerdomain pointer |
789 | * success. | 794 | * is null, or returns 0 upon success. |
790 | */ | 795 | */ |
791 | int pwrdm_clear_all_prev_pwrst(struct powerdomain *pwrdm) | 796 | int pwrdm_clear_all_prev_pwrst(struct powerdomain *pwrdm) |
792 | { | 797 | { |
@@ -811,11 +816,11 @@ int pwrdm_clear_all_prev_pwrst(struct powerdomain *pwrdm) | |||
811 | * @pwrdm: struct powerdomain * | 816 | * @pwrdm: struct powerdomain * |
812 | * | 817 | * |
813 | * Enable automatic context save-and-restore upon power state change | 818 | * Enable automatic context save-and-restore upon power state change |
814 | * for some devices in a powerdomain. Warning: this only affects a | 819 | * for some devices in the powerdomain @pwrdm. Warning: this only |
815 | * subset of devices in a powerdomain; check the TRM closely. Returns | 820 | * affects a subset of devices in a powerdomain; check the TRM |
816 | * -EINVAL if the powerdomain pointer is null or if the powerdomain | 821 | * closely. Returns -EINVAL if the powerdomain pointer is null or if |
817 | * does not support automatic save-and-restore, or returns 0 upon | 822 | * the powerdomain does not support automatic save-and-restore, or |
818 | * success. | 823 | * returns 0 upon success. |
819 | */ | 824 | */ |
820 | int pwrdm_enable_hdwr_sar(struct powerdomain *pwrdm) | 825 | int pwrdm_enable_hdwr_sar(struct powerdomain *pwrdm) |
821 | { | 826 | { |
@@ -839,11 +844,11 @@ int pwrdm_enable_hdwr_sar(struct powerdomain *pwrdm) | |||
839 | * @pwrdm: struct powerdomain * | 844 | * @pwrdm: struct powerdomain * |
840 | * | 845 | * |
841 | * Disable automatic context save-and-restore upon power state change | 846 | * Disable automatic context save-and-restore upon power state change |
842 | * for some devices in a powerdomain. Warning: this only affects a | 847 | * for some devices in the powerdomain @pwrdm. Warning: this only |
843 | * subset of devices in a powerdomain; check the TRM closely. Returns | 848 | * affects a subset of devices in a powerdomain; check the TRM |
844 | * -EINVAL if the powerdomain pointer is null or if the powerdomain | 849 | * closely. Returns -EINVAL if the powerdomain pointer is null or if |
845 | * does not support automatic save-and-restore, or returns 0 upon | 850 | * the powerdomain does not support automatic save-and-restore, or |
846 | * success. | 851 | * returns 0 upon success. |
847 | */ | 852 | */ |
848 | int pwrdm_disable_hdwr_sar(struct powerdomain *pwrdm) | 853 | int pwrdm_disable_hdwr_sar(struct powerdomain *pwrdm) |
849 | { | 854 | { |
@@ -866,7 +871,7 @@ int pwrdm_disable_hdwr_sar(struct powerdomain *pwrdm) | |||
866 | * pwrdm_has_hdwr_sar - test whether powerdomain supports hardware SAR | 871 | * pwrdm_has_hdwr_sar - test whether powerdomain supports hardware SAR |
867 | * @pwrdm: struct powerdomain * | 872 | * @pwrdm: struct powerdomain * |
868 | * | 873 | * |
869 | * Returns 1 if powerdomain 'pwrdm' supports hardware save-and-restore | 874 | * Returns 1 if powerdomain @pwrdm supports hardware save-and-restore |
870 | * for some devices, or 0 if it does not. | 875 | * for some devices, or 0 if it does not. |
871 | */ | 876 | */ |
872 | bool pwrdm_has_hdwr_sar(struct powerdomain *pwrdm) | 877 | bool pwrdm_has_hdwr_sar(struct powerdomain *pwrdm) |
@@ -878,7 +883,7 @@ bool pwrdm_has_hdwr_sar(struct powerdomain *pwrdm) | |||
878 | * pwrdm_wait_transition - wait for powerdomain power transition to finish | 883 | * pwrdm_wait_transition - wait for powerdomain power transition to finish |
879 | * @pwrdm: struct powerdomain * to wait for | 884 | * @pwrdm: struct powerdomain * to wait for |
880 | * | 885 | * |
881 | * If the powerdomain pwrdm is in the process of a state transition, | 886 | * If the powerdomain @pwrdm is in the process of a state transition, |
882 | * spin until it completes the power transition, or until an iteration | 887 | * spin until it completes the power transition, or until an iteration |
883 | * bailout value is reached. Returns -EINVAL if the powerdomain | 888 | * bailout value is reached. Returns -EINVAL if the powerdomain |
884 | * pointer is null, -EAGAIN if the bailout value was reached, or | 889 | * pointer is null, -EAGAIN if the bailout value was reached, or |
diff --git a/arch/arm/plat-omap/include/plat/clockdomain.h b/arch/arm/plat-omap/include/plat/clockdomain.h index 45b5debc5d3f..ba0a6c07c0fe 100644 --- a/arch/arm/plat-omap/include/plat/clockdomain.h +++ b/arch/arm/plat-omap/include/plat/clockdomain.h | |||
@@ -40,86 +40,77 @@ | |||
40 | #define OMAP34XX_CLKSTCTRL_FORCE_WAKEUP 0x2 | 40 | #define OMAP34XX_CLKSTCTRL_FORCE_WAKEUP 0x2 |
41 | #define OMAP34XX_CLKSTCTRL_ENABLE_AUTO 0x3 | 41 | #define OMAP34XX_CLKSTCTRL_ENABLE_AUTO 0x3 |
42 | 42 | ||
43 | /* | 43 | /** |
44 | * struct clkdm_autodep - a clockdomain that should have wkdeps | 44 | * struct clkdm_autodep - clkdm deps to add when entering/exiting hwsup mode |
45 | * and sleepdeps added when a clockdomain should stay active in hwsup mode; | 45 | * @clkdm: clockdomain to add wkdep+sleepdep on - set name member only |
46 | * and conversely, removed when the clockdomain should be allowed to go | 46 | * @omap_chip: OMAP chip types that this autodep is valid on |
47 | * inactive in hwsup mode. | 47 | * |
48 | * A clockdomain that should have wkdeps and sleepdeps added when a | ||
49 | * clockdomain should stay active in hwsup mode; and conversely, | ||
50 | * removed when the clockdomain should be allowed to go inactive in | ||
51 | * hwsup mode. | ||
52 | * | ||
53 | * Autodeps are deprecated and should be removed after | ||
54 | * omap_hwmod-based fine-grained module idle control is added. | ||
48 | */ | 55 | */ |
49 | struct clkdm_autodep { | 56 | struct clkdm_autodep { |
50 | |||
51 | union { | 57 | union { |
52 | /* Name of the clockdomain to add a wkdep/sleepdep on */ | ||
53 | const char *name; | 58 | const char *name; |
54 | |||
55 | /* Clockdomain pointer (looked up at clkdm_init() time) */ | ||
56 | struct clockdomain *ptr; | 59 | struct clockdomain *ptr; |
57 | } clkdm; | 60 | } clkdm; |
58 | |||
59 | /* OMAP chip types that this clockdomain dep is valid on */ | ||
60 | const struct omap_chip_id omap_chip; | 61 | const struct omap_chip_id omap_chip; |
61 | |||
62 | }; | 62 | }; |
63 | 63 | ||
64 | /* Encodes dependencies between clockdomains - statically defined */ | 64 | /** |
65 | * struct clkdm_dep - encode dependencies between clockdomains | ||
66 | * @clkdm_name: clockdomain name | ||
67 | * @clkdm: pointer to the struct clockdomain of @clkdm_name | ||
68 | * @omap_chip: OMAP chip types that this dependency is valid on | ||
69 | * @wkdep_usecount: Number of wakeup dependencies causing this clkdm to wake | ||
70 | * @sleepdep_usecount: Number of sleep deps that could prevent clkdm from idle | ||
71 | * | ||
72 | * Statically defined. @clkdm is resolved from @clkdm_name at runtime and | ||
73 | * should not be pre-initialized. | ||
74 | * | ||
75 | * XXX Should also include hardware (fixed) dependencies. | ||
76 | */ | ||
65 | struct clkdm_dep { | 77 | struct clkdm_dep { |
66 | |||
67 | /* Clockdomain name */ | ||
68 | const char *clkdm_name; | 78 | const char *clkdm_name; |
69 | |||
70 | /* Clockdomain pointer - resolved by the clockdomain code */ | ||
71 | struct clockdomain *clkdm; | 79 | struct clockdomain *clkdm; |
72 | |||
73 | /* Number of wakeup dependencies causing this clkdm to wake */ | ||
74 | atomic_t wkdep_usecount; | 80 | atomic_t wkdep_usecount; |
75 | |||
76 | /* Number of sleep dependencies that could prevent clkdm from idle */ | ||
77 | atomic_t sleepdep_usecount; | 81 | atomic_t sleepdep_usecount; |
78 | |||
79 | /* Flags to mark OMAP chip restrictions, etc. */ | ||
80 | const struct omap_chip_id omap_chip; | 82 | const struct omap_chip_id omap_chip; |
81 | |||
82 | }; | 83 | }; |
83 | 84 | ||
85 | /** | ||
86 | * struct clockdomain - OMAP clockdomain | ||
87 | * @name: clockdomain name | ||
88 | * @pwrdm: powerdomain containing this clockdomain | ||
89 | * @clktrctrl_reg: CLKSTCTRL reg for the given clock domain | ||
90 | * @clktrctrl_mask: CLKTRCTRL/AUTOSTATE field mask in CM_CLKSTCTRL reg | ||
91 | * @flags: Clockdomain capability flags | ||
92 | * @dep_bit: Bit shift of this clockdomain's PM_WKDEP/CM_SLEEPDEP bit | ||
93 | * @wkdep_srcs: Clockdomains that can be told to wake this powerdomain up | ||
94 | * @sleepdep_srcs: Clockdomains that can be told to keep this clkdm from inact | ||
95 | * @omap_chip: OMAP chip types that this clockdomain is valid on | ||
96 | * @usecount: Usecount tracking | ||
97 | * @node: list_head to link all clockdomains together | ||
98 | */ | ||
84 | struct clockdomain { | 99 | struct clockdomain { |
85 | |||
86 | /* Clockdomain name */ | ||
87 | const char *name; | 100 | const char *name; |
88 | |||
89 | union { | 101 | union { |
90 | /* Powerdomain enclosing this clockdomain */ | ||
91 | const char *name; | 102 | const char *name; |
92 | |||
93 | /* Powerdomain pointer assigned at clkdm_register() */ | ||
94 | struct powerdomain *ptr; | 103 | struct powerdomain *ptr; |
95 | } pwrdm; | 104 | } pwrdm; |
96 | |||
97 | /* CLKSTCTRL reg for the given clock domain*/ | ||
98 | void __iomem *clkstctrl_reg; | 105 | void __iomem *clkstctrl_reg; |
99 | |||
100 | /* CLKTRCTRL/AUTOSTATE field mask in CM_CLKSTCTRL reg */ | ||
101 | const u16 clktrctrl_mask; | 106 | const u16 clktrctrl_mask; |
102 | |||
103 | /* Clockdomain capability flags */ | ||
104 | const u8 flags; | 107 | const u8 flags; |
105 | |||
106 | /* Bit shift of this clockdomain's PM_WKDEP/CM_SLEEPDEP bit */ | ||
107 | const u8 dep_bit; | 108 | const u8 dep_bit; |
108 | |||
109 | /* Clockdomains that can be told to wake this powerdomain up */ | ||
110 | struct clkdm_dep *wkdep_srcs; | 109 | struct clkdm_dep *wkdep_srcs; |
111 | |||
112 | /* Clockdomains that can be told to keep this clkdm from inactivity */ | ||
113 | struct clkdm_dep *sleepdep_srcs; | 110 | struct clkdm_dep *sleepdep_srcs; |
114 | |||
115 | /* OMAP chip types that this clockdomain is valid on */ | ||
116 | const struct omap_chip_id omap_chip; | 111 | const struct omap_chip_id omap_chip; |
117 | |||
118 | /* Usecount tracking */ | ||
119 | atomic_t usecount; | 112 | atomic_t usecount; |
120 | |||
121 | struct list_head node; | 113 | struct list_head node; |
122 | |||
123 | }; | 114 | }; |
124 | 115 | ||
125 | void clkdm_init(struct clockdomain **clkdms, struct clkdm_autodep *autodeps); | 116 | void clkdm_init(struct clockdomain **clkdms, struct clkdm_autodep *autodeps); |
diff --git a/arch/arm/plat-omap/include/plat/powerdomain.h b/arch/arm/plat-omap/include/plat/powerdomain.h index 87e13f88994f..e15c7e9da975 100644 --- a/arch/arm/plat-omap/include/plat/powerdomain.h +++ b/arch/arm/plat-omap/include/plat/powerdomain.h | |||
@@ -68,40 +68,36 @@ | |||
68 | struct clockdomain; | 68 | struct clockdomain; |
69 | struct powerdomain; | 69 | struct powerdomain; |
70 | 70 | ||
71 | /** | ||
72 | * struct powerdomain - OMAP powerdomain | ||
73 | * @name: Powerdomain name | ||
74 | * @omap_chip: represents the OMAP chip types containing this pwrdm | ||
75 | * @prcm_offs: the address offset from CM_BASE/PRM_BASE | ||
76 | * @pwrsts: Possible powerdomain power states | ||
77 | * @pwrsts_logic_ret: Possible logic power states when pwrdm in RETENTION | ||
78 | * @flags: Powerdomain flags | ||
79 | * @banks: Number of software-controllable memory banks in this powerdomain | ||
80 | * @pwrsts_mem_ret: Possible memory bank pwrstates when pwrdm in RETENTION | ||
81 | * @pwrsts_mem_on: Possible memory bank pwrstates when pwrdm in ON | ||
82 | * @pwrdm_clkdms: Clockdomains in this powerdomain | ||
83 | * @node: list_head linking all powerdomains | ||
84 | * @state: | ||
85 | * @state_counter: | ||
86 | * @timer: | ||
87 | * @state_timer: | ||
88 | */ | ||
71 | struct powerdomain { | 89 | struct powerdomain { |
72 | |||
73 | /* Powerdomain name */ | ||
74 | const char *name; | 90 | const char *name; |
75 | |||
76 | /* Used to represent the OMAP chip types containing this pwrdm */ | ||
77 | const struct omap_chip_id omap_chip; | 91 | const struct omap_chip_id omap_chip; |
78 | |||
79 | /* the address offset from CM_BASE/PRM_BASE */ | ||
80 | const s16 prcm_offs; | 92 | const s16 prcm_offs; |
81 | |||
82 | /* Possible powerdomain power states */ | ||
83 | const u8 pwrsts; | 93 | const u8 pwrsts; |
84 | |||
85 | /* Possible logic power states when pwrdm in RETENTION */ | ||
86 | const u8 pwrsts_logic_ret; | 94 | const u8 pwrsts_logic_ret; |
87 | |||
88 | /* Powerdomain flags */ | ||
89 | const u8 flags; | 95 | const u8 flags; |
90 | |||
91 | /* Number of software-controllable memory banks in this powerdomain */ | ||
92 | const u8 banks; | 96 | const u8 banks; |
93 | |||
94 | /* Possible memory bank pwrstates when pwrdm in RETENTION */ | ||
95 | const u8 pwrsts_mem_ret[PWRDM_MAX_MEM_BANKS]; | 97 | const u8 pwrsts_mem_ret[PWRDM_MAX_MEM_BANKS]; |
96 | |||
97 | /* Possible memory bank pwrstates when pwrdm is ON */ | ||
98 | const u8 pwrsts_mem_on[PWRDM_MAX_MEM_BANKS]; | 98 | const u8 pwrsts_mem_on[PWRDM_MAX_MEM_BANKS]; |
99 | |||
100 | /* Clockdomains in this powerdomain */ | ||
101 | struct clockdomain *pwrdm_clkdms[PWRDM_MAX_CLKDMS]; | 99 | struct clockdomain *pwrdm_clkdms[PWRDM_MAX_CLKDMS]; |
102 | |||
103 | struct list_head node; | 100 | struct list_head node; |
104 | |||
105 | int state; | 101 | int state; |
106 | unsigned state_counter[PWRDM_MAX_PWRSTS]; | 102 | unsigned state_counter[PWRDM_MAX_PWRSTS]; |
107 | 103 | ||