Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 24453
b: refs/heads/master
c: 4f3a36a
h: refs/heads/master
i:
  24451: 4a0e881
v: v3
  • Loading branch information
Matt Mackall authored and Linus Torvalds committed Mar 28, 2006
1 parent 820cb0d commit 056eacc
Show file tree
Hide file tree
Showing 8 changed files with 23 additions and 66 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 41623b064fbd76de5901da7c0e3cd2136617d787
refs/heads/master: 4f3a36a7d0eb420471506fcd46ee46f4b5cd4ebc
4 changes: 1 addition & 3 deletions trunk/arch/m68k/mvme16x/rtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#include <linux/poll.h>
#include <linux/mc146818rtc.h> /* For struct rtc_time and ioctls, etc */
#include <linux/smp_lock.h>
#include <linux/bcd.h>
#include <asm/mvme16xhw.h>

#include <asm/io.h>
Expand All @@ -31,9 +32,6 @@
* ioctls.
*/

#define BCD2BIN(val) (((val)&15) + ((val)>>4)*10)
#define BIN2BCD(val) ((((val)/10)<<4) + (val)%10)

static const unsigned char days_in_mo[] =
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

Expand Down
34 changes: 16 additions & 18 deletions trunk/arch/mips/momentum/ocelot_3/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
#include <linux/bootmem.h>
#include <linux/mv643xx.h>
#include <linux/pm.h>
#include <linux/bcd.h>

#include <asm/time.h>
#include <asm/page.h>
Expand Down Expand Up @@ -131,9 +132,6 @@ void setup_wired_tlb_entries(void)
add_wired_entry(ENTRYLO(0xfc000000), ENTRYLO(0xfd000000), (signed)0xfc000000, PM_16M);
}

#define CONV_BCD_TO_BIN(val) (((val) & 0xf) + (((val) >> 4) * 10))
#define CONV_BIN_TO_BCD(val) (((val) % 10) + (((val) / 10) << 4))

unsigned long m48t37y_get_time(void)
{
unsigned int year, month, day, hour, min, sec;
Expand All @@ -143,16 +141,16 @@ unsigned long m48t37y_get_time(void)
/* stop the update */
rtc_base[0x7ff8] = 0x40;

year = CONV_BCD_TO_BIN(rtc_base[0x7fff]);
year += CONV_BCD_TO_BIN(rtc_base[0x7ff1]) * 100;
year = BCD2BIN(rtc_base[0x7fff]);
year += BCD2BIN(rtc_base[0x7ff1]) * 100;

month = CONV_BCD_TO_BIN(rtc_base[0x7ffe]);
month = BCD2BIN(rtc_base[0x7ffe]);

day = CONV_BCD_TO_BIN(rtc_base[0x7ffd]);
day = BCD2BIN(rtc_base[0x7ffd]);

hour = CONV_BCD_TO_BIN(rtc_base[0x7ffb]);
min = CONV_BCD_TO_BIN(rtc_base[0x7ffa]);
sec = CONV_BCD_TO_BIN(rtc_base[0x7ff9]);
hour = BCD2BIN(rtc_base[0x7ffb]);
min = BCD2BIN(rtc_base[0x7ffa]);
sec = BCD2BIN(rtc_base[0x7ff9]);

/* start the update */
rtc_base[0x7ff8] = 0x00;
Expand All @@ -175,22 +173,22 @@ int m48t37y_set_time(unsigned long sec)
rtc_base[0x7ff8] = 0x80;

/* year */
rtc_base[0x7fff] = CONV_BIN_TO_BCD(tm.tm_year % 100);
rtc_base[0x7ff1] = CONV_BIN_TO_BCD(tm.tm_year / 100);
rtc_base[0x7fff] = BIN2BCD(tm.tm_year % 100);
rtc_base[0x7ff1] = BIN2BCD(tm.tm_year / 100);

/* month */
rtc_base[0x7ffe] = CONV_BIN_TO_BCD(tm.tm_mon);
rtc_base[0x7ffe] = BIN2BCD(tm.tm_mon);

/* day */
rtc_base[0x7ffd] = CONV_BIN_TO_BCD(tm.tm_mday);
rtc_base[0x7ffd] = BIN2BCD(tm.tm_mday);

/* hour/min/sec */
rtc_base[0x7ffb] = CONV_BIN_TO_BCD(tm.tm_hour);
rtc_base[0x7ffa] = CONV_BIN_TO_BCD(tm.tm_min);
rtc_base[0x7ff9] = CONV_BIN_TO_BCD(tm.tm_sec);
rtc_base[0x7ffb] = BIN2BCD(tm.tm_hour);
rtc_base[0x7ffa] = BIN2BCD(tm.tm_min);
rtc_base[0x7ff9] = BIN2BCD(tm.tm_sec);

/* day of week -- not really used, but let's keep it up-to-date */
rtc_base[0x7ffc] = CONV_BIN_TO_BCD(tm.tm_wday + 1);
rtc_base[0x7ffc] = BIN2BCD(tm.tm_wday + 1);

/* disable writing */
rtc_base[0x7ff8] = 0x00;
Expand Down
12 changes: 1 addition & 11 deletions trunk/arch/mips/tx4938/common/rtc_rx5c348.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include <linux/string.h>
#include <linux/rtc.h>
#include <linux/time.h>
#include <linux/bcd.h>
#include <asm/time.h>
#include <asm/tx4938/spi.h>

Expand Down Expand Up @@ -77,17 +78,6 @@ spi_rtc_io(unsigned char *inbuf, unsigned char *outbuf, unsigned int count)
inbufs, incounts, outbufs, outcounts, 0);
}

