/*
- * arch/ppc/syslib/todc_time.c
- *
* Time of Day Clock support for the M48T35, M48T37, M48T59, and MC146818
* Real Time Clocks/Timekeepers.
*
#include <linux/time.h>
#include <linux/timex.h>
#include <linux/bcd.h>
+#include <linux/mc146818rtc.h>
#include <asm/machdep.h>
#include <asm/io.h>
* --MAG
*/
-extern spinlock_t rtc_lock;
-
/*
* 'todc_info' should be initialized in your *_setup.c file to
* point to a fully initialized 'todc_info_t' structure.
u_char
todc_direct_read_val(int addr)
{
- return readb(todc_info->nvram_data + addr);
+ return readb((void __iomem *)(todc_info->nvram_data + addr));
}
void
todc_direct_write_val(int addr, unsigned char val)
{
- writeb(val, todc_info->nvram_data + addr);
+ writeb(val, (void __iomem *)(todc_info->nvram_data + addr));
return;
}
ulong
todc_get_rtc_time(void)
{
- uint year, mon, day, hour, min, sec;
+ uint year = 0, mon = 0, day = 0, hour = 0, min = 0, sec = 0;
uint limit, i;
- u_char save_control, uip;
+ u_char save_control, uip = 0;
spin_lock(&rtc_lock);
save_control = todc_read_val(todc_info->control_a);
limit = 1;
switch (todc_info->rtc_type) {
+ case TODC_TYPE_DS1553:
case TODC_TYPE_DS1557:
case TODC_TYPE_DS1743:
case TODC_TYPE_DS1746: /* XXXX BAD HACK -> FIX */
if (todc_info->rtc_type != TODC_TYPE_MC146818) {
switch (todc_info->rtc_type) {
+ case TODC_TYPE_DS1553:
case TODC_TYPE_DS1557:
case TODC_TYPE_DS1743:
case TODC_TYPE_DS1746: /* XXXX BAD HACK -> FIX */
todc_set_rtc_time(unsigned long nowtime)
{
struct rtc_time tm;
- u_char save_control, save_freq_select;
+ u_char save_control, save_freq_select = 0;
spin_lock(&rtc_lock);
to_tm(nowtime, &tm);
*/
static unsigned char __init todc_read_timereg(int addr)
{
- unsigned char save_control, val;
+ unsigned char save_control = 0, val;
switch (todc_info->rtc_type) {
+ case TODC_TYPE_DS1553:
case TODC_TYPE_DS1557:
case TODC_TYPE_DS1746: /* XXXX BAD HACK -> FIX */
case TODC_TYPE_DS1747:
val = todc_read_val(addr);
switch (todc_info->rtc_type) {
+ case TODC_TYPE_DS1553:
case TODC_TYPE_DS1557:
case TODC_TYPE_DS1746: /* XXXX BAD HACK -> FIX */
case TODC_TYPE_DS1747: