powerdomain: add pwrdm_get_mem_bank_count()
authorPaul Walmsley <paul@pwsan.com>
Wed, 21 May 2008 00:41:33 +0000 (18:41 -0600)
committerTony Lindgren <tony@atomide.com>
Wed, 28 May 2008 20:40:27 +0000 (13:40 -0700)
Add a function pwrdm_get_mem_bank_count() to the powerdomain code to
return the number of memory banks contained inside an OMAP
powerdomain.  This will be used by the PM code to configure the memory
bank retention state.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/powerdomain.c
include/asm-arm/arch-omap/powerdomain.h

index 94b16d0..3a8dae0 100644 (file)
@@ -588,6 +588,20 @@ int pwrdm_read_sleepdep(struct powerdomain *pwrdm1, struct powerdomain *pwrdm2)
                                        (1 << pwrdm2->dep_bit));
 }
 
+/**
+ * pwrdm_get_mem_bank_count - get number of memory banks in this powerdomain
+ * @pwrdm: struct powerdomain *
+ *
+ * Return the number of controllable memory banks in powerdomain pwrdm,
+ * starting with 1.  Returns -EINVAL if the powerdomain pointer is null.
+ */
+int pwrdm_get_mem_bank_count(struct powerdomain *pwrdm)
+{
+       if (!pwrdm)
+               return -EINVAL;
+
+       return pwrdm->banks;
+}
 
 /**
  * pwrdm_set_next_pwrst - set next powerdomain power state
index 40a054d..39b7df6 100644 (file)
@@ -134,6 +134,8 @@ int pwrdm_add_sleepdep(struct powerdomain *pwrdm1, struct powerdomain *pwrdm2);
 int pwrdm_del_sleepdep(struct powerdomain *pwrdm1, struct powerdomain *pwrdm2);
 int pwrdm_read_sleepdep(struct powerdomain *pwrdm1, struct powerdomain *pwrdm2);
 
+int pwrdm_get_mem_bank_count(struct powerdomain *pwrdm);
+
 int pwrdm_set_next_pwrst(struct powerdomain *pwrdm, u8 pwrst);
 int pwrdm_read_next_pwrst(struct powerdomain *pwrdm);
 int pwrdm_read_pwrst(struct powerdomain *pwrdm);