/*
* Conversion between binary and BCD.
*/
#ifndef BCD_TO_BIN
#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
#endif

#ifndef BIN_TO_BCD
#define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10)
#endif

/* RTC-dependent code for time.c */

static int
Expand Down
9 changes: 1 addition & 8 deletions trunk/arch/sh/boards/mpc1211/rtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,9 @@
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/time.h>
#include <linux/bcd.h>
#include <linux/mc146818rtc.h>

#ifndef BCD_TO_BIN
#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
#endif

#ifndef BIN_TO_BCD
#define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10)
#endif

unsigned long get_cmos_time(void)
{
unsigned int year, mon, day, hour, min, sec;
Expand Down
9 changes: 1 addition & 8 deletions trunk/arch/sh/boards/sh03/rtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/time.h>
#include <linux/bcd.h>
#include <asm/io.h>
#include <linux/rtc.h>
#include <linux/spinlock.h>
Expand All @@ -33,14 +34,6 @@
#define RTC_BUSY 1
#define RTC_STOP 2

#ifndef BCD_TO_BIN
#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
#endif

#ifndef BIN_TO_BCD
#define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10)
#endif

extern void (*rtc_get_time)(struct timespec *);
extern int (*rtc_set_time)(const time_t);
extern spinlock_t rtc_lock;
Expand Down
10 changes: 1 addition & 9 deletions trunk/arch/sh/kernel/cpu/rtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,10 @@
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/time.h>

#include <linux/bcd.h>
#include <asm/io.h>
#include <asm/rtc.h>

#ifndef BCD_TO_BIN
#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
#endif

#ifndef BIN_TO_BCD
#define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10)
#endif

void sh_rtc_gettimeofday(struct timespec *ts)
{
unsigned int sec128, sec, sec2, min, hr, wk, day, mon, yr, yr100, cf_bit;
Expand Down
9 changes: 1 addition & 8 deletions trunk/arch/sh64/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
#include <linux/profile.h>
#include <linux/smp.h>
#include <linux/module.h>
#include <linux/bcd.h>

#include <asm/registers.h> /* required by inline __asm__ stmt. */

Expand Down Expand Up @@ -105,14 +106,6 @@
#define RCR1 rtc_base+0x38
#define RCR2 rtc_base+0x3c

#ifndef BCD_TO_BIN
#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
#endif

#ifndef BIN_TO_BCD
#define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10)
#endif

#define TICK_SIZE (tick_nsec / 1000)

extern unsigned long wall_jiffies;
Expand Down

0 comments on commit 056eacc

Please sign in to comment.