Commit 35d9c472 authored by Johan Hovold's avatar Johan Hovold Committed by Alexandre Belloni

rtc: pm8xxx: use u32 for timestamps

The PMIC RTC registers are 32-bit so explicitly use u32 rather than
unsigned long for timestamps to reflect the hardware.

This will also help avoid unintentional range extensions when adding
support for managing an external offset.
Signed-off-by: default avatarJohan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20230202155448.6715-13-johan+linaro@kernel.orgSigned-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent 3c332639
...@@ -74,7 +74,7 @@ static int pm8xxx_rtc_set_time(struct device *dev, struct rtc_time *tm) ...@@ -74,7 +74,7 @@ static int pm8xxx_rtc_set_time(struct device *dev, struct rtc_time *tm)
const struct pm8xxx_rtc_regs *regs = rtc_dd->regs; const struct pm8xxx_rtc_regs *regs = rtc_dd->regs;
u8 value[NUM_8_BIT_RTC_REGS]; u8 value[NUM_8_BIT_RTC_REGS];
bool alarm_enabled; bool alarm_enabled;
unsigned long secs; u32 secs;
int rc; int rc;
if (!rtc_dd->allow_set_time) if (!rtc_dd->allow_set_time)
...@@ -83,7 +83,7 @@ static int pm8xxx_rtc_set_time(struct device *dev, struct rtc_time *tm) ...@@ -83,7 +83,7 @@ static int pm8xxx_rtc_set_time(struct device *dev, struct rtc_time *tm)
secs = rtc_tm_to_time64(tm); secs = rtc_tm_to_time64(tm);
put_unaligned_le32(secs, value); put_unaligned_le32(secs, value);
dev_dbg(dev, "set time: %ptRd %ptRt (%lu)\n", tm, tm, secs); dev_dbg(dev, "set time: %ptRd %ptRt (%u)\n", tm, tm, secs);
rc = regmap_update_bits_check(rtc_dd->regmap, regs->alarm_ctrl, rc = regmap_update_bits_check(rtc_dd->regmap, regs->alarm_ctrl,
regs->alarm_en, 0, &alarm_enabled); regs->alarm_en, 0, &alarm_enabled);
...@@ -131,10 +131,10 @@ static int pm8xxx_rtc_read_time(struct device *dev, struct rtc_time *tm) ...@@ -131,10 +131,10 @@ static int pm8xxx_rtc_read_time(struct device *dev, struct rtc_time *tm)
{ {
int rc; int rc;
u8 value[NUM_8_BIT_RTC_REGS]; u8 value[NUM_8_BIT_RTC_REGS];
unsigned long secs;
unsigned int reg; unsigned int reg;
struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev); struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev);
const struct pm8xxx_rtc_regs *regs = rtc_dd->regs; const struct pm8xxx_rtc_regs *regs = rtc_dd->regs;
u32 secs;
rc = regmap_bulk_read(rtc_dd->regmap, regs->read, value, sizeof(value)); rc = regmap_bulk_read(rtc_dd->regmap, regs->read, value, sizeof(value));
if (rc) if (rc)
...@@ -158,7 +158,7 @@ static int pm8xxx_rtc_read_time(struct device *dev, struct rtc_time *tm) ...@@ -158,7 +158,7 @@ static int pm8xxx_rtc_read_time(struct device *dev, struct rtc_time *tm)
secs = get_unaligned_le32(value); secs = get_unaligned_le32(value);
rtc_time64_to_tm(secs, tm); rtc_time64_to_tm(secs, tm);
dev_dbg(dev, "read time: %ptRd %ptRt (%lu)\n", tm, tm, secs); dev_dbg(dev, "read time: %ptRd %ptRt (%u)\n", tm, tm, secs);
return 0; return 0;
} }
...@@ -168,7 +168,7 @@ static int pm8xxx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alarm) ...@@ -168,7 +168,7 @@ static int pm8xxx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
u8 value[NUM_8_BIT_RTC_REGS]; u8 value[NUM_8_BIT_RTC_REGS];
struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev); struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev);
const struct pm8xxx_rtc_regs *regs = rtc_dd->regs; const struct pm8xxx_rtc_regs *regs = rtc_dd->regs;
unsigned long secs; u32 secs;
int rc; int rc;
secs = rtc_tm_to_time64(&alarm->time); secs = rtc_tm_to_time64(&alarm->time);
...@@ -201,9 +201,9 @@ static int pm8xxx_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alarm) ...@@ -201,9 +201,9 @@ static int pm8xxx_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alarm)
int rc; int rc;
unsigned int ctrl_reg; unsigned int ctrl_reg;
u8 value[NUM_8_BIT_RTC_REGS]; u8 value[NUM_8_BIT_RTC_REGS];
unsigned long secs;
struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev); struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev);
const struct pm8xxx_rtc_regs *regs = rtc_dd->regs; const struct pm8xxx_rtc_regs *regs = rtc_dd->regs;
u32 secs;
rc = regmap_bulk_read(rtc_dd->regmap, regs->alarm_rw, value, rc = regmap_bulk_read(rtc_dd->regmap, regs->alarm_rw, value,
sizeof(value)); sizeof(value));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment