diff options
Diffstat (limited to 'drivers/rtc/rtc-max8907.c')
| -rw-r--r-- | drivers/rtc/rtc-max8907.c | 11 | 
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/rtc/rtc-max8907.c b/drivers/rtc/rtc-max8907.c index 8e45b3c4aa2..3032178bd9e 100644 --- a/drivers/rtc/rtc-max8907.c +++ b/drivers/rtc/rtc-max8907.c @@ -51,7 +51,7 @@ static irqreturn_t max8907_irq_handler(int irq, void *data)  {  	struct max8907_rtc *rtc = data; -	regmap_update_bits(rtc->regmap, MAX8907_REG_ALARM0_CNTL, 0x7f, 0); +	regmap_write(rtc->regmap, MAX8907_REG_ALARM0_CNTL, 0);  	rtc_update_irq(rtc->rtc_dev, 1, RTC_IRQF | RTC_AF); @@ -64,7 +64,7 @@ static void regs_to_tm(u8 *regs, struct rtc_time *tm)  		bcd2bin(regs[RTC_YEAR1]) - 1900;  	tm->tm_mon = bcd2bin(regs[RTC_MONTH] & 0x1f) - 1;  	tm->tm_mday = bcd2bin(regs[RTC_DATE] & 0x3f); -	tm->tm_wday = (regs[RTC_WEEKDAY] & 0x07) - 1; +	tm->tm_wday = (regs[RTC_WEEKDAY] & 0x07);  	if (regs[RTC_HOUR] & HOUR_12) {  		tm->tm_hour = bcd2bin(regs[RTC_HOUR] & 0x01f);  		if (tm->tm_hour == 12) @@ -88,7 +88,7 @@ static void tm_to_regs(struct rtc_time *tm, u8 *regs)  	regs[RTC_YEAR1] = bin2bcd(low);  	regs[RTC_MONTH] = bin2bcd(tm->tm_mon + 1);  	regs[RTC_DATE] = bin2bcd(tm->tm_mday); -	regs[RTC_WEEKDAY] = tm->tm_wday + 1; +	regs[RTC_WEEKDAY] = tm->tm_wday;  	regs[RTC_HOUR] = bin2bcd(tm->tm_hour);  	regs[RTC_MIN] = bin2bcd(tm->tm_min);  	regs[RTC_SEC] = bin2bcd(tm->tm_sec); @@ -153,7 +153,7 @@ static int max8907_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)  	tm_to_regs(&alrm->time, regs);  	/* Disable alarm while we update the target time */ -	ret = regmap_update_bits(rtc->regmap, MAX8907_REG_ALARM0_CNTL, 0x7f, 0); +	ret = regmap_write(rtc->regmap, MAX8907_REG_ALARM0_CNTL, 0);  	if (ret < 0)  		return ret; @@ -163,8 +163,7 @@ static int max8907_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)  		return ret;  	if (alrm->enabled) -		ret = regmap_update_bits(rtc->regmap, MAX8907_REG_ALARM0_CNTL, -					 0x7f, 0x7f); +		ret = regmap_write(rtc->regmap, MAX8907_REG_ALARM0_CNTL, 0x77);  	return ret;  }  | 
