Lines Matching refs:mrst
146 struct mrst_rtc *mrst = dev_get_drvdata(dev); in mrst_read_alarm() local
149 if (mrst->irq <= 0) in mrst_read_alarm()
175 static void mrst_checkintr(struct mrst_rtc *mrst, unsigned char rtc_control) in mrst_checkintr() argument
186 rtc_update_irq(mrst->rtc, 1, rtc_intr); in mrst_checkintr()
189 static void mrst_irq_enable(struct mrst_rtc *mrst, unsigned char mask) in mrst_irq_enable() argument
198 mrst_checkintr(mrst, rtc_control); in mrst_irq_enable()
203 mrst_checkintr(mrst, rtc_control); in mrst_irq_enable()
206 static void mrst_irq_disable(struct mrst_rtc *mrst, unsigned char mask) in mrst_irq_disable() argument
213 mrst_checkintr(mrst, rtc_control); in mrst_irq_disable()
218 struct mrst_rtc *mrst = dev_get_drvdata(dev); in mrst_set_alarm() local
222 if (!mrst->irq) in mrst_set_alarm()
231 mrst_irq_disable(mrst, RTC_AIE); in mrst_set_alarm()
246 mrst_irq_enable(mrst, RTC_AIE); in mrst_set_alarm()
256 struct mrst_rtc *mrst = dev_get_drvdata(dev); in mrst_rtc_alarm_irq_enable() local
261 mrst_irq_enable(mrst, RTC_AIE); in mrst_rtc_alarm_irq_enable()
263 mrst_irq_disable(mrst, RTC_AIE); in mrst_rtc_alarm_irq_enable()
400 struct mrst_rtc *mrst = dev_get_drvdata(dev); in rtc_mrst_do_remove() local
405 if (mrst->irq) in rtc_mrst_do_remove()
406 free_irq(mrst->irq, mrst->rtc); in rtc_mrst_do_remove()
408 rtc_device_unregister(mrst->rtc); in rtc_mrst_do_remove()
409 mrst->rtc = NULL; in rtc_mrst_do_remove()
411 iomem = mrst->iomem; in rtc_mrst_do_remove()
413 mrst->iomem = NULL; in rtc_mrst_do_remove()
415 mrst->dev = NULL; in rtc_mrst_do_remove()
421 struct mrst_rtc *mrst = dev_get_drvdata(dev); in mrst_suspend() local
426 mrst->suspend_ctrl = tmp = vrtc_cmos_read(RTC_CONTROL); in mrst_suspend()
437 mrst_checkintr(mrst, tmp); in mrst_suspend()
442 mrst->enabled_wake = 1; in mrst_suspend()
443 enable_irq_wake(mrst->irq); in mrst_suspend()
463 struct mrst_rtc *mrst = dev_get_drvdata(dev); in mrst_resume() local
464 unsigned char tmp = mrst->suspend_ctrl; in mrst_resume()
470 if (mrst->enabled_wake) { in mrst_resume()
471 disable_irq_wake(mrst->irq); in mrst_resume()
472 mrst->enabled_wake = 0; in mrst_resume()
484 rtc_update_irq(mrst->rtc, 1, mask); in mrst_resume()