From: David Brownell <[EMAIL PROTECTED]>

Remove the obsolete legacy-style driver for the MSP430 RTC firmware
on the Davinci EVM.

Signed-off-by: David Brownell <[EMAIL PROTECTED]>
Signed-off-by: Kevin Hilman <[EMAIL PROTECTED]>
---
 drivers/char/Kconfig       |    6 -
 drivers/char/Makefile      |    1 -
 drivers/char/davinci-rtc.c |  252 --------------------------------------------
 3 files changed, 0 insertions(+), 259 deletions(-)
 delete mode 100644 drivers/char/davinci-rtc.c

diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index 99f0330..caff851 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -872,12 +872,6 @@ config DS1302
          will get access to the real time clock (or hardware clock) built
          into your computer.
 
-config DAVINCI_RTC
-       bool "TI DaVinci Real Time Clock"
-       depends on ARCH_DAVINCI && MACH_DAVINCI_EVM && I2C_DAVINCI
-       help
-         Support for TI DaVinci RTC
-
 endif # RTC_LIB
 
 config DTLK
diff --git a/drivers/char/Makefile b/drivers/char/Makefile
index d302805..6850f6d 100644
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
@@ -105,7 +105,6 @@ obj-$(CONFIG_IPMI_HANDLER)  += ipmi/
 
 obj-$(CONFIG_HANGCHECK_TIMER)  += hangcheck-timer.o
 obj-$(CONFIG_TCG_TPM)          += tpm/
-obj-$(CONFIG_DAVINCI_RTC)      += davinci-rtc.o
 
 obj-$(CONFIG_PS3_FLASH)                += ps3flash.o
 
diff --git a/drivers/char/davinci-rtc.c b/drivers/char/davinci-rtc.c
deleted file mode 100644
index f138363..0000000
--- a/drivers/char/davinci-rtc.c
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- *  linux/drivers/char/rtc.c
- *
- * Copyright (C) 2004 Texas Instruments Inc
- *
- * ----------------------------------------------------------------------------
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * ----------------------------------------------------------------------------
- Modifications:
- ver. 1.0: Jan 2006, Swaminathan S
- -
- */
-
-#include <linux/init.h>
-#include <linux/fs.h>
-#include <linux/module.h>
-#include <linux/proc_fs.h>
-#include <linux/ctype.h>
-#include <linux/delay.h>
-#include <linux/rtc.h>
-#include <linux/bcd.h>
-#include <asm/rtc.h>
-#include <asm/arch/i2c-client.h>
-
-static unsigned char am;
-
-static int _rtc_read_time(struct rtc_time *tm);
-static int _rtc_set_time(struct rtc_time *tm);
-static void am_or_pm (void);
-
-static struct rtc_ops davinci_rtc_ops = {
-        .owner          = THIS_MODULE,
-        .read_time      = _rtc_read_time,
-        .set_time       = _rtc_set_time,
-};
-
-static unsigned long epoch = 1900;      /* year corresponding to 0x00   */
-
-static const unsigned char days_in_mo[] =
-{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
-
-static int _rtc_read_time(struct rtc_time *tm)
-{
-       char rtcdata [9] = { 2, 1, 0, 0, 0, 0,
-                            0, 0, 0 };
-
-       davinci_i2c_write (2, rtcdata, 0x23);
-       udelay (1000);
-       davinci_i2c_read (9, rtcdata, 0x23);
-       udelay (1000);
-
-       tm->tm_year = BCD_TO_BIN (rtcdata[3]) * 100 + BCD_TO_BIN (rtcdata[2]) - 
1900;
-       tm->tm_mon = BCD_TO_BIN (rtcdata[4]);
-       tm->tm_mday = BCD_TO_BIN (rtcdata[5]);
-       tm->tm_hour = BCD_TO_BIN (rtcdata[6]);
-       tm->tm_min = BCD_TO_BIN (rtcdata[7]);
-       tm->tm_sec = BCD_TO_BIN (rtcdata[8]);
-
-       return 0;
-}
-
-static int _rtc_set_time(struct rtc_time *tm)
-{
-       char rtcdata [9];
-       char ampmdata [9];
-       struct timespec tv;
-       unsigned char mon, day, hrs = 0, min, sec, leap_yr;
-       unsigned char yr_low, yr_high;
-       unsigned int yrs;
-
-       am_or_pm ();
-
-       yrs = tm->tm_year + 1900;
-       yr_high = yrs/100;
-       yr_low = (yrs) % 100;
-
-       mon = tm->tm_mon;
-       hrs = tm->tm_hour;
-       day = tm->tm_mday;
-       min = tm->tm_min;
-       sec = tm->tm_sec;
-
-       if (yrs < 1970 || yrs > 2037)
-                return -EINVAL;
-
-        leap_yr = ((!(yrs % 4) && (yrs % 100)) || !(yrs % 400));
-
-       if ((mon > 11) || (day == 0))
-                return -EINVAL;
-
-        if (day > (days_in_mo[mon] + ((mon == 1) && leap_yr)))
-                return -EINVAL;
-
-        if ((hrs >= 24) || (min >= 60) || (sec >= 60))
-                return -EINVAL;
-
-        if ((yrs -= epoch) > 255) {    /* They are unsigned */
-                return -EINVAL;
-        }
-
-       if (am == 1 && tm->tm_hour <= 12) {
-               hrs = tm->tm_hour;
-               if (tm->tm_hour == 0)
-                       hrs = tm->tm_hour + 12;
-       }
-
-       else if ((am == 1 && tm->tm_hour > 12) ||
-                (am == 0 && tm->tm_hour < 12)) {
-               unsigned char mon1 = mon, day1 = day, hrs1 = 11, min1 = 59, 
sec1 = 59;
-               unsigned char yr_low1 = yr_low, yr_high1 = yr_high;
-
-               ampmdata [0] = 9;
-               ampmdata [1] = 0;
-               ampmdata [2] = BIN_TO_BCD(yr_low1);
-               ampmdata [3] = BIN_TO_BCD(yr_high1);
-               ampmdata [4] = BIN_TO_BCD(mon1);
-               ampmdata [5] = BIN_TO_BCD(day1);
-               ampmdata [6] = BIN_TO_BCD(hrs1);
-               ampmdata [7] = BIN_TO_BCD(min1);
-               ampmdata [8] = BIN_TO_BCD(sec1);
-               davinci_i2c_write (9, ampmdata, 0x23);
-               udelay (1000);
-               mdelay (1000);
-               am = (am == 1) ? 0 : 1;
-
-               if (!am)
-                       hrs = tm->tm_hour - 12;
-               else if (tm->tm_hour == 0)
-                       hrs = tm->tm_hour + 12;
-       }
-
-       else if (am == 0 && tm->tm_hour > 12) {
-               hrs = tm->tm_hour - 12;
-       }
-
-       rtcdata [0] = 9;
-       rtcdata [1] = 0;
-       rtcdata [2] = BIN_TO_BCD(yr_low);
-       rtcdata [3] = BIN_TO_BCD(yr_high);
-       rtcdata [4] = BIN_TO_BCD(mon);
-       rtcdata [5] = BIN_TO_BCD(day);
-       rtcdata [6] = BIN_TO_BCD(hrs);
-       rtcdata [7] = BIN_TO_BCD(min);
-       rtcdata [8] = BIN_TO_BCD(sec);
-       davinci_i2c_write (9, rtcdata, 0x23);
-       udelay (1000);
-
-       tv.tv_nsec = 0;
-        tv.tv_sec = mktime (tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
-                               tm->tm_hour, tm->tm_min, tm->tm_sec+2);
-        do_settimeofday (&tv);
-
-       return 0;
-}
-
-static void am_or_pm (void)
-{
-       char rtcdata [9];
-       struct rtc_time tm, time, temp;
-       unsigned char mon, day, hrs, min, sec;
-       unsigned char yr_low, yr_high;
-       unsigned int yrs;
-
-       _rtc_read_time (&tm);
-
-       temp = tm;
-
-       yrs = temp.tm_year + 1900;
-       yr_high = yrs/100;
-       yr_low = (yrs) % 100;
-
-       mon = temp.tm_mon + 1;
-       day = temp.tm_mday;
-       min = 59;
-       sec = 59;
-       hrs = 11;
-
-       rtcdata [0] = 9;
-       rtcdata [1] = 0;
-       rtcdata [2] = BIN_TO_BCD(yr_low);
-       rtcdata [3] = BIN_TO_BCD(yr_high);
-       mon--;
-       rtcdata [4] = BIN_TO_BCD(mon);
-       rtcdata [5] = BIN_TO_BCD(day);
-       rtcdata [6] = BIN_TO_BCD(hrs);
-       rtcdata [7] = BIN_TO_BCD(min);
-       rtcdata [8] = BIN_TO_BCD(sec);
-       davinci_i2c_write (9, rtcdata, 0x23);
-       udelay (1000);
-       mdelay (1000);
-       _rtc_read_time (&time);
-
-       if (time.tm_mday == temp.tm_mday)
-               am = 1;
-       else
-               am = 0;
-
-       davinci_i2c_write (9, rtcdata, 0x23);
-       udelay (1000);
-       mdelay (1000);
-
-       yrs = tm.tm_year + 1900;
-       yr_high = yrs/100;
-       yr_low = (yrs) % 100;
-
-       mon = tm.tm_mon + 1;
-       day = tm.tm_mday;
-       min = tm.tm_min;
-       hrs = tm.tm_hour;
-       if (tm.tm_sec < 58)
-       {
-               sec = tm.tm_sec + 2;
-       } else {
-               sec = 59;
-       }
-
-       davinci_i2c_write (9, rtcdata, 0x23);
-       udelay (1000);
-}
-
-static int __init davinci_rtc_init(void)
-{
-       struct timespec tv;
-       struct rtc_time tm;
-        register_rtc (&davinci_rtc_ops);
-
-       am_or_pm ();
-
-       _rtc_read_time (&tm);
-
-        tv.tv_nsec = 0;
-        tv.tv_sec = mktime (tm.tm_year + 1900, tm.tm_mon + 1 , tm.tm_mday,
-                               tm.tm_hour, tm.tm_min, tm.tm_sec);
-        do_settimeofday (&tv);
-
-       return 0;
-}
-
-module_init(davinci_rtc_init);
-- 
1.5.6.4


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to