diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2016-01-07 05:49:31 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2016-01-07 19:08:27 -0500 |
commit | d35818a9153e7f230fd65dc935e001a1b9bc08ff (patch) | |
tree | 96b701744a1e1f0c196b35b9188a77a6ba3c4d59 /drivers/base/power/clock_ops.c | |
parent | 04a407f6b129b6e35de3250c313976a3a154476e (diff) |
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>
Diffstat (limited to 'drivers/base/power/clock_ops.c')
-rw-r--r-- | drivers/base/power/clock_ops.c | 1 |
1 files changed, 1 insertions, 0 deletions
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, | |||
473 | enable_clock(dev, NULL); | 473 | enable_clock(dev, NULL); |
474 | } | 474 | } |
475 | break; | 475 | break; |
476 | case BUS_NOTIFY_DRIVER_NOT_BOUND: | ||
476 | case BUS_NOTIFY_UNBOUND_DRIVER: | 477 | case BUS_NOTIFY_UNBOUND_DRIVER: |
477 | if (clknb->con_ids[0]) { | 478 | if (clknb->con_ids[0]) { |
478 | for (con_id = clknb->con_ids; *con_id; con_id++) | 479 | for (con_id = clknb->con_ids; *con_id; con_id++) |