Loading arch/mips/kernel/Makefile +0 −2 Original line number Diff line number Diff line Loading @@ -59,8 +59,6 @@ obj-$(CONFIG_PROC_FS) += proc.o obj-$(CONFIG_64BIT) += cpu-bugs64.o obj-$(CONFIG_GEN_RTC) += genrtc.o CFLAGS_cpu-bugs64.o = $(shell if $(CC) $(CFLAGS) -Wa,-mdaddi -c -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi) CFLAGS_ioctl32.o += -Ifs/ Loading arch/mips/kernel/genrtc.cdeleted 100644 → 0 +0 −64 Original line number Diff line number Diff line /* * A glue layer that provides RTC read/write to drivers/char/genrtc.c driver * based on MIPS internal RTC routines. It does take care locking * issues so that we are SMP/Preemption safe. * * Copyright (C) 2004 MontaVista Software Inc. * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net * * Please read the COPYING file for all license details. */ #include <linux/spinlock.h> #include <asm/rtc.h> #include <asm/time.h> static DEFINE_SPINLOCK(mips_rtc_lock); unsigned int get_rtc_time(struct rtc_time *time) { unsigned long nowtime; spin_lock(&mips_rtc_lock); nowtime = rtc_get_time(); to_tm(nowtime, time); time->tm_year -= 1900; spin_unlock(&mips_rtc_lock); return RTC_24H; } int set_rtc_time(struct rtc_time *time) { unsigned long nowtime; int ret; spin_lock(&mips_rtc_lock); nowtime = mktime(time->tm_year+1900, time->tm_mon+1, time->tm_mday, time->tm_hour, time->tm_min, time->tm_sec); ret = rtc_set_time(nowtime); spin_unlock(&mips_rtc_lock); return ret; } unsigned int get_rtc_ss(void) { struct rtc_time h; get_rtc_time(&h); return h.tm_sec; } int get_rtc_pll(struct rtc_pll_info *pll) { return -EINVAL; } int set_rtc_pll(struct rtc_pll_info *pll) { return -EINVAL; } include/asm-mips/rtc.h +48 −5 Original line number Diff line number Diff line Loading @@ -14,7 +14,9 @@ #ifdef __KERNEL__ #include <linux/spinlock.h> #include <linux/rtc.h> #include <asm/time.h> #define RTC_PIE 0x40 /* periodic interrupt enable */ #define RTC_AIE 0x20 /* alarm interrupt enable */ Loading @@ -27,11 +29,52 @@ #define RTC_24H 0x02 /* 24 hour mode - else hours bit 7 means pm */ #define RTC_DST_EN 0x01 /* auto switch DST - works f. USA only */ unsigned int get_rtc_time(struct rtc_time *time); int set_rtc_time(struct rtc_time *time); unsigned int get_rtc_ss(void); int get_rtc_pll(struct rtc_pll_info *pll); int set_rtc_pll(struct rtc_pll_info *pll); static DEFINE_SPINLOCK(mips_rtc_lock); static inline unsigned int get_rtc_time(struct rtc_time *time) { unsigned long nowtime; spin_lock(&mips_rtc_lock); nowtime = rtc_get_time(); to_tm(nowtime, time); time->tm_year -= 1900; spin_unlock(&mips_rtc_lock); return RTC_24H; } static inline int set_rtc_time(struct rtc_time *time) { unsigned long nowtime; int ret; spin_lock(&mips_rtc_lock); nowtime = mktime(time->tm_year+1900, time->tm_mon+1, time->tm_mday, time->tm_hour, time->tm_min, time->tm_sec); ret = rtc_set_time(nowtime); spin_unlock(&mips_rtc_lock); return ret; } static inline unsigned int get_rtc_ss(void) { struct rtc_time h; get_rtc_time(&h); return h.tm_sec; } static inline int get_rtc_pll(struct rtc_pll_info *pll) { return -EINVAL; } static inline int set_rtc_pll(struct rtc_pll_info *pll) { return -EINVAL; } #endif #endif Loading
arch/mips/kernel/Makefile +0 −2 Original line number Diff line number Diff line Loading @@ -59,8 +59,6 @@ obj-$(CONFIG_PROC_FS) += proc.o obj-$(CONFIG_64BIT) += cpu-bugs64.o obj-$(CONFIG_GEN_RTC) += genrtc.o CFLAGS_cpu-bugs64.o = $(shell if $(CC) $(CFLAGS) -Wa,-mdaddi -c -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi) CFLAGS_ioctl32.o += -Ifs/ Loading
arch/mips/kernel/genrtc.cdeleted 100644 → 0 +0 −64 Original line number Diff line number Diff line /* * A glue layer that provides RTC read/write to drivers/char/genrtc.c driver * based on MIPS internal RTC routines. It does take care locking * issues so that we are SMP/Preemption safe. * * Copyright (C) 2004 MontaVista Software Inc. * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net * * Please read the COPYING file for all license details. */ #include <linux/spinlock.h> #include <asm/rtc.h> #include <asm/time.h> static DEFINE_SPINLOCK(mips_rtc_lock); unsigned int get_rtc_time(struct rtc_time *time) { unsigned long nowtime; spin_lock(&mips_rtc_lock); nowtime = rtc_get_time(); to_tm(nowtime, time); time->tm_year -= 1900; spin_unlock(&mips_rtc_lock); return RTC_24H; } int set_rtc_time(struct rtc_time *time) { unsigned long nowtime; int ret; spin_lock(&mips_rtc_lock); nowtime = mktime(time->tm_year+1900, time->tm_mon+1, time->tm_mday, time->tm_hour, time->tm_min, time->tm_sec); ret = rtc_set_time(nowtime); spin_unlock(&mips_rtc_lock); return ret; } unsigned int get_rtc_ss(void) { struct rtc_time h; get_rtc_time(&h); return h.tm_sec; } int get_rtc_pll(struct rtc_pll_info *pll) { return -EINVAL; } int set_rtc_pll(struct rtc_pll_info *pll) { return -EINVAL; }
include/asm-mips/rtc.h +48 −5 Original line number Diff line number Diff line Loading @@ -14,7 +14,9 @@ #ifdef __KERNEL__ #include <linux/spinlock.h> #include <linux/rtc.h> #include <asm/time.h> #define RTC_PIE 0x40 /* periodic interrupt enable */ #define RTC_AIE 0x20 /* alarm interrupt enable */ Loading @@ -27,11 +29,52 @@ #define RTC_24H 0x02 /* 24 hour mode - else hours bit 7 means pm */ #define RTC_DST_EN 0x01 /* auto switch DST - works f. USA only */ unsigned int get_rtc_time(struct rtc_time *time); int set_rtc_time(struct rtc_time *time); unsigned int get_rtc_ss(void); int get_rtc_pll(struct rtc_pll_info *pll); int set_rtc_pll(struct rtc_pll_info *pll); static DEFINE_SPINLOCK(mips_rtc_lock); static inline unsigned int get_rtc_time(struct rtc_time *time) { unsigned long nowtime; spin_lock(&mips_rtc_lock); nowtime = rtc_get_time(); to_tm(nowtime, time); time->tm_year -= 1900; spin_unlock(&mips_rtc_lock); return RTC_24H; } static inline int set_rtc_time(struct rtc_time *time) { unsigned long nowtime; int ret; spin_lock(&mips_rtc_lock); nowtime = mktime(time->tm_year+1900, time->tm_mon+1, time->tm_mday, time->tm_hour, time->tm_min, time->tm_sec); ret = rtc_set_time(nowtime); spin_unlock(&mips_rtc_lock); return ret; } static inline unsigned int get_rtc_ss(void) { struct rtc_time h; get_rtc_time(&h); return h.tm_sec; } static inline int get_rtc_pll(struct rtc_pll_info *pll) { return -EINVAL; } static inline int set_rtc_pll(struct rtc_pll_info *pll) { return -EINVAL; } #endif #endif