wm831x_rtc
struct wm831x_rtc *wm831x_rtc = dev_get_drvdata(dev);
struct wm831x *wm831x = wm831x_rtc->wm831x;
struct wm831x_rtc *wm831x_rtc = dev_get_drvdata(dev);
struct wm831x *wm831x = wm831x_rtc->wm831x;
struct wm831x_rtc *wm831x_rtc = dev_get_drvdata(dev);
ret = wm831x_bulk_read(wm831x_rtc->wm831x, WM831X_RTC_ALARM_1,
ret = wm831x_reg_read(wm831x_rtc->wm831x, WM831X_RTC_CONTROL);
static int wm831x_rtc_stop_alarm(struct wm831x_rtc *wm831x_rtc)
wm831x_rtc->alarm_enabled = 0;
return wm831x_set_bits(wm831x_rtc->wm831x, WM831X_RTC_CONTROL,
static int wm831x_rtc_start_alarm(struct wm831x_rtc *wm831x_rtc)
wm831x_rtc->alarm_enabled = 1;
return wm831x_set_bits(wm831x_rtc->wm831x, WM831X_RTC_CONTROL,
struct wm831x_rtc *wm831x_rtc = dev_get_drvdata(dev);
struct wm831x *wm831x = wm831x_rtc->wm831x;
ret = wm831x_rtc_stop_alarm(wm831x_rtc);
ret = wm831x_rtc_start_alarm(wm831x_rtc);
struct wm831x_rtc *wm831x_rtc = dev_get_drvdata(dev);
return wm831x_rtc_start_alarm(wm831x_rtc);
return wm831x_rtc_stop_alarm(wm831x_rtc);
struct wm831x_rtc *wm831x_rtc = data;
rtc_update_irq(wm831x_rtc->rtc, 1, RTC_IRQF | RTC_AF);
struct wm831x_rtc *wm831x_rtc = dev_get_drvdata(dev);
if (wm831x_rtc->alarm_enabled && device_may_wakeup(dev))
ret = wm831x_set_bits(wm831x_rtc->wm831x, WM831X_RTC_CONTROL,
struct wm831x_rtc *wm831x_rtc = dev_get_drvdata(dev);
if (wm831x_rtc->alarm_enabled) {
ret = wm831x_rtc_start_alarm(wm831x_rtc);
struct wm831x_rtc *wm831x_rtc = dev_get_drvdata(dev);
ret = wm831x_set_bits(wm831x_rtc->wm831x, WM831X_RTC_CONTROL,
struct wm831x_rtc *wm831x_rtc;
wm831x_rtc = devm_kzalloc(&pdev->dev, sizeof(*wm831x_rtc), GFP_KERNEL);
if (wm831x_rtc == NULL)
platform_set_drvdata(pdev, wm831x_rtc);
wm831x_rtc->wm831x = wm831x;
wm831x_rtc->alarm_enabled = 1;
wm831x_rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
if (IS_ERR(wm831x_rtc->rtc))
return PTR_ERR(wm831x_rtc->rtc);
wm831x_rtc->rtc->ops = &wm831x_rtc_ops;
wm831x_rtc->rtc->range_max = U32_MAX;
ret = devm_rtc_register_device(wm831x_rtc->rtc);
wm831x_rtc);