From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: Thu, 7 Jan 2016 10:49:31 +0000 (+0200)
Subject: PM / clk: don't leave clocks enabled when driver not bound
X-Git-Tag: v4.5-rc1~125^2~13^2
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=d35818a9153e7f230fd65dc935e001a1b9bc08ff;p=linux.git

PM / clk: don't leave clocks enabled when driver not bound

There is a new notification BUS_NOTIFY_DRIVER_NOT_BOUND that is issued when
driver fails during binding. In such case pm_clk_notify(), when PM_CLK=n,
leaves clocks enabled. Undo operations that have been done in
BUS_NOTIFY_BIND_DRIVER case.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---

diff --git a/drivers/base/power/clock_ops.c b/drivers/base/power/clock_ops.c
index 60ee5591ee8f..c39b8617280f 100644
--- a/drivers/base/power/clock_ops.c
+++ b/drivers/base/power/clock_ops.c
@@ -473,6 +473,7 @@ static int pm_clk_notify(struct notifier_block *nb,
 			enable_clock(dev, NULL);
 		}
 		break;
+	case BUS_NOTIFY_DRIVER_NOT_BOUND:
 	case BUS_NOTIFY_UNBOUND_DRIVER:
 		if (clknb->con_ids[0]) {
 			for (con_id = clknb->con_ids; *con_id; con_id++)