[PATCH 03/05] ARM: mach-shmobile: sh7372 late pm domain off

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Magnus Damm <damm@xxxxxxxxxxxxx>

Add sh7372 specific code to power down unused pm domains.

This should really be replaced by some generic PM core
code IMO, but until that happens this patch makes sure
we don't waste power by leaving unused power domains on.

Signed-off-by: Magnus Damm <damm@xxxxxxxxxxxxx>
---

 arch/arm/mach-shmobile/pm-sh7372.c |   13 +++++++++++++
 1 file changed, 13 insertions(+)

--- 0005/arch/arm/mach-shmobile/pm-sh7372.c
+++ work/arch/arm/mach-shmobile/pm-sh7372.c	2011-07-07 20:15:19.000000000 +0900
@@ -96,6 +96,17 @@ static bool pd_active_wakeup(struct devi
 	return true;
 }
 
+static void sh7372_late_pm_domain_off(void)
+{
+	/* request power down of unused pm domains */
+	queue_work(pm_wq, &sh7372_a4lc.genpd.power_off_work);
+	queue_work(pm_wq, &sh7372_a4mp.genpd.power_off_work);
+	queue_work(pm_wq, &sh7372_d4.genpd.power_off_work);
+	queue_work(pm_wq, &sh7372_a3rv.genpd.power_off_work);
+	queue_work(pm_wq, &sh7372_a3ri.genpd.power_off_work);
+	queue_work(pm_wq, &sh7372_a3sg.genpd.power_off_work);
+}
+
 void sh7372_init_pm_domain(struct sh7372_pm_domain *sh7372_pd)
 {
 	struct generic_pm_domain *genpd = &sh7372_pd->genpd;
@@ -107,6 +118,8 @@ void sh7372_init_pm_domain(struct sh7372
 	genpd->power_off = pd_power_down;
 	genpd->power_on = pd_power_up;
 	pd_power_up(&sh7372_pd->genpd);
+
+	shmobile_runtime_pm_late_init = sh7372_late_pm_domain_off;
 }
 
 void sh7372_add_device_to_domain(struct sh7372_pm_domain *sh7372_pd,
_______________________________________________
linux-pm mailing list
linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/linux-pm


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux