[PATCH v3 10/15] mfd: menelaus: Pass menelaus_chip argument to menelaus <-> time helpers
Felipe Balbi
balbi at ti.com
Mon Dec 9 11:21:20 EST 2013
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 at iki.fi>
Signed-off-by: Felipe Balbi <balbi at ti.com>
---
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
More information about the linux-arm-kernel
mailing list