msm: clock-rpm: Support clock dependencies for enable/disable
In order to do this, we must fix up rpm_clk_enable() to properly
roll back RPM calls in the event of errors. Otherwise, the
dependency could be disabled while an RPM clock needing it is
still enabled.
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
diff --git a/arch/arm/mach-msm/clock-8x60.c b/arch/arm/mach-msm/clock-8x60.c
index fe56dd9..a1bf439 100644
--- a/arch/arm/mach-msm/clock-8x60.c
+++ b/arch/arm/mach-msm/clock-8x60.c
@@ -3096,15 +3096,15 @@
},
};
-DEFINE_CLK_RPM(afab_clk, afab_a_clk, APPS_FABRIC);
-DEFINE_CLK_RPM(cfpb_clk, cfpb_a_clk, CFPB);
-DEFINE_CLK_RPM(dfab_clk, dfab_a_clk, DAYTONA_FABRIC);
-DEFINE_CLK_RPM(ebi1_clk, ebi1_a_clk, EBI1);
-DEFINE_CLK_RPM(mmfab_clk, mmfab_a_clk, MM_FABRIC);
-DEFINE_CLK_RPM(mmfpb_clk, mmfpb_a_clk, MMFPB);
-DEFINE_CLK_RPM(sfab_clk, sfab_a_clk, SYSTEM_FABRIC);
-DEFINE_CLK_RPM(sfpb_clk, sfpb_a_clk, SFPB);
-DEFINE_CLK_RPM(smi_clk, smi_a_clk, SMI);
+DEFINE_CLK_RPM(afab_clk, afab_a_clk, APPS_FABRIC, NULL);
+DEFINE_CLK_RPM(cfpb_clk, cfpb_a_clk, CFPB, NULL);
+DEFINE_CLK_RPM(dfab_clk, dfab_a_clk, DAYTONA_FABRIC, NULL);
+DEFINE_CLK_RPM(ebi1_clk, ebi1_a_clk, EBI1, NULL);
+DEFINE_CLK_RPM(mmfab_clk, mmfab_a_clk, MM_FABRIC, NULL);
+DEFINE_CLK_RPM(mmfpb_clk, mmfpb_a_clk, MMFPB, NULL);
+DEFINE_CLK_RPM(sfab_clk, sfab_a_clk, SYSTEM_FABRIC, NULL);
+DEFINE_CLK_RPM(sfpb_clk, sfpb_a_clk, SFPB, NULL);
+DEFINE_CLK_RPM(smi_clk, smi_a_clk, SMI, NULL);
static DEFINE_CLK_VOTER(dfab_dsps_clk, &dfab_clk.c);
static DEFINE_CLK_VOTER(dfab_usb_hs_clk, &dfab_clk.c);