Source
228
228
rtap->irqmaskstore = readl(rtap->virtbase + COH901331_IRQ_MASK);
229
229
writel(0, rtap->virtbase + COH901331_IRQ_MASK);
230
230
clk_disable(rtap->clk);
231
231
}
232
232
clk_unprepare(rtap->clk);
233
233
return 0;
234
234
}
235
235
236
236
static int coh901331_resume(struct device *dev)
237
237
{
238
+
int ret;
238
239
struct coh901331_port *rtap = dev_get_drvdata(dev);
239
240
240
-
clk_prepare(rtap->clk);
241
+
ret = clk_prepare(rtap->clk);
242
+
if (ret)
243
+
return ret;
244
+
241
245
if (device_may_wakeup(dev)) {
242
246
disable_irq_wake(rtap->irq);
243
247
} else {
244
248
clk_enable(rtap->clk);
245
249
writel(rtap->irqmaskstore, rtap->virtbase + COH901331_IRQ_MASK);
246
250
clk_disable(rtap->clk);
247
251
}
248
252
return 0;
249
253
}
250
254
#endif