time_to_menelaus() and menelaus_to_time() are static and can easily receive a struct menelaus_chip pointer argument. After this patch, the_menelaus is only used on exported functions which are currently being used by board-n8x0.c. Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> --- drivers/mfd/menelaus.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/drivers/mfd/menelaus.c b/drivers/mfd/menelaus.c index 13d1cb0..aa3c579 100644 --- a/drivers/mfd/menelaus.c +++ b/drivers/mfd/menelaus.c @@ -857,10 +857,9 @@ static irqreturn_t menelaus_irq(int irq, void *_menelaus) #define RTC_HR_PM (1 << 7) -static void menelaus_to_time(char *regs, struct rtc_time *t) +static void menelaus_to_time(struct menelaus_chip *m, + char *regs, struct rtc_time *t) { - struct menelaus_chip *m = the_menelaus; - t->tm_sec = bcd2bin(regs[0]); t->tm_min = bcd2bin(regs[1]); if (m->rtc_control & RTC_CTRL_MODE12) { @@ -874,9 +873,9 @@ static void menelaus_to_time(char *regs, struct rtc_time *t) t->tm_year = bcd2bin(regs[5]) + 100; } -static int time_to_menelaus(struct rtc_time *t, int regnum) +static int time_to_menelaus(struct menelaus_chip *m, + struct rtc_time *t, int regnum) { - struct menelaus_chip *m = the_menelaus; int hour, status; status = menelaus_write_reg(m, regnum++, bin2bcd(t->tm_sec)); @@ -944,7 +943,7 @@ static int menelaus_read_time(struct device *dev, struct rtc_time *t) return -EIO; } - menelaus_to_time(regs, t); + menelaus_to_time(m, regs, t); t->tm_wday = bcd2bin(regs[6]); return 0; @@ -956,7 +955,7 @@ static int menelaus_set_time(struct device *dev, struct rtc_time *t) int status; /* write date and time registers */ - status = time_to_menelaus(t, MENELAUS_RTC_SEC); + status = time_to_menelaus(m, t, MENELAUS_RTC_SEC); if (status < 0) return status; status = menelaus_write_reg(m, MENELAUS_RTC_WKDAY, bin2bcd(t->tm_wday)); @@ -1001,7 +1000,7 @@ static int menelaus_read_alarm(struct device *dev, struct rtc_wkalrm *w) return -EIO; } - menelaus_to_time(regs, &w->time); + menelaus_to_time(m, regs, &w->time); w->enabled = !!(m->rtc_control & RTC_CTRL_AL_EN); @@ -1029,7 +1028,7 @@ static int menelaus_set_alarm(struct device *dev, struct rtc_wkalrm *w) } /* write alarm registers */ - status = time_to_menelaus(&w->time, MENELAUS_RTC_AL_SEC); + status = time_to_menelaus(m, &w->time, MENELAUS_RTC_AL_SEC); if (status < 0) return status; -- 1.8.4.GIT -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html