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-rpm.c b/arch/arm/mach-msm/clock-rpm.c
index 1326344..286b3d0 100644
--- a/arch/arm/mach-msm/clock-rpm.c
+++ b/arch/arm/mach-msm/clock-rpm.c
@@ -54,6 +54,11 @@
 
 	iv.value = max(this_sleep_khz, peer_sleep_khz);
 	rc = msm_rpmrs_set_noirq(MSM_RPM_CTX_SET_SLEEP, &iv, 1);
+	if (rc) {
+		iv.value = peer_khz;
+		msm_rpmrs_set_noirq(MSM_RPM_CTX_SET_0, &iv, 1);
+	}
+
 out:
 	if (!rc)
 		r->enabled = true;