Merge tag 'platform-drivers-x86-v4.3-2' of git://git.infradead.org/users/dvhart/linux...
[firefly-linux-kernel-4.4.55.git] / drivers / rtc / rtc-s5m.c
index 8c70d785ba739c314221fb98fe2533e160ee3180..f2504b4eef3455297b6b9ac7d38f4e6889834be8 100644 (file)
@@ -635,6 +635,16 @@ static int s5m8767_rtc_init_reg(struct s5m_rtc_info *info)
        case S2MPS13X:
                data[0] = (0 << BCD_EN_SHIFT) | (1 << MODEL24_SHIFT);
                ret = regmap_write(info->regmap, info->regs->ctrl, data[0]);
+               if (ret < 0)
+                       break;
+
+               /*
+                * Should set WUDR & (RUDR or AUDR) bits to high after writing
+                * RTC_CTRL register like writing Alarm registers. We can't find
+                * the description from datasheet but vendor code does that
+                * really.
+                */
+               ret = s5m8767_rtc_set_alarm_reg(info);
                break;
 
        default:
@@ -797,6 +807,7 @@ static const struct platform_device_id s5m_rtc_id[] = {
        { "s2mps14-rtc",        S2MPS14X },
        { },
 };
+MODULE_DEVICE_TABLE(platform, s5m_rtc_id);
 
 static struct platform_driver s5m_rtc_driver = {
        .driver         = {