diff --git a/sys/arch/arm/marvell/mvsocrtc.c b/sys/arch/arm/marvell/mvsocrtc.c index 9137344ad76b..ec671436c213 100644 --- a/sys/arch/arm/marvell/mvsocrtc.c +++ b/sys/arch/arm/marvell/mvsocrtc.c @@ -1,4 +1,4 @@ -/* $NetBSD: mvsocrtc.c,v 1.2 2011/07/01 20:30:21 dyoung Exp $ */ +/* $NetBSD: mvsocrtc.c,v 1.3 2014/11/20 16:34:25 christos Exp $ */ /*- * Copyright (c) 2010 The NetBSD Foundation, Inc. @@ -36,7 +36,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: mvsocrtc.c,v 1.2 2011/07/01 20:30:21 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mvsocrtc.c,v 1.3 2014/11/20 16:34:25 christos Exp $"); #include #include @@ -142,12 +142,12 @@ again: * XXXX this assumption will fail in 2100, but somehow I don't think * I or the hardware will be functioning to see it. */ - dt->dt_year = FROMBCD(rtcyear) + 2000; - dt->dt_mon = FROMBCD(rtcmonth); - dt->dt_day = FROMBCD(rtcday); - dt->dt_hour = FROMBCD(rtchour); - dt->dt_min = FROMBCD(rtcmin); - dt->dt_sec = FROMBCD(rtcsec); + dt->dt_year = bcdtobin(rtcyear) + 2000; + dt->dt_mon = bcdtobin(rtcmonth); + dt->dt_day = bcdtobin(rtcday); + dt->dt_hour = bcdtobin(rtchour); + dt->dt_min = bcdtobin(rtcmin); + dt->dt_sec = bcdtobin(rtcsec); return 0; } @@ -159,17 +159,17 @@ mvsocrtc_todr_settime(todr_chip_handle_t ch, struct clock_ymdhms *dt) uint32_t reg; /* compose & write time register contents */ - reg = (TOBCD(dt->dt_sec) << MVSOCRTC_SECOND_OFFSET) | - (TOBCD(dt->dt_min) << MVSOCRTC_MINUTE_OFFSET) | - (TOBCD(dt->dt_hour) << MVSOCRTC_HOUR_OFFSET) | - (TOBCD(dt->dt_wday) << MVSOCRTC_WDAY_OFFSET); + reg = (bintobcd(dt->dt_sec) << MVSOCRTC_SECOND_OFFSET) | + (bintobcd(dt->dt_min) << MVSOCRTC_MINUTE_OFFSET) | + (bintobcd(dt->dt_hour) << MVSOCRTC_HOUR_OFFSET) | + (bintobcd(dt->dt_wday) << MVSOCRTC_WDAY_OFFSET); bus_space_write_4(sc->sc_iot, sc->sc_ioh, MVSOCRTC_TIME, reg); /* compose & write date register contents */ - reg = (TOBCD(dt->dt_day) << MVSOCRTC_DAY_OFFSET) | - (TOBCD(dt->dt_mon) << MVSOCRTC_MONTH_OFFSET) | - (TOBCD(dt->dt_year % 100) << MVSOCRTC_YEAR_OFFSET); + reg = (bintobcd(dt->dt_day) << MVSOCRTC_DAY_OFFSET) | + (bintobcd(dt->dt_mon) << MVSOCRTC_MONTH_OFFSET) | + (bintobcd(dt->dt_year % 100) << MVSOCRTC_YEAR_OFFSET); bus_space_write_4(sc->sc_iot, sc->sc_ioh, MVSOCRTC_DATE, reg); diff --git a/sys/arch/arm/omap/omap_rtc.c b/sys/arch/arm/omap/omap_rtc.c index 539ff8800941..1cab6011c974 100644 --- a/sys/arch/arm/omap/omap_rtc.c +++ b/sys/arch/arm/omap/omap_rtc.c @@ -1,4 +1,4 @@ -/* $NetBSD: omap_rtc.c,v 1.5 2011/07/01 20:30:21 dyoung Exp $ */ +/* $NetBSD: omap_rtc.c,v 1.6 2014/11/20 16:34:25 christos Exp $ */ /* * OMAP RTC driver, based on i80321_timer.c. @@ -32,7 +32,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: omap_rtc.c,v 1.5 2011/07/01 20:30:21 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: omap_rtc.c,v 1.6 2014/11/20 16:34:25 christos Exp $"); #include #include @@ -127,31 +127,31 @@ omaprtc_gettime(todr_chip_handle_t tch, struct clock_ymdhms *dt) } dt->dt_year = - FROMBCD(bus_space_read_1(sc->sc_iot, + bcdtobin(bus_space_read_1(sc->sc_iot, sc->sc_ioh, YEARS_REG)) + BASEYEAR; dt->dt_mon = - FROMBCD(bus_space_read_1(sc->sc_iot, + bcdtobin(bus_space_read_1(sc->sc_iot, sc->sc_ioh, MONTHS_REG)); dt->dt_wday = - FROMBCD(bus_space_read_1(sc->sc_iot, + bcdtobin(bus_space_read_1(sc->sc_iot, sc->sc_ioh, WEEKS_REG) & 0x0f); dt->dt_day = - FROMBCD(bus_space_read_1(sc->sc_iot, + bcdtobin(bus_space_read_1(sc->sc_iot, sc->sc_ioh, DAYS_REG)); dt->dt_sec = - FROMBCD(bus_space_read_1(sc->sc_iot, + bcdtobin(bus_space_read_1(sc->sc_iot, sc->sc_ioh, SECONDS_REG)); dt->dt_hour = - FROMBCD(bus_space_read_1(sc->sc_iot, + bcdtobin(bus_space_read_1(sc->sc_iot, sc->sc_ioh, HOURS_REG)); dt->dt_min = - FROMBCD(bus_space_read_1(sc->sc_iot, + bcdtobin(bus_space_read_1(sc->sc_iot, sc->sc_ioh, MINUTES_REG)); restore_interrupts(s); @@ -177,19 +177,19 @@ omaprtc_settime(todr_chip_handle_t tch, struct clock_ymdhms *dt) */ bus_space_write_1(sc->sc_iot, sc->sc_ioh, - YEARS_REG, TOBCD(dt->dt_year - BASEYEAR)); + YEARS_REG, bintobcd(dt->dt_year - BASEYEAR)); bus_space_write_1(sc->sc_iot, sc->sc_ioh, - MONTHS_REG, TOBCD(dt->dt_mon)); + MONTHS_REG, bintobcd(dt->dt_mon)); bus_space_write_1(sc->sc_iot, sc->sc_ioh, - WEEKS_REG, TOBCD(dt->dt_wday & 0x0f)); + WEEKS_REG, bintobcd(dt->dt_wday & 0x0f)); bus_space_write_1(sc->sc_iot, sc->sc_ioh, - DAYS_REG, TOBCD(dt->dt_day)); + DAYS_REG, bintobcd(dt->dt_day)); bus_space_write_1(sc->sc_iot, sc->sc_ioh, - SECONDS_REG, TOBCD(dt->dt_sec)); + SECONDS_REG, bintobcd(dt->dt_sec)); bus_space_write_1(sc->sc_iot, sc->sc_ioh, - HOURS_REG, TOBCD(dt->dt_hour)); + HOURS_REG, bintobcd(dt->dt_hour)); bus_space_write_1(sc->sc_iot, sc->sc_ioh, - MINUTES_REG, TOBCD(dt->dt_min)); + MINUTES_REG, bintobcd(dt->dt_min)); restore_interrupts(s); return 0; } diff --git a/sys/arch/arm/s3c2xx0/s3c2440_rtc.c b/sys/arch/arm/s3c2xx0/s3c2440_rtc.c index 87ef455ff0dc..28cde3ce2fe4 100644 --- a/sys/arch/arm/s3c2xx0/s3c2440_rtc.c +++ b/sys/arch/arm/s3c2xx0/s3c2440_rtc.c @@ -103,31 +103,31 @@ ssrtc_todr_gettime(struct todr_chip_handle *h, struct timeval *tv) reg = bus_space_read_1(sc->sc_iot, sc->sc_ioh, RTC_BCDSEC); DPRINTF(("BCDSEC: %02X\n", reg)); - dt.dt_sec = FROMBCD(reg); + dt.dt_sec = bcdtobin(reg); reg = bus_space_read_1(sc->sc_iot, sc->sc_ioh, RTC_BCDMIN); DPRINTF(("BCDMIN: %02X\n", reg)); - dt.dt_min = FROMBCD(reg); + dt.dt_min = bcdtobin(reg); reg = bus_space_read_1(sc->sc_iot, sc->sc_ioh, RTC_BCDHOUR); DPRINTF(("BCDHOUR: %02X\n", reg)); - dt.dt_hour = FROMBCD(reg); + dt.dt_hour = bcdtobin(reg); reg = bus_space_read_1(sc->sc_iot, sc->sc_ioh, RTC_BCDDATE); DPRINTF(("BCDDATE: %02X\n", reg)); - dt.dt_day = FROMBCD(reg); + dt.dt_day = bcdtobin(reg); reg = bus_space_read_1(sc->sc_iot, sc->sc_ioh, RTC_BCDDAY); DPRINTF(("BCDDAY: %02X\n", reg)); - dt.dt_wday = FROMBCD(reg); + dt.dt_wday = bcdtobin(reg); reg = bus_space_read_1(sc->sc_iot, sc->sc_ioh, RTC_BCDMON); DPRINTF(("BCDMON: %02X\n", reg)); - dt.dt_mon = FROMBCD(reg); + dt.dt_mon = bcdtobin(reg); reg = bus_space_read_1(sc->sc_iot, sc->sc_ioh, RTC_BCDYEAR); DPRINTF(("BCDYEAR: %02X\n", reg)); - dt.dt_year = SSRTC_YEAR_ZERO + FROMBCD(reg); + dt.dt_year = SSRTC_YEAR_ZERO + bcdtobin(reg); DPRINTF(("Seconds: %d\n", dt.dt_sec)); DPRINTF(("Minutes: %d\n", dt.dt_min)); @@ -158,13 +158,13 @@ ssrtc_todr_settime(struct todr_chip_handle *h, struct timeval *tv) reg = bus_space_read_1(sc->sc_iot, sc->sc_ioh, RTC_RTCCON); bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_RTCCON, reg | RTCCON_RTCEN); - bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_BCDSEC, TOBCD(dt.dt_sec)); - bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_BCDMIN, TOBCD(dt.dt_min)); - bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_BCDHOUR, TOBCD(dt.dt_hour)); - bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_BCDDATE, TOBCD(dt.dt_day)); - bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_BCDDAY, TOBCD(dt.dt_wday)); - bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_BCDMON, TOBCD(dt.dt_mon)); - bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_BCDYEAR, TOBCD(dt.dt_year-SSRTC_YEAR_ZERO)); + bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_BCDSEC, bintobcd(dt.dt_sec)); + bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_BCDMIN, bintobcd(dt.dt_min)); + bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_BCDHOUR, bintobcd(dt.dt_hour)); + bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_BCDDATE, bintobcd(dt.dt_day)); + bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_BCDDAY, bintobcd(dt.dt_wday)); + bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_BCDMON, bintobcd(dt.dt_mon)); + bus_space_write_1(sc->sc_iot, sc->sc_ioh, RTC_BCDYEAR, bintobcd(dt.dt_year-SSRTC_YEAR_ZERO)); /* Clear RTCEN */ reg = bus_space_read_1(sc->sc_iot, sc->sc_ioh, RTC_RTCCON); diff --git a/sys/arch/evbarm/tsarm/tsrtc.c b/sys/arch/evbarm/tsarm/tsrtc.c index e74f4a6cfc70..1892be6e80a0 100644 --- a/sys/arch/evbarm/tsarm/tsrtc.c +++ b/sys/arch/evbarm/tsarm/tsrtc.c @@ -1,4 +1,4 @@ -/* $NetBSD: tsrtc.c,v 1.7 2011/07/01 19:11:34 dyoung Exp $ */ +/* $NetBSD: tsrtc.c,v 1.8 2014/11/20 16:34:25 christos Exp $ */ /* * Copyright (c) 1995, 1996 Carnegie-Mellon University. @@ -28,7 +28,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: tsrtc.c,v 1.7 2011/07/01 19:11:34 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: tsrtc.c,v 1.8 2014/11/20 16:34:25 christos Exp $"); #include /* RCS ID & Copyright macro defns */ @@ -86,13 +86,13 @@ tsrtc_match(device_t parent, cfdata_t cf, void *aux) return (0); /* Read from the seconds counter. */ - t1 = FROMBCD(tsrtc_read(sc, MC_SEC)); + t1 = bcdtobin(tsrtc_read(sc, MC_SEC)); if (t1 > 59) goto unmap; /* Wait, then look again. */ DELAY(1100000); - t2 = FROMBCD(tsrtc_read(sc, MC_SEC)); + t2 = bcdtobin(tsrtc_read(sc, MC_SEC)); if (t2 > 59) goto unmap; diff --git a/sys/arch/evbppc/walnut/dev/ds1743.c b/sys/arch/evbppc/walnut/dev/ds1743.c index 04de70c8f04e..caf454fb943c 100644 --- a/sys/arch/evbppc/walnut/dev/ds1743.c +++ b/sys/arch/evbppc/walnut/dev/ds1743.c @@ -1,4 +1,4 @@ -/* $NetBSD: ds1743.c,v 1.9 2011/07/01 19:03:50 dyoung Exp $ */ +/* $NetBSD: ds1743.c,v 1.10 2014/11/20 16:34:25 christos Exp $ */ /* * Copyright (c) 2001-2002 Wasabi Sysetms, Inc. @@ -38,7 +38,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ds1743.c,v 1.9 2011/07/01 19:03:50 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ds1743.c,v 1.10 2014/11/20 16:34:25 christos Exp $"); #include #include @@ -234,14 +234,14 @@ dsrtc_write(todr_chip_handle_t tch, struct clock_ymdhms *dt) key = ds1743_lock(sc, DS_CTL_W); - ds1743_write(sc, DS_SECONDS, TOBCD(dt->dt_sec) & 0x7f); - ds1743_write(sc, DS_MINUTES, TOBCD(dt->dt_min) & 0x7f); - ds1743_write(sc, DS_HOURS, TOBCD(dt->dt_hour) & 0x3f); - ds1743_write(sc, DS_DATE, TOBCD(dt->dt_day) & 0x3f); - ds1743_write(sc, DS_MONTH, TOBCD(dt->dt_mon) & 0x1f); - ds1743_write(sc, DS_YEAR, TOBCD(dt->dt_year % 100)); + ds1743_write(sc, DS_SECONDS, bintobcd(dt->dt_sec) & 0x7f); + ds1743_write(sc, DS_MINUTES, bintobcd(dt->dt_min) & 0x7f); + ds1743_write(sc, DS_HOURS, bintobcd(dt->dt_hour) & 0x3f); + ds1743_write(sc, DS_DATE, bintobcd(dt->dt_day) & 0x3f); + ds1743_write(sc, DS_MONTH, bintobcd(dt->dt_mon) & 0x1f); + ds1743_write(sc, DS_YEAR, bintobcd(dt->dt_year % 100)); ds1743_write(sc, DS_CENTURY, ((ds1743_read(sc, DS_CENTURY) & DS_CTL_RW) - | TOBCD(dt->dt_year / 100))); + | bintobcd(dt->dt_year / 100))); ds1743_unlock(sc, key); return(0); @@ -254,14 +254,14 @@ dsrtc_read(todr_chip_handle_t tch, struct clock_ymdhms *dt) u_char key; key = ds1743_lock(sc, DS_CTL_R); - dt->dt_sec = FROMBCD(ds1743_read(sc, DS_SECONDS) & 0x7f); - dt->dt_min = FROMBCD(ds1743_read(sc, DS_MINUTES) & 0x7f); - dt->dt_hour = FROMBCD(ds1743_read(sc, DS_HOURS) & 0x3f); - dt->dt_day = FROMBCD(ds1743_read(sc, DS_DATE) & 0x3f); - dt->dt_mon = FROMBCD(ds1743_read(sc, DS_MONTH) & 0x1f); + dt->dt_sec = bcdtobin(ds1743_read(sc, DS_SECONDS) & 0x7f); + dt->dt_min = bcdtobin(ds1743_read(sc, DS_MINUTES) & 0x7f); + dt->dt_hour = bcdtobin(ds1743_read(sc, DS_HOURS) & 0x3f); + dt->dt_day = bcdtobin(ds1743_read(sc, DS_DATE) & 0x3f); + dt->dt_mon = bcdtobin(ds1743_read(sc, DS_MONTH) & 0x1f); dt->dt_year = - FROMBCD(ds1743_read(sc, DS_YEAR)) + - FROMBCD(ds1743_read(sc, DS_CENTURY) & ~DS_CTL_RW) * 100; + bcdtobin(ds1743_read(sc, DS_YEAR)) + + bcdtobin(ds1743_read(sc, DS_CENTURY) & ~DS_CTL_RW) * 100; ds1743_unlock(sc, key); return(0); diff --git a/sys/arch/luna68k/dev/timekeeper.c b/sys/arch/luna68k/dev/timekeeper.c index 67159fa189c7..a36c8da8e125 100644 --- a/sys/arch/luna68k/dev/timekeeper.c +++ b/sys/arch/luna68k/dev/timekeeper.c @@ -1,4 +1,4 @@ -/* $NetBSD: timekeeper.c,v 1.14 2014/03/18 18:20:41 riastradh Exp $ */ +/* $NetBSD: timekeeper.c,v 1.15 2014/11/20 16:34:25 christos Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: timekeeper.c,v 1.14 2014/03/18 18:20:41 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: timekeeper.c,v 1.15 2014/11/20 16:34:25 christos Exp $"); #include #include @@ -124,13 +124,13 @@ mkclock_get(todr_chip_handle_t tch, struct clock_ymdhms *dt) s = splclock(); chiptime[MK_CSR] |= MK_CSR_READ; /* enable read (stop time) */ - dt->dt_sec = FROMBCD(chiptime[MK_SEC]); - dt->dt_min = FROMBCD(chiptime[MK_MIN]); - dt->dt_hour = FROMBCD(chiptime[MK_HOUR]); - dt->dt_wday = FROMBCD(chiptime[MK_DOW]); - dt->dt_day = FROMBCD(chiptime[MK_DOM]); - dt->dt_mon = FROMBCD(chiptime[MK_MONTH]); - dt->dt_year = FROMBCD(chiptime[MK_YEAR]) + YEAR0; + dt->dt_sec = bcdtobin(chiptime[MK_SEC]); + dt->dt_min = bcdtobin(chiptime[MK_MIN]); + dt->dt_hour = bcdtobin(chiptime[MK_HOUR]); + dt->dt_wday = bcdtobin(chiptime[MK_DOW]); + dt->dt_day = bcdtobin(chiptime[MK_DOM]); + dt->dt_mon = bcdtobin(chiptime[MK_MONTH]); + dt->dt_year = bcdtobin(chiptime[MK_YEAR]) + YEAR0; chiptime[MK_CSR] &= ~MK_CSR_READ; /* time wears on */ splx(s); return 0; @@ -149,13 +149,13 @@ mkclock_set(todr_chip_handle_t tch, struct clock_ymdhms *dt) s = splclock(); chiptime[MK_CSR] |= MK_CSR_WRITE; /* enable write */ - chiptime[MK_SEC] = TOBCD(dt->dt_sec); - chiptime[MK_MIN] = TOBCD(dt->dt_min); - chiptime[MK_HOUR] = TOBCD(dt->dt_hour); - chiptime[MK_DOW] = TOBCD(dt->dt_wday); - chiptime[MK_DOM] = TOBCD(dt->dt_day); - chiptime[MK_MONTH] = TOBCD(dt->dt_mon); - chiptime[MK_YEAR] = TOBCD(dt->dt_year - YEAR0); + chiptime[MK_SEC] = bintobcd(dt->dt_sec); + chiptime[MK_MIN] = bintobcd(dt->dt_min); + chiptime[MK_HOUR] = bintobcd(dt->dt_hour); + chiptime[MK_DOW] = bintobcd(dt->dt_wday); + chiptime[MK_DOM] = bintobcd(dt->dt_day); + chiptime[MK_MONTH] = bintobcd(dt->dt_mon); + chiptime[MK_YEAR] = bintobcd(dt->dt_year - YEAR0); chiptime[MK_CSR] &= ~MK_CSR_WRITE; /* load them up */ splx(s); diff --git a/sys/arch/mipsco/obio/mkclock.c b/sys/arch/mipsco/obio/mkclock.c index f8852649a9a2..e570cfe216e7 100644 --- a/sys/arch/mipsco/obio/mkclock.c +++ b/sys/arch/mipsco/obio/mkclock.c @@ -1,4 +1,4 @@ -/* $NetBSD: mkclock.c,v 1.11 2012/10/27 17:18:03 chs Exp $ */ +/* $NetBSD: mkclock.c,v 1.12 2014/11/20 16:34:25 christos Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: mkclock.c,v 1.11 2012/10/27 17:18:03 chs Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mkclock.c,v 1.12 2014/11/20 16:34:25 christos Exp $"); #include #include @@ -100,14 +100,14 @@ mk_read(struct mkclock_softc *sc, int reg) u_int8_t val; val = bus_space_read_1(sc->sc_bst, sc->sc_bsh, DATA_PORT + reg*4); - return FROMBCD(val); + return bcdtobin(val); } static void mk_write(struct mkclock_softc *sc, int reg, int val) { bus_space_write_1(sc->sc_bst, sc->sc_bsh, - DATA_PORT + reg*4, TOBCD(val)); + DATA_PORT + reg*4, bintobcd(val)); } int diff --git a/sys/arch/mvme68k/stand/libsa/chiptotime.c b/sys/arch/mvme68k/stand/libsa/chiptotime.c index 3e27708251f5..c9b8e87aecc3 100644 --- a/sys/arch/mvme68k/stand/libsa/chiptotime.c +++ b/sys/arch/mvme68k/stand/libsa/chiptotime.c @@ -1,21 +1,13 @@ -/* $NetBSD: chiptotime.c,v 1.6 2014/11/20 15:50:25 christos Exp $ */ +/* $NetBSD: chiptotime.c,v 1.7 2014/11/20 16:34:25 christos Exp $ */ #include -#include +#include #include #include #include "libsa.h" -/* - * BCD to decimal and decimal to BCD. - */ -#define FROMBCD(x) (int)((((unsigned int)(x)) >> 4) * 10 +\ - (((unsigned int)(x)) & 0xf)) -#define TOBCD(x) (int)((((unsigned int)(x)) / 10 * 16) +\ - (((unsigned int)(x)) % 10)) - #define YEAR0 68 /* @@ -30,12 +22,12 @@ chiptotime(int sec, int min, int hour, int day, int mon, int year) { int days, yr; - sec = FROMBCD(sec); - min = FROMBCD(min); - hour = FROMBCD(hour); - day = FROMBCD(day); - mon = FROMBCD(mon); - year = FROMBCD(year) + YEAR0; + sec = bcdtobin(sec); + min = bcdtobin(min); + hour = bcdtobin(hour); + day = bcdtobin(day); + mon = bcdtobin(mon); + year = bcdtobin(year) + YEAR0; if (year < 70) year = 70; diff --git a/sys/arch/mvme68k/stand/libsa/clock.c b/sys/arch/mvme68k/stand/libsa/clock.c index a864747aa5df..8db0fd872c5a 100644 --- a/sys/arch/mvme68k/stand/libsa/clock.c +++ b/sys/arch/mvme68k/stand/libsa/clock.c @@ -1,6 +1,7 @@ -/* $NetBSD: clock.c,v 1.10 2014/11/17 02:15:48 christos Exp $ */ +/* $NetBSD: clock.c,v 1.11 2014/11/20 16:34:25 christos Exp $ */ #include +#include #include #include @@ -10,11 +11,6 @@ /* * BCD to decimal and decimal to BCD. */ -#define FROMBCD(x) (int)((((unsigned int)(x)) >> 4) * 10 +\ - (((unsigned int)(x)) & 0xf)) -#define TOBCD(x) (int)((((unsigned int)(x)) / 10 * 16) +\ - (((unsigned int)(x)) % 10)) - #define YEAR0 68 /* @@ -29,12 +25,12 @@ chiptotime(int sec, int min, int hour, int day, int mon, int year) { int days, yr; - sec = FROMBCD(sec); - min = FROMBCD(min); - hour = FROMBCD(hour); - day = FROMBCD(day); - mon = FROMBCD(mon); - year = FROMBCD(year) + YEAR0; + sec = bcdtobin(sec); + min = bcdtobin(min); + hour = bcdtobin(hour); + day = bcdtobin(day); + mon = bcdtobin(mon); + year = bcdtobin(year) + YEAR0; if (year < 70) year = 70; diff --git a/sys/arch/mvmeppc/isa/mkclock_isa.c b/sys/arch/mvmeppc/isa/mkclock_isa.c index 222221e832db..64434afcb138 100644 --- a/sys/arch/mvmeppc/isa/mkclock_isa.c +++ b/sys/arch/mvmeppc/isa/mkclock_isa.c @@ -1,4 +1,4 @@ -/* $NetBSD: mkclock_isa.c,v 1.14 2011/07/01 20:50:00 dyoung Exp $ */ +/* $NetBSD: mkclock_isa.c,v 1.15 2014/11/20 16:34:25 christos Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ */ #include /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: mkclock_isa.c,v 1.14 2011/07/01 20:50:00 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mkclock_isa.c,v 1.15 2014/11/20 16:34:25 christos Exp $"); #include #include @@ -121,7 +121,7 @@ mkclock_isa_match(device_t parent, cfdata_t cf, void *aux) goto restore; /* Read from the seconds counter. */ - t1 = FROMBCD(mkclock_isa_nvrd(sc, MK48T18_CLKOFF + MK48TXX_ISEC)); + t1 = bcdtobin(mkclock_isa_nvrd(sc, MK48T18_CLKOFF + MK48TXX_ISEC)); if (t1 > 59) goto restore; @@ -129,7 +129,7 @@ mkclock_isa_match(device_t parent, cfdata_t cf, void *aux) mkclock_isa_nvwr(sc, MK48T18_CLKOFF + MK48TXX_ICSR, ocsr); DELAY(1100000); mkclock_isa_nvwr(sc, MK48T18_CLKOFF + MK48TXX_ICSR, csr); - t2 = FROMBCD(mkclock_isa_nvrd(sc, MK48T18_CLKOFF + MK48TXX_ISEC)); + t2 = bcdtobin(mkclock_isa_nvrd(sc, MK48T18_CLKOFF + MK48TXX_ISEC)); if (t2 > 59) goto restore; diff --git a/sys/arch/mvmeppc/stand/libsa/clock.c b/sys/arch/mvmeppc/stand/libsa/clock.c index be2f2f1d7e59..e6be850d7479 100644 --- a/sys/arch/mvmeppc/stand/libsa/clock.c +++ b/sys/arch/mvmeppc/stand/libsa/clock.c @@ -1,4 +1,4 @@ -/* $NetBSD: clock.c,v 1.4 2014/11/17 02:15:49 christos Exp $ */ +/* $NetBSD: clock.c,v 1.5 2014/11/20 16:34:25 christos Exp $ */ /* * This is a slightly modified version of mvme68k's standalone clock.c. @@ -14,9 +14,6 @@ #include "libsa.h" #include "bugsyscalls.h" -#define FROMBCD(x) (int)((((unsigned int)(x)) >> 4) * 10 +\ - (((unsigned int)(x)) & 0xf)) - #define YEAR0 68 /* @@ -31,12 +28,12 @@ chiptotime(int sec, int min, int hour, int day, int mon, int year) { int days, yr; - sec = FROMBCD(sec); - min = FROMBCD(min); - hour = FROMBCD(hour); - day = FROMBCD(day); - mon = FROMBCD(mon); - year = FROMBCD(year) + YEAR0; + sec = bcdtobin(sec); + min = bcdtobin(min); + hour = bcdtobin(hour); + day = bcdtobin(day); + mon = bcdtobin(mon); + year = bcdtobin(year) + YEAR0; if (year < 70) year = 70; diff --git a/sys/arch/next68k/next68k/rtc.c b/sys/arch/next68k/next68k/rtc.c index 5ec8dd153c62..fb300182c749 100644 --- a/sys/arch/next68k/next68k/rtc.c +++ b/sys/arch/next68k/next68k/rtc.c @@ -1,4 +1,4 @@ -/* $NetBSD: rtc.c,v 1.17 2014/03/24 20:01:03 christos Exp $ */ +/* $NetBSD: rtc.c,v 1.18 2014/11/20 16:34:25 christos Exp $ */ /* * Copyright (c) 1998 Darrin Jewell * Copyright (c) 1997 Rolf Grossmann @@ -39,7 +39,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: rtc.c,v 1.17 2014/03/24 20:01:03 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rtc.c,v 1.18 2014/11/20 16:34:25 christos Exp $"); #include #include /* for panic */ @@ -272,20 +272,20 @@ gettime_old(todr_chip_handle_t tch, struct clock_ymdhms *dt) { u_char h, y; - y = FROMBCD(rtc_read(RTC_YR)); + y = bcdtobin(rtc_read(RTC_YR)); if (y >= 69) { dt->dt_year = 1900+y; } else { dt->dt_year = 2000+y; } - dt->dt_mon = FROMBCD(rtc_read(RTC_MON)&0x1f); - dt->dt_day = FROMBCD(rtc_read(RTC_DATE)&0x3f); - dt->dt_wday = FROMBCD(rtc_read(RTC_DAY)&0x7); + dt->dt_mon = bcdtobin(rtc_read(RTC_MON)&0x1f); + dt->dt_day = bcdtobin(rtc_read(RTC_DATE)&0x3f); + dt->dt_wday = bcdtobin(rtc_read(RTC_DAY)&0x7); h = rtc_read(RTC_HRS); if (h & 0x80) { /* time is am/pm format */ - dt->dt_hour = FROMBCD(h&0x1f); + dt->dt_hour = bcdtobin(h&0x1f); if (h & 0x20) { /* pm */ if (dt->dt_hour < 12) dt->dt_hour += 12; } else { /* am */ @@ -294,12 +294,12 @@ gettime_old(todr_chip_handle_t tch, struct clock_ymdhms *dt) #ifdef notdef } else { /* time is 24 hour format */ struct clock_ymdhms val; - val.dt_hour = FROMBCD(h & 0x3f); + val.dt_hour = bcdtobin(h & 0x3f); #endif } - dt->dt_min = FROMBCD(rtc_read(RTC_MIN)&0x7f); - dt->dt_sec = FROMBCD(rtc_read(RTC_SEC)&0x7f); + dt->dt_min = bcdtobin(rtc_read(RTC_MIN)&0x7f); + dt->dt_sec = bcdtobin(rtc_read(RTC_SEC)&0x7f); return 0; } @@ -317,25 +317,25 @@ settime_old(todr_chip_handle_t tcr, struct clock_ymdhms *dt) rtc_print(); #endif - rtc_write(RTC_SEC,TOBCD(dt->dt_sec)); - rtc_write(RTC_MIN,TOBCD(dt->dt_min)); + rtc_write(RTC_SEC,bintobcd(dt->dt_sec)); + rtc_write(RTC_MIN,bintobcd(dt->dt_min)); h = rtc_read(RTC_HRS); if (h & 0x80) { /* time is am/pm format */ if (dt->dt_hour == 0) { - rtc_write(RTC_HRS,TOBCD(12)|0x80); + rtc_write(RTC_HRS,bintobcd(12)|0x80); } else if (dt->dt_hour < 12) { /* am */ - rtc_write(RTC_HRS,TOBCD(dt->dt_hour)|0x80); + rtc_write(RTC_HRS,bintobcd(dt->dt_hour)|0x80); } else if (dt->dt_hour == 12) { - rtc_write(RTC_HRS,TOBCD(12)|0x80|0x20); + rtc_write(RTC_HRS,bintobcd(12)|0x80|0x20); } else /* pm */ - rtc_write(RTC_HRS,TOBCD(dt->dt_hour-12)|0x80|0x20); + rtc_write(RTC_HRS,bintobcd(dt->dt_hour-12)|0x80|0x20); } else { /* time is 24 hour format */ - rtc_write(RTC_HRS,TOBCD(dt->dt_hour)); + rtc_write(RTC_HRS,bintobcd(dt->dt_hour)); } - rtc_write(RTC_DAY,TOBCD(dt->dt_wday)); - rtc_write(RTC_DATE,TOBCD(dt->dt_day)); - rtc_write(RTC_MON,TOBCD(dt->dt_mon)); - rtc_write(RTC_YR,TOBCD(dt->dt_year%100)); + rtc_write(RTC_DAY,bintobcd(dt->dt_wday)); + rtc_write(RTC_DATE,bintobcd(dt->dt_day)); + rtc_write(RTC_MON,bintobcd(dt->dt_mon)); + rtc_write(RTC_YR,bintobcd(dt->dt_year%100)); #ifdef RTC_DEBUG printf("Regs after:\n",secs); diff --git a/sys/arch/playstation2/playstation2/clock.c b/sys/arch/playstation2/playstation2/clock.c index 313e33b78927..62d746794032 100644 --- a/sys/arch/playstation2/playstation2/clock.c +++ b/sys/arch/playstation2/playstation2/clock.c @@ -1,4 +1,4 @@ -/* $NetBSD: clock.c,v 1.10 2014/07/04 08:09:47 martin Exp $ */ +/* $NetBSD: clock.c,v 1.11 2014/11/20 16:34:25 christos Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -27,7 +27,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.10 2014/07/04 08:09:47 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.11 2014/11/20 16:34:25 christos Exp $"); #include "debug_playstation2.h" @@ -82,12 +82,12 @@ get_bootinfo_tod(todr_chip_handle_t tch, struct clock_ymdhms *dt) (void *)MIPS_PHYS_TO_KSEG1(BOOTINFO_BLOCK_BASE + BOOTINFO_RTC); /* PS2 RTC is JST */ - dt->dt_year = FROMBCD(rtc->year) + 2000; - dt->dt_mon = FROMBCD(rtc->mon); - dt->dt_day = FROMBCD(rtc->day); - dt->dt_hour = FROMBCD(rtc->hour); - dt->dt_min = FROMBCD(rtc->min); - dt->dt_sec = FROMBCD(rtc->sec); + dt->dt_year = bcdtobin(rtc->year) + 2000; + dt->dt_mon = bcdtobin(rtc->mon); + dt->dt_day = bcdtobin(rtc->day); + dt->dt_hour = bcdtobin(rtc->hour); + dt->dt_min = bcdtobin(rtc->min); + dt->dt_sec = bcdtobin(rtc->sec); /* convert to UTC */ utc = clock_ymdhms_to_secs(dt) - 9*60*60; diff --git a/sys/arch/sbmips/sbmips/rtc.c b/sys/arch/sbmips/sbmips/rtc.c index 5f8e1c6a8ecd..ac885aa10ef2 100644 --- a/sys/arch/sbmips/sbmips/rtc.c +++ b/sys/arch/sbmips/sbmips/rtc.c @@ -1,4 +1,4 @@ -/* $NetBSD: rtc.c,v 1.19 2011/07/09 16:59:40 matt Exp $ */ +/* $NetBSD: rtc.c,v 1.20 2014/11/20 16:34:25 christos Exp $ */ /* * Copyright 2002 Wasabi Systems, Inc. @@ -36,7 +36,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: rtc.c,v 1.19 2011/07/09 16:59:40 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rtc.c,v 1.20 2014/11/20 16:34:25 christos Exp $"); #include #include @@ -160,18 +160,18 @@ xirtc_settime(todr_chip_handle_t handle, struct clock_ymdhms *ymdhms) WRITERTC(sc, X1241REG_SR, X1241REG_SR_WEL | X1241REG_SR_RWEL); /* set the time */ - WRITERTC(sc, X1241REG_HR, TOBCD(ymdhms->dt_hour) | X1241REG_HR_MIL); - WRITERTC(sc, X1241REG_MN, TOBCD(ymdhms->dt_min)); - WRITERTC(sc, X1241REG_SC, TOBCD(ymdhms->dt_sec)); + WRITERTC(sc, X1241REG_HR, bintobcd(ymdhms->dt_hour) | X1241REG_HR_MIL); + WRITERTC(sc, X1241REG_MN, bintobcd(ymdhms->dt_min)); + WRITERTC(sc, X1241REG_SC, bintobcd(ymdhms->dt_sec)); /* set the date */ y2k = (ymdhms->dt_year >= 2000) ? 0x20 : 0x19; year = ymdhms->dt_year % 100; - WRITERTC(sc, X1241REG_MO, TOBCD(ymdhms->dt_mon)); - WRITERTC(sc, X1241REG_DT, TOBCD(ymdhms->dt_day)); - WRITERTC(sc, X1241REG_YR, TOBCD(year)); - WRITERTC(sc, X1241REG_Y2K, TOBCD(y2k)); + WRITERTC(sc, X1241REG_MO, bintobcd(ymdhms->dt_mon)); + WRITERTC(sc, X1241REG_DT, bintobcd(ymdhms->dt_day)); + WRITERTC(sc, X1241REG_YR, bintobcd(year)); + WRITERTC(sc, X1241REG_Y2K, bintobcd(y2k)); /* lock writes again */ WRITERTC(sc, X1241REG_SR, 0); @@ -187,17 +187,17 @@ xirtc_gettime(todr_chip_handle_t handle, struct clock_ymdhms *ymdhms) uint8_t status; time_smbus_init(sc->sc_smbus_chan); - ymdhms->dt_day = FROMBCD(READRTC(sc, X1241REG_DT)); - ymdhms->dt_mon = FROMBCD(READRTC(sc, X1241REG_MO)); + ymdhms->dt_day = bcdtobin(READRTC(sc, X1241REG_DT)); + ymdhms->dt_mon = bcdtobin(READRTC(sc, X1241REG_MO)); year = READRTC(sc, X1241REG_YR); y2k = READRTC(sc, X1241REG_Y2K); - ymdhms->dt_year = FROMBCD(y2k) * 100 + FROMBCD(year); + ymdhms->dt_year = bcdtobin(y2k) * 100 + bcdtobin(year); - ymdhms->dt_sec = FROMBCD(READRTC(sc, X1241REG_SC)); - ymdhms->dt_min = FROMBCD(READRTC(sc, X1241REG_MN)); + ymdhms->dt_sec = bcdtobin(READRTC(sc, X1241REG_SC)); + ymdhms->dt_min = bcdtobin(READRTC(sc, X1241REG_MN)); hour = READRTC(sc, X1241REG_HR); - ymdhms->dt_hour = FROMBCD(hour & ~X1241REG_HR_MIL); + ymdhms->dt_hour = bcdtobin(hour & ~X1241REG_HR_MIL); status = READRTC(sc, X1241REG_SR); @@ -265,19 +265,19 @@ strtc_settime(todr_chip_handle_t handle, struct clock_ymdhms *ymdhms) time_smbus_init(sc->sc_smbus_chan); - hour = TOBCD(ymdhms->dt_hour); + hour = bintobcd(ymdhms->dt_hour); if (ymdhms->dt_year >= 2000) /* Should be always true! */ hour |= M41T81_HOUR_CB | M41T81_HOUR_CEB; /* set the time */ - WRITERTC(sc, M41T81_SEC, TOBCD(ymdhms->dt_sec)); - WRITERTC(sc, M41T81_MIN, TOBCD(ymdhms->dt_min)); + WRITERTC(sc, M41T81_SEC, bintobcd(ymdhms->dt_sec)); + WRITERTC(sc, M41T81_MIN, bintobcd(ymdhms->dt_min)); WRITERTC(sc, M41T81_HOUR, hour); /* set the date */ - WRITERTC(sc, M41T81_DATE, TOBCD(ymdhms->dt_day)); - WRITERTC(sc, M41T81_MON, TOBCD(ymdhms->dt_mon)); - WRITERTC(sc, M41T81_YEAR, TOBCD(ymdhms->dt_year % 100)); + WRITERTC(sc, M41T81_DATE, bintobcd(ymdhms->dt_day)); + WRITERTC(sc, M41T81_MON, bintobcd(ymdhms->dt_mon)); + WRITERTC(sc, M41T81_YEAR, bintobcd(ymdhms->dt_year % 100)); return (0); } @@ -290,14 +290,14 @@ strtc_gettime(todr_chip_handle_t handle, struct clock_ymdhms *ymdhms) time_smbus_init(sc->sc_smbus_chan); - ymdhms->dt_sec = FROMBCD(READRTC(sc, M41T81_SEC)); - ymdhms->dt_min = FROMBCD(READRTC(sc, M41T81_MIN)); + ymdhms->dt_sec = bcdtobin(READRTC(sc, M41T81_SEC)); + ymdhms->dt_min = bcdtobin(READRTC(sc, M41T81_MIN)); hour = READRTC(sc, M41T81_HOUR & M41T81_HOUR_MASK); - ymdhms->dt_hour = FROMBCD(hour & M41T81_HOUR_MASK); + ymdhms->dt_hour = bcdtobin(hour & M41T81_HOUR_MASK); - ymdhms->dt_day = FROMBCD(READRTC(sc, M41T81_DATE)); - ymdhms->dt_mon = FROMBCD(READRTC(sc, M41T81_MON)); - ymdhms->dt_year = 1900 + FROMBCD(READRTC(sc, M41T81_YEAR)); + ymdhms->dt_day = bcdtobin(READRTC(sc, M41T81_DATE)); + ymdhms->dt_mon = bcdtobin(READRTC(sc, M41T81_MON)); + ymdhms->dt_year = 1900 + bcdtobin(READRTC(sc, M41T81_YEAR)); if (hour & M41T81_HOUR_CB) ymdhms->dt_year += 100; @@ -305,7 +305,7 @@ strtc_gettime(todr_chip_handle_t handle, struct clock_ymdhms *ymdhms) } #define NITERS 3 -#define RTC_SECONDS(rtc) FROMBCD(READRTC((rtc), X1241REG_SC)) +#define RTC_SECONDS(rtc) bcdtobin(READRTC((rtc), X1241REG_SC)) /* * Since it takes so long to read the complete time/date values from diff --git a/sys/arch/sgimips/dev/dpclock.c b/sys/arch/sgimips/dev/dpclock.c index 2055da6f3b25..96f9a75de855 100644 --- a/sys/arch/sgimips/dev/dpclock.c +++ b/sys/arch/sgimips/dev/dpclock.c @@ -1,4 +1,4 @@ -/* $NetBSD: dpclock.c,v 1.4 2012/10/27 17:18:09 chs Exp $ */ +/* $NetBSD: dpclock.c,v 1.5 2014/11/20 16:34:26 christos Exp $ */ /* * Copyright (c) 2001 Erik Reid @@ -140,11 +140,11 @@ dpclock_gettime(struct todr_chip_handle *todrch, struct timeval *tv) for (i = 0; i < 32; i++) regs[i] = bus_space_read_1(sc->sc_rtct, sc->sc_rtch, i); - dt.dt_sec = FROMBCD(regs[DP8573A_SAVE_SEC]); - dt.dt_min = FROMBCD(regs[DP8573A_SAVE_MIN]); + dt.dt_sec = bcdtobin(regs[DP8573A_SAVE_SEC]); + dt.dt_min = bcdtobin(regs[DP8573A_SAVE_MIN]); if (regs[DP8573A_RT_MODE] & DP8573A_RT_MODE_1224) { - dt.dt_hour = FROMBCD(regs[DP8573A_SAVE_HOUR] & + dt.dt_hour = bcdtobin(regs[DP8573A_SAVE_HOUR] & DP8573A_HOUR_12HR_MASK) + ((regs[DP8573A_SAVE_HOUR] & DP8573A_RT_MODE_1224) ? 0 : 12); @@ -157,14 +157,14 @@ dpclock_gettime(struct todr_chip_handle *todrch, struct timeval *tv) if (dt.dt_hour == 24) dt.dt_hour = 0; } else { - dt.dt_hour = FROMBCD(regs[DP8573A_SAVE_HOUR] & + dt.dt_hour = bcdtobin(regs[DP8573A_SAVE_HOUR] & DP8573A_HOUR_24HR_MASK); } - dt.dt_wday = FROMBCD(regs[DP8573A_DOW]); /* Not from time saved */ - dt.dt_day = FROMBCD(regs[DP8573A_SAVE_DOM]); - dt.dt_mon = FROMBCD(regs[DP8573A_SAVE_MONTH]); - dt.dt_year = FROM_IRIX_YEAR(FROMBCD(regs[DP8573A_YEAR])); + dt.dt_wday = bcdtobin(regs[DP8573A_DOW]); /* Not from time saved */ + dt.dt_day = bcdtobin(regs[DP8573A_SAVE_DOM]); + dt.dt_mon = bcdtobin(regs[DP8573A_SAVE_MONTH]); + dt.dt_year = FROM_IRIX_YEAR(bcdtobin(regs[DP8573A_YEAR])); /* simple sanity checks */ if (dt.dt_mon > 12 || dt.dt_day > 31 || @@ -204,13 +204,13 @@ dpclock_settime(struct todr_chip_handle *todrch, struct timeval *tv) regs[i] = bus_space_read_1(sc->sc_rtct, sc->sc_rtch, i); regs[DP8573A_SUBSECOND] = 0; - regs[DP8573A_SECOND] = TOBCD(dt.dt_sec); - regs[DP8573A_MINUTE] = TOBCD(dt.dt_min); - regs[DP8573A_HOUR] = TOBCD(dt.dt_hour) & DP8573A_HOUR_24HR_MASK; - regs[DP8573A_DOW] = TOBCD(dt.dt_wday); - regs[DP8573A_DOM] = TOBCD(dt.dt_day); - regs[DP8573A_MONTH] = TOBCD(dt.dt_mon); - regs[DP8573A_YEAR] = TOBCD(TO_IRIX_YEAR(dt.dt_year)); + regs[DP8573A_SECOND] = bintobcd(dt.dt_sec); + regs[DP8573A_MINUTE] = bintobcd(dt.dt_min); + regs[DP8573A_HOUR] = bintobcd(dt.dt_hour) & DP8573A_HOUR_24HR_MASK; + regs[DP8573A_DOW] = bintobcd(dt.dt_wday); + regs[DP8573A_DOM] = bintobcd(dt.dt_day); + regs[DP8573A_MONTH] = bintobcd(dt.dt_mon); + regs[DP8573A_YEAR] = bintobcd(TO_IRIX_YEAR(dt.dt_year)); s = splhigh(); i = bus_space_read_1(sc->sc_rtct, sc->sc_rtch, DP8573A_RT_MODE); diff --git a/sys/arch/sgimips/dev/dsclock.c b/sys/arch/sgimips/dev/dsclock.c index e2e3c70c1533..12f92bf98084 100644 --- a/sys/arch/sgimips/dev/dsclock.c +++ b/sys/arch/sgimips/dev/dsclock.c @@ -1,4 +1,4 @@ -/* $NetBSD: dsclock.c,v 1.5 2011/07/01 18:53:46 dyoung Exp $ */ +/* $NetBSD: dsclock.c,v 1.6 2014/11/20 16:34:26 christos Exp $ */ /* * Copyright (c) 2001 Rafal K. Boni @@ -34,7 +34,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: dsclock.c,v 1.5 2011/07/01 18:53:46 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dsclock.c,v 1.6 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -126,12 +126,12 @@ dsclock_gettime_ymdhms(struct todr_chip_handle *todrch, struct clock_ymdhms *dt) DS1286_GETTOD(sc, ®s) splx(s); - dt->dt_sec = FROMBCD(regs[DS1286_SEC]); - dt->dt_min = FROMBCD(regs[DS1286_MIN]); + dt->dt_sec = bcdtobin(regs[DS1286_SEC]); + dt->dt_min = bcdtobin(regs[DS1286_MIN]); if (regs[DS1286_HOUR] & DS1286_HOUR_12MODE) { dt->dt_hour = - FROMBCD(regs[DS1286_HOUR] & DS1286_HOUR_12HR_MASK) + bcdtobin(regs[DS1286_HOUR] & DS1286_HOUR_12HR_MASK) + ((regs[DS1286_HOUR] & DS1286_HOUR_12HR_PM) ? 12 : 0); /* @@ -143,13 +143,13 @@ dsclock_gettime_ymdhms(struct todr_chip_handle *todrch, struct clock_ymdhms *dt) dt->dt_hour = 0; } else { dt->dt_hour = - FROMBCD(regs[DS1286_HOUR] & DS1286_HOUR_24HR_MASK); + bcdtobin(regs[DS1286_HOUR] & DS1286_HOUR_24HR_MASK); } - dt->dt_wday = FROMBCD(regs[DS1286_DOW]); - dt->dt_day = FROMBCD(regs[DS1286_DOM]); - dt->dt_mon = FROMBCD(regs[DS1286_MONTH] & DS1286_MONTH_MASK); - dt->dt_year = FROM_IRIX_YEAR(FROMBCD(regs[DS1286_YEAR])); + dt->dt_wday = bcdtobin(regs[DS1286_DOW]); + dt->dt_day = bcdtobin(regs[DS1286_DOM]); + dt->dt_mon = bcdtobin(regs[DS1286_MONTH] & DS1286_MONTH_MASK); + dt->dt_year = FROM_IRIX_YEAR(bcdtobin(regs[DS1286_YEAR])); return 0; } @@ -169,17 +169,17 @@ dsclock_settime_ymdhms(struct todr_chip_handle *todrch, struct clock_ymdhms *dt) splx(s); regs[DS1286_SUBSEC] = 0; - regs[DS1286_SEC] = TOBCD(dt->dt_sec); - regs[DS1286_MIN] = TOBCD(dt->dt_min); - regs[DS1286_HOUR] = TOBCD(dt->dt_hour) & DS1286_HOUR_24HR_MASK; - regs[DS1286_DOW] = TOBCD(dt->dt_wday); - regs[DS1286_DOM] = TOBCD(dt->dt_day); + regs[DS1286_SEC] = bintobcd(dt->dt_sec); + regs[DS1286_MIN] = bintobcd(dt->dt_min); + regs[DS1286_HOUR] = bintobcd(dt->dt_hour) & DS1286_HOUR_24HR_MASK; + regs[DS1286_DOW] = bintobcd(dt->dt_wday); + regs[DS1286_DOM] = bintobcd(dt->dt_day); /* Leave wave-generator bits as set originally */ regs[DS1286_MONTH] &= ~DS1286_MONTH_MASK; - regs[DS1286_MONTH] |= TOBCD(dt->dt_mon) & DS1286_MONTH_MASK; + regs[DS1286_MONTH] |= bintobcd(dt->dt_mon) & DS1286_MONTH_MASK; - regs[DS1286_YEAR] = TOBCD(TO_IRIX_YEAR(dt->dt_year)); + regs[DS1286_YEAR] = bintobcd(TO_IRIX_YEAR(dt->dt_year)); s = splhigh(); DS1286_PUTTOD(sc, ®s); diff --git a/sys/arch/sgimips/mace/mcclock_mace.c b/sys/arch/sgimips/mace/mcclock_mace.c index e9973eef06ec..12f4d5fc9c79 100644 --- a/sys/arch/sgimips/mace/mcclock_mace.c +++ b/sys/arch/sgimips/mace/mcclock_mace.c @@ -1,4 +1,4 @@ -/* $NetBSD: mcclock_mace.c,v 1.15 2013/12/16 15:45:29 mrg Exp $ */ +/* $NetBSD: mcclock_mace.c,v 1.16 2014/11/20 16:34:26 christos Exp $ */ /* * Copyright (c) 2001 Antti Kantee. All Rights Reserved. @@ -65,7 +65,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: mcclock_mace.c,v 1.15 2013/12/16 15:45:29 mrg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mcclock_mace.c,v 1.16 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -187,14 +187,14 @@ mcclock_mace_gettime_ymdhms(todr_chip_handle_t todrch, struct clock_ymdhms *dt) DS1687_GETTOD(sc, ®s); splx(s); - dt->dt_sec = FROMBCD(regs[DS1687_SOFT_SEC]); - dt->dt_min = FROMBCD(regs[DS1687_SOFT_MIN]); - dt->dt_hour = FROMBCD(regs[DS1687_SOFT_HOUR]); - dt->dt_wday = FROMBCD(regs[DS1687_SOFT_DOW]); - dt->dt_day = FROMBCD(regs[DS1687_SOFT_DOM]); - dt->dt_mon = FROMBCD(regs[DS1687_SOFT_MONTH]); - dt->dt_year = FROMBCD(regs[DS1687_SOFT_YEAR]) + - (100 * FROMBCD(regs[DS1687_SOFT_CENTURY])); + dt->dt_sec = bcdtobin(regs[DS1687_SOFT_SEC]); + dt->dt_min = bcdtobin(regs[DS1687_SOFT_MIN]); + dt->dt_hour = bcdtobin(regs[DS1687_SOFT_HOUR]); + dt->dt_wday = bcdtobin(regs[DS1687_SOFT_DOW]); + dt->dt_day = bcdtobin(regs[DS1687_SOFT_DOM]); + dt->dt_mon = bcdtobin(regs[DS1687_SOFT_MONTH]); + dt->dt_year = bcdtobin(regs[DS1687_SOFT_YEAR]) + + (100 * bcdtobin(regs[DS1687_SOFT_CENTURY])); return 0; } @@ -208,14 +208,14 @@ mcclock_mace_settime_ymdhms(todr_chip_handle_t todrch, struct clock_ymdhms *dt) memset(®s, 0, sizeof(regs)); - regs[DS1687_SOFT_SEC] = TOBCD(dt->dt_sec); - regs[DS1687_SOFT_MIN] = TOBCD(dt->dt_min); - regs[DS1687_SOFT_HOUR] = TOBCD(dt->dt_hour); - regs[DS1687_SOFT_DOW] = TOBCD(dt->dt_wday); - regs[DS1687_SOFT_DOM] = TOBCD(dt->dt_day); - regs[DS1687_SOFT_MONTH] = TOBCD(dt->dt_mon); - regs[DS1687_SOFT_YEAR] = TOBCD(dt->dt_year % 100); - regs[DS1687_SOFT_CENTURY] = TOBCD(dt->dt_year / 100); + regs[DS1687_SOFT_SEC] = bintobcd(dt->dt_sec); + regs[DS1687_SOFT_MIN] = bintobcd(dt->dt_min); + regs[DS1687_SOFT_HOUR] = bintobcd(dt->dt_hour); + regs[DS1687_SOFT_DOW] = bintobcd(dt->dt_wday); + regs[DS1687_SOFT_DOM] = bintobcd(dt->dt_day); + regs[DS1687_SOFT_MONTH] = bintobcd(dt->dt_mon); + regs[DS1687_SOFT_YEAR] = bintobcd(dt->dt_year % 100); + regs[DS1687_SOFT_CENTURY] = bintobcd(dt->dt_year / 100); s = splhigh(); DS1687_PUTTOD(sc, ®s); splx(s); diff --git a/sys/arch/sh3/dev/rtc.c b/sys/arch/sh3/dev/rtc.c index 910e5ad9fc2b..2a5b2c9f2a7b 100644 --- a/sys/arch/sh3/dev/rtc.c +++ b/sys/arch/sh3/dev/rtc.c @@ -1,4 +1,4 @@ -/* $NetBSD: rtc.c,v 1.9 2014/09/08 10:00:18 martin Exp $ */ +/* $NetBSD: rtc.c,v 1.10 2014/11/20 16:34:26 christos Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: rtc.c,v 1.9 2014/09/08 10:00:18 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rtc.c,v 1.10 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -180,11 +180,11 @@ rtc_gettime_ymdhms(todr_chip_handle_t h, struct clock_ymdhms *dt) year = _reg_read_1(SH3_RYRCNT); else year = _reg_read_2(SH4_RYRCNT) & 0x00ff; - dt->dt_year = FROMBCD(year); + dt->dt_year = bcdtobin(year); /* read counter */ #define RTCGET(x, y) \ - dt->dt_ ## x = FROMBCD(_reg_read_1(SH_(R ## y ## CNT))) + dt->dt_ ## x = bcdtobin(_reg_read_1(SH_(R ## y ## CNT))) RTCGET(mon, MON); RTCGET(wday, WK); @@ -231,7 +231,7 @@ rtc_settime_ymdhms(todr_chip_handle_t h, struct clock_ymdhms *dt) if (year > 99) year -= 100; - year = TOBCD(year); + year = bintobcd(year); r = _reg_read_1(SH_(RCR2)); @@ -245,7 +245,7 @@ rtc_settime_ymdhms(todr_chip_handle_t h, struct clock_ymdhms *dt) _reg_write_2(SH4_RYRCNT, year); #define RTCSET(x, y) \ - _reg_write_1(SH_(R ## x ## CNT), TOBCD(dt->dt_ ## y)) + _reg_write_1(SH_(R ## x ## CNT), bintobcd(dt->dt_ ## y)) RTCSET(MON, mon); RTCSET(WK, wday); diff --git a/sys/dev/i2c/ds1307.c b/sys/dev/i2c/ds1307.c index 00f213258c3c..f3f9e37c854b 100644 --- a/sys/dev/i2c/ds1307.c +++ b/sys/dev/i2c/ds1307.c @@ -1,4 +1,4 @@ -/* $NetBSD: ds1307.c,v 1.20 2014/10/13 10:29:27 martin Exp $ */ +/* $NetBSD: ds1307.c,v 1.21 2014/11/20 16:34:26 christos Exp $ */ /* * Copyright (c) 2003 Wasabi Systems, Inc. @@ -36,7 +36,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ds1307.c,v 1.20 2014/10/13 10:29:27 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ds1307.c,v 1.21 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -432,23 +432,23 @@ dsrtc_clock_read_ymdhms(struct dsrtc_softc *sc, struct clock_ymdhms *dt) /* * Convert the RTC's register values into something useable */ - dt->dt_sec = FROMBCD(bcd[DSXXXX_SECONDS] & DSXXXX_SECONDS_MASK); - dt->dt_min = FROMBCD(bcd[DSXXXX_MINUTES] & DSXXXX_MINUTES_MASK); + dt->dt_sec = bcdtobin(bcd[DSXXXX_SECONDS] & DSXXXX_SECONDS_MASK); + dt->dt_min = bcdtobin(bcd[DSXXXX_MINUTES] & DSXXXX_MINUTES_MASK); if ((bcd[DSXXXX_HOURS] & DSXXXX_HOURS_12HRS_MODE) != 0) { - dt->dt_hour = FROMBCD(bcd[DSXXXX_HOURS] & + dt->dt_hour = bcdtobin(bcd[DSXXXX_HOURS] & DSXXXX_HOURS_12MASK) % 12; /* 12AM -> 0, 12PM -> 12 */ if (bcd[DSXXXX_HOURS] & DSXXXX_HOURS_12HRS_PM) dt->dt_hour += 12; } else - dt->dt_hour = FROMBCD(bcd[DSXXXX_HOURS] & + dt->dt_hour = bcdtobin(bcd[DSXXXX_HOURS] & DSXXXX_HOURS_24MASK); - dt->dt_day = FROMBCD(bcd[DSXXXX_DATE] & DSXXXX_DATE_MASK); - dt->dt_mon = FROMBCD(bcd[DSXXXX_MONTH] & DSXXXX_MONTH_MASK); + dt->dt_day = bcdtobin(bcd[DSXXXX_DATE] & DSXXXX_DATE_MASK); + dt->dt_mon = bcdtobin(bcd[DSXXXX_MONTH] & DSXXXX_MONTH_MASK); /* XXX: Should be an MD way to specify EPOCH used by BIOS/Firmware */ - dt->dt_year = FROMBCD(bcd[DSXXXX_YEAR]) + POSIX_BASE_YEAR; + dt->dt_year = bcdtobin(bcd[DSXXXX_YEAR]) + POSIX_BASE_YEAR; if (bcd[DSXXXX_MONTH] & DSXXXX_MONTH_CENTURY) dt->dt_year += 100; @@ -468,13 +468,13 @@ dsrtc_clock_write_ymdhms(struct dsrtc_softc *sc, struct clock_ymdhms *dt) * Convert our time representation into something the DSXXXX * can understand. */ - bcd[DSXXXX_SECONDS] = TOBCD(dt->dt_sec); - bcd[DSXXXX_MINUTES] = TOBCD(dt->dt_min); - bcd[DSXXXX_HOURS] = TOBCD(dt->dt_hour); /* DSXXXX_HOURS_12HRS_MODE=0 */ - bcd[DSXXXX_DATE] = TOBCD(dt->dt_day); - bcd[DSXXXX_DAY] = TOBCD(dt->dt_wday); - bcd[DSXXXX_MONTH] = TOBCD(dt->dt_mon); - bcd[DSXXXX_YEAR] = TOBCD((dt->dt_year - POSIX_BASE_YEAR) % 100); + bcd[DSXXXX_SECONDS] = bintobcd(dt->dt_sec); + bcd[DSXXXX_MINUTES] = bintobcd(dt->dt_min); + bcd[DSXXXX_HOURS] = bintobcd(dt->dt_hour); /* DSXXXX_HOURS_12HRS_MODE=0 */ + bcd[DSXXXX_DATE] = bintobcd(dt->dt_day); + bcd[DSXXXX_DAY] = bintobcd(dt->dt_wday); + bcd[DSXXXX_MONTH] = bintobcd(dt->dt_mon); + bcd[DSXXXX_YEAR] = bintobcd((dt->dt_year - POSIX_BASE_YEAR) % 100); if (dt->dt_year - POSIX_BASE_YEAR >= 100) bcd[DSXXXX_MONTH] |= DSXXXX_MONTH_CENTURY; diff --git a/sys/dev/i2c/m41st84.c b/sys/dev/i2c/m41st84.c index 9530390d17dd..00e833d445d6 100644 --- a/sys/dev/i2c/m41st84.c +++ b/sys/dev/i2c/m41st84.c @@ -1,4 +1,4 @@ -/* $NetBSD: m41st84.c,v 1.21 2014/07/25 08:10:37 dholland Exp $ */ +/* $NetBSD: m41st84.c,v 1.22 2014/11/20 16:34:26 christos Exp $ */ /* * Copyright (c) 2003 Wasabi Systems, Inc. @@ -36,7 +36,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: m41st84.c,v 1.21 2014/07/25 08:10:37 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: m41st84.c,v 1.22 2014/11/20 16:34:26 christos Exp $"); #include "opt_strtc.h" @@ -346,14 +346,14 @@ strtc_clock_read(struct strtc_softc *sc, struct clock_ymdhms *dt) /* * Convert the M41ST84's register values into something useable */ - dt->dt_sec = FROMBCD(bcd[M41ST84_REG_SEC] & M41ST84_SEC_MASK); - dt->dt_min = FROMBCD(bcd[M41ST84_REG_MIN] & M41ST84_MIN_MASK); - dt->dt_hour = FROMBCD(bcd[M41ST84_REG_CENHR] & M41ST84_HOUR_MASK); - dt->dt_day = FROMBCD(bcd[M41ST84_REG_DATE] & M41ST84_DATE_MASK); - dt->dt_mon = FROMBCD(bcd[M41ST84_REG_MONTH] & M41ST84_MONTH_MASK); + dt->dt_sec = bcdtobin(bcd[M41ST84_REG_SEC] & M41ST84_SEC_MASK); + dt->dt_min = bcdtobin(bcd[M41ST84_REG_MIN] & M41ST84_MIN_MASK); + dt->dt_hour = bcdtobin(bcd[M41ST84_REG_CENHR] & M41ST84_HOUR_MASK); + dt->dt_day = bcdtobin(bcd[M41ST84_REG_DATE] & M41ST84_DATE_MASK); + dt->dt_mon = bcdtobin(bcd[M41ST84_REG_MONTH] & M41ST84_MONTH_MASK); /* XXX: Should be an MD way to specify EPOCH used by BIOS/Firmware */ - dt->dt_year = FROMBCD(bcd[M41ST84_REG_YEAR]) + POSIX_BASE_YEAR; + dt->dt_year = bcdtobin(bcd[M41ST84_REG_YEAR]) + POSIX_BASE_YEAR; return (1); } @@ -368,14 +368,14 @@ strtc_clock_write(struct strtc_softc *sc, struct clock_ymdhms *dt) * Convert our time representation into something the M41ST84 * can understand. */ - bcd[M41ST84_REG_CSEC] = TOBCD(0); /* must always write as 0 */ - bcd[M41ST84_REG_SEC] = TOBCD(dt->dt_sec); - bcd[M41ST84_REG_MIN] = TOBCD(dt->dt_min); - bcd[M41ST84_REG_CENHR] = TOBCD(dt->dt_hour); - bcd[M41ST84_REG_DATE] = TOBCD(dt->dt_day); - bcd[M41ST84_REG_DAY] = TOBCD(dt->dt_wday); - bcd[M41ST84_REG_MONTH] = TOBCD(dt->dt_mon); - bcd[M41ST84_REG_YEAR] = TOBCD((dt->dt_year - POSIX_BASE_YEAR) % 100); + bcd[M41ST84_REG_CSEC] = bintobcd(0); /* must always write as 0 */ + bcd[M41ST84_REG_SEC] = bintobcd(dt->dt_sec); + bcd[M41ST84_REG_MIN] = bintobcd(dt->dt_min); + bcd[M41ST84_REG_CENHR] = bintobcd(dt->dt_hour); + bcd[M41ST84_REG_DATE] = bintobcd(dt->dt_day); + bcd[M41ST84_REG_DAY] = bintobcd(dt->dt_wday); + bcd[M41ST84_REG_MONTH] = bintobcd(dt->dt_mon); + bcd[M41ST84_REG_YEAR] = bintobcd((dt->dt_year - POSIX_BASE_YEAR) % 100); if (iic_acquire_bus(sc->sc_tag, I2C_F_POLL)) { aprint_error_dev(sc->sc_dev, diff --git a/sys/dev/i2c/m41t00.c b/sys/dev/i2c/m41t00.c index de78d8ab0f2a..7eb41e56653e 100644 --- a/sys/dev/i2c/m41t00.c +++ b/sys/dev/i2c/m41t00.c @@ -1,4 +1,4 @@ -/* $NetBSD: m41t00.c,v 1.18 2014/07/25 08:10:37 dholland Exp $ */ +/* $NetBSD: m41t00.c,v 1.19 2014/11/20 16:34:26 christos Exp $ */ /* * Copyright (c) 2003 Wasabi Systems, Inc. @@ -36,7 +36,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: m41t00.c,v 1.18 2014/07/25 08:10:37 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: m41t00.c,v 1.19 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -311,13 +311,13 @@ m41t00_clock_read(struct m41t00_softc *sc, struct clock_ymdhms *dt) /* * Convert the M41T00's register values into something useable */ - dt->dt_sec = FROMBCD(bcd[M41T00_SEC] & M41T00_SEC_MASK); - dt->dt_min = FROMBCD(bcd[M41T00_MIN] & M41T00_MIN_MASK); - dt->dt_hour = FROMBCD(bcd[M41T00_CENHR] & M41T00_HOUR_MASK); - dt->dt_day = FROMBCD(bcd[M41T00_DATE] & M41T00_DATE_MASK); - dt->dt_wday = FROMBCD(bcd[M41T00_DAY] & M41T00_DAY_MASK); - dt->dt_mon = FROMBCD(bcd[M41T00_MONTH] & M41T00_MONTH_MASK); - dt->dt_year = FROMBCD(bcd[M41T00_YEAR] & M41T00_YEAR_MASK); + dt->dt_sec = bcdtobin(bcd[M41T00_SEC] & M41T00_SEC_MASK); + dt->dt_min = bcdtobin(bcd[M41T00_MIN] & M41T00_MIN_MASK); + dt->dt_hour = bcdtobin(bcd[M41T00_CENHR] & M41T00_HOUR_MASK); + dt->dt_day = bcdtobin(bcd[M41T00_DATE] & M41T00_DATE_MASK); + dt->dt_wday = bcdtobin(bcd[M41T00_DAY] & M41T00_DAY_MASK); + dt->dt_mon = bcdtobin(bcd[M41T00_MONTH] & M41T00_MONTH_MASK); + dt->dt_year = bcdtobin(bcd[M41T00_YEAR] & M41T00_YEAR_MASK); /* * Since the m41t00 just stores 00-99, and this is 2003 as I write @@ -339,13 +339,13 @@ m41t00_clock_write(struct m41t00_softc *sc, struct clock_ymdhms *dt) * Convert our time representation into something the MAX6900 * can understand. */ - bcd[M41T00_SEC] = TOBCD(dt->dt_sec); - bcd[M41T00_MIN] = TOBCD(dt->dt_min); - bcd[M41T00_CENHR] = TOBCD(dt->dt_hour); - bcd[M41T00_DATE] = TOBCD(dt->dt_day); - bcd[M41T00_DAY] = TOBCD(dt->dt_wday); - bcd[M41T00_MONTH] = TOBCD(dt->dt_mon); - bcd[M41T00_YEAR] = TOBCD(dt->dt_year % 100); + bcd[M41T00_SEC] = bintobcd(dt->dt_sec); + bcd[M41T00_MIN] = bintobcd(dt->dt_min); + bcd[M41T00_CENHR] = bintobcd(dt->dt_hour); + bcd[M41T00_DATE] = bintobcd(dt->dt_day); + bcd[M41T00_DAY] = bintobcd(dt->dt_wday); + bcd[M41T00_MONTH] = bintobcd(dt->dt_mon); + bcd[M41T00_YEAR] = bintobcd(dt->dt_year % 100); if (iic_acquire_bus(sc->sc_tag, I2C_F_POLL)) { aprint_error_dev(sc->sc_dev, @@ -386,7 +386,7 @@ m41t00_clock_write(struct m41t00_softc *sc, struct clock_ymdhms *dt) "INITIAL SECONDS\n"); return 0; } - init_seconds = FROMBCD(init_seconds & M41T00_SEC_MASK); + init_seconds = bcdtobin(init_seconds & M41T00_SEC_MASK); for (i = 1; i < M41T00_DATE_BYTES; i++) { cmdbuf[0] = m41t00_rtc_offset[i]; @@ -411,7 +411,7 @@ m41t00_clock_write(struct m41t00_softc *sc, struct clock_ymdhms *dt) "FINAL SECONDS\n"); return 0; } - final_seconds = FROMBCD(final_seconds & M41T00_SEC_MASK); + final_seconds = bcdtobin(final_seconds & M41T00_SEC_MASK); if ((init_seconds != final_seconds) && (((init_seconds + 1) % 60) != final_seconds)) { diff --git a/sys/dev/i2c/max6900.c b/sys/dev/i2c/max6900.c index f1ab51d69846..a1016ddce19b 100644 --- a/sys/dev/i2c/max6900.c +++ b/sys/dev/i2c/max6900.c @@ -1,4 +1,4 @@ -/* $NetBSD: max6900.c,v 1.14 2014/07/25 08:10:37 dholland Exp $ */ +/* $NetBSD: max6900.c,v 1.15 2014/11/20 16:34:26 christos Exp $ */ /* * Copyright (c) 2003 Wasabi Systems, Inc. @@ -36,7 +36,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: max6900.c,v 1.14 2014/07/25 08:10:37 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: max6900.c,v 1.15 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -338,24 +338,24 @@ maxrtc_clock_read(struct maxrtc_softc *sc, struct clock_ymdhms *dt) /* * Convert the MAX6900's register values into something useable */ - dt->dt_sec = FROMBCD(bcd[MAX6900_BURST_SECOND] & MAX6900_SECOND_MASK); - dt->dt_min = FROMBCD(bcd[MAX6900_BURST_MINUTE] & MAX6900_MINUTE_MASK); + dt->dt_sec = bcdtobin(bcd[MAX6900_BURST_SECOND] & MAX6900_SECOND_MASK); + dt->dt_min = bcdtobin(bcd[MAX6900_BURST_MINUTE] & MAX6900_MINUTE_MASK); if (bcd[MAX6900_BURST_HOUR] & MAX6900_HOUR_12HRS) { - dt->dt_hour = FROMBCD(bcd[MAX6900_BURST_HOUR] & + dt->dt_hour = bcdtobin(bcd[MAX6900_BURST_HOUR] & MAX6900_HOUR_12MASK); if (bcd[MAX6900_BURST_HOUR] & MAX6900_HOUR_12HRS_PM) dt->dt_hour += 12; } else { - dt->dt_hour = FROMBCD(bcd[MAX6900_BURST_HOUR] & + dt->dt_hour = bcdtobin(bcd[MAX6900_BURST_HOUR] & MAX6900_HOUR_24MASK); } - dt->dt_day = FROMBCD(bcd[MAX6900_BURST_DATE] & MAX6900_DATE_MASK); - dt->dt_mon = FROMBCD(bcd[MAX6900_BURST_MONTH] & MAX6900_MONTH_MASK); - dt->dt_year = FROMBCD(bcd[MAX6900_BURST_YEAR]); + dt->dt_day = bcdtobin(bcd[MAX6900_BURST_DATE] & MAX6900_DATE_MASK); + dt->dt_mon = bcdtobin(bcd[MAX6900_BURST_MONTH] & MAX6900_MONTH_MASK); + dt->dt_year = bcdtobin(bcd[MAX6900_BURST_YEAR]); /* century in the burst control slot */ - dt->dt_year += (int)FROMBCD(bcd[MAX6900_BURST_CONTROL]) * 100; + dt->dt_year += (int)bcdtobin(bcd[MAX6900_BURST_CONTROL]) * 100; return (1); } @@ -371,15 +371,15 @@ maxrtc_clock_write(struct maxrtc_softc *sc, struct clock_ymdhms *dt) * Convert our time representation into something the MAX6900 * can understand. */ - bcd[MAX6900_BURST_SECOND] = TOBCD(dt->dt_sec); - bcd[MAX6900_BURST_MINUTE] = TOBCD(dt->dt_min); - bcd[MAX6900_BURST_HOUR] = TOBCD(dt->dt_hour) & MAX6900_HOUR_24MASK; - bcd[MAX6900_BURST_DATE] = TOBCD(dt->dt_day); - bcd[MAX6900_BURST_WDAY] = TOBCD(dt->dt_wday); - bcd[MAX6900_BURST_MONTH] = TOBCD(dt->dt_mon); - bcd[MAX6900_BURST_YEAR] = TOBCD(dt->dt_year % 100); + bcd[MAX6900_BURST_SECOND] = bintobcd(dt->dt_sec); + bcd[MAX6900_BURST_MINUTE] = bintobcd(dt->dt_min); + bcd[MAX6900_BURST_HOUR] = bintobcd(dt->dt_hour) & MAX6900_HOUR_24MASK; + bcd[MAX6900_BURST_DATE] = bintobcd(dt->dt_day); + bcd[MAX6900_BURST_WDAY] = bintobcd(dt->dt_wday); + bcd[MAX6900_BURST_MONTH] = bintobcd(dt->dt_mon); + bcd[MAX6900_BURST_YEAR] = bintobcd(dt->dt_year % 100); /* century in control slot */ - bcd[MAX6900_BURST_CONTROL] = TOBCD(dt->dt_year / 100); + bcd[MAX6900_BURST_CONTROL] = bintobcd(dt->dt_year / 100); if (iic_acquire_bus(sc->sc_tag, I2C_F_POLL)) { aprint_error_dev(sc->sc_dev, diff --git a/sys/dev/i2c/pcf8563.c b/sys/dev/i2c/pcf8563.c index 99d0b045c8f4..b8a410e92c60 100644 --- a/sys/dev/i2c/pcf8563.c +++ b/sys/dev/i2c/pcf8563.c @@ -1,4 +1,4 @@ -/* $NetBSD: pcf8563.c,v 1.3 2012/01/07 21:02:15 phx Exp $ */ +/* $NetBSD: pcf8563.c,v 1.4 2014/11/20 16:34:26 christos Exp $ */ /* * Copyright (c) 2011 Jonathan A. Kollasch @@ -27,7 +27,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: pcf8563.c,v 1.3 2012/01/07 21:02:15 phx Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pcf8563.c,v 1.4 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -136,12 +136,12 @@ pcf8563rtc_clock_read(struct pcf8563rtc_softc *sc, struct clock_ymdhms *dt) iic_release_bus(sc->sc_tag, I2C_F_POLL); - dt->dt_sec = FROMBCD(bcd[PCF8563_R_SECOND] & PCF8563_M_SECOND); - dt->dt_min = FROMBCD(bcd[PCF8563_R_MINUTE] & PCF8563_M_MINUTE); - dt->dt_hour = FROMBCD(bcd[PCF8563_R_HOUR] & PCF8563_M_HOUR); - dt->dt_day = FROMBCD(bcd[PCF8563_R_DAY] & PCF8563_M_DAY); - dt->dt_mon = FROMBCD(bcd[PCF8563_R_MONTH] & PCF8563_M_MONTH); - dt->dt_year = FROMBCD(bcd[PCF8563_R_YEAR] & PCF8563_M_YEAR); + dt->dt_sec = bcdtobin(bcd[PCF8563_R_SECOND] & PCF8563_M_SECOND); + dt->dt_min = bcdtobin(bcd[PCF8563_R_MINUTE] & PCF8563_M_MINUTE); + dt->dt_hour = bcdtobin(bcd[PCF8563_R_HOUR] & PCF8563_M_HOUR); + dt->dt_day = bcdtobin(bcd[PCF8563_R_DAY] & PCF8563_M_DAY); + dt->dt_mon = bcdtobin(bcd[PCF8563_R_MONTH] & PCF8563_M_MONTH); + dt->dt_year = bcdtobin(bcd[PCF8563_R_YEAR] & PCF8563_M_YEAR); dt->dt_year += 2000; return 1; @@ -153,13 +153,13 @@ pcf8563rtc_clock_write(struct pcf8563rtc_softc *sc, struct clock_ymdhms *dt) uint8_t bcd[PCF8563_NREGS]; uint8_t reg = PCF8563_R_SECOND; - bcd[PCF8563_R_SECOND] = TOBCD(dt->dt_sec); - bcd[PCF8563_R_MINUTE] = TOBCD(dt->dt_min); - bcd[PCF8563_R_HOUR] = TOBCD(dt->dt_hour); - bcd[PCF8563_R_DAY] = TOBCD(dt->dt_day); - bcd[PCF8563_R_WEEKDAY] = TOBCD(dt->dt_wday); - bcd[PCF8563_R_MONTH] = TOBCD(dt->dt_mon); - bcd[PCF8563_R_YEAR] = TOBCD(dt->dt_year % 100); + bcd[PCF8563_R_SECOND] = bintobcd(dt->dt_sec); + bcd[PCF8563_R_MINUTE] = bintobcd(dt->dt_min); + bcd[PCF8563_R_HOUR] = bintobcd(dt->dt_hour); + bcd[PCF8563_R_DAY] = bintobcd(dt->dt_day); + bcd[PCF8563_R_WEEKDAY] = bintobcd(dt->dt_wday); + bcd[PCF8563_R_MONTH] = bintobcd(dt->dt_mon); + bcd[PCF8563_R_YEAR] = bintobcd(dt->dt_year % 100); if (iic_acquire_bus(sc->sc_tag, I2C_F_POLL)) { device_printf(sc->sc_dev, "acquire bus for write failed\n"); diff --git a/sys/dev/i2c/pcf8583.c b/sys/dev/i2c/pcf8583.c index 599fa93b8de4..2749e842aac9 100644 --- a/sys/dev/i2c/pcf8583.c +++ b/sys/dev/i2c/pcf8583.c @@ -1,4 +1,4 @@ -/* $NetBSD: pcf8583.c,v 1.15 2014/07/25 08:10:37 dholland Exp $ */ +/* $NetBSD: pcf8583.c,v 1.16 2014/11/20 16:34:26 christos Exp $ */ /* * Copyright (c) 2003 Wasabi Systems, Inc. @@ -43,7 +43,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: pcf8583.c,v 1.15 2014/07/25 08:10:37 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pcf8583.c,v 1.16 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -354,18 +354,18 @@ pcfrtc_clock_read(struct pcfrtc_softc *sc, struct clock_ymdhms *dt, /* * Convert the PCF8583's register values into something useable */ - *centi = FROMBCD(bcd[PCF8583_REG_CENTI]); - dt->dt_sec = FROMBCD(bcd[PCF8583_REG_SEC]); - dt->dt_min = FROMBCD(bcd[PCF8583_REG_MIN]); - dt->dt_hour = FROMBCD(bcd[PCF8583_REG_HOUR] & PCF8583_HOUR_MASK); + *centi = bcdtobin(bcd[PCF8583_REG_CENTI]); + dt->dt_sec = bcdtobin(bcd[PCF8583_REG_SEC]); + dt->dt_min = bcdtobin(bcd[PCF8583_REG_MIN]); + dt->dt_hour = bcdtobin(bcd[PCF8583_REG_HOUR] & PCF8583_HOUR_MASK); if (bcd[PCF8583_REG_HOUR] & PCF8583_HOUR_12H) { dt->dt_hour %= 12; /* 12AM -> 0, 12PM -> 12 */ if (bcd[PCF8583_REG_HOUR] & PCF8583_HOUR_PM) dt->dt_hour += 12; } - dt->dt_day = FROMBCD(bcd[PCF8583_REG_YEARDATE] & PCF8583_DATE_MASK); - dt->dt_mon = FROMBCD(bcd[PCF8583_REG_WKDYMON] & PCF8583_MON_MASK); + dt->dt_day = bcdtobin(bcd[PCF8583_REG_YEARDATE] & PCF8583_DATE_MASK); + dt->dt_mon = bcdtobin(bcd[PCF8583_REG_WKDYMON] & PCF8583_MON_MASK); dt->dt_year = bcd[8] + (bcd[9] * 100); /* Try to notice if the year's rolled over. */ @@ -394,12 +394,12 @@ pcfrtc_clock_write(struct pcfrtc_softc *sc, struct clock_ymdhms *dt, * can understand. */ bcd[PCF8583_REG_CENTI] = centi; - bcd[PCF8583_REG_SEC] = TOBCD(dt->dt_sec); - bcd[PCF8583_REG_MIN] = TOBCD(dt->dt_min); - bcd[PCF8583_REG_HOUR] = TOBCD(dt->dt_hour) & PCF8583_HOUR_MASK; - bcd[PCF8583_REG_YEARDATE] = TOBCD(dt->dt_day) | + bcd[PCF8583_REG_SEC] = bintobcd(dt->dt_sec); + bcd[PCF8583_REG_MIN] = bintobcd(dt->dt_min); + bcd[PCF8583_REG_HOUR] = bintobcd(dt->dt_hour) & PCF8583_HOUR_MASK; + bcd[PCF8583_REG_YEARDATE] = bintobcd(dt->dt_day) | ((dt->dt_year % 4) << PCF8583_YEAR_SHIFT); - bcd[PCF8583_REG_WKDYMON] = TOBCD(dt->dt_mon) | + bcd[PCF8583_REG_WKDYMON] = bintobcd(dt->dt_mon) | ((dt->dt_wday % 4) << PCF8583_WKDY_SHIFT); bcd[8] = dt->dt_year % 100; bcd[9] = dt->dt_year / 100; diff --git a/sys/dev/i2c/r2025.c b/sys/dev/i2c/r2025.c index cdc9e1a2ca48..e6a4ba2ea459 100644 --- a/sys/dev/i2c/r2025.c +++ b/sys/dev/i2c/r2025.c @@ -1,4 +1,4 @@ -/* $NetBSD: r2025.c,v 1.6 2009/12/12 14:44:10 tsutsui Exp $ */ +/* $NetBSD: r2025.c,v 1.7 2014/11/20 16:34:26 christos Exp $ */ /*- * Copyright (c) 2006 Shigeyuki Fukushima. @@ -33,7 +33,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: r2025.c,v 1.6 2009/12/12 14:44:10 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: r2025.c,v 1.7 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -125,9 +125,9 @@ r2025rtc_gettime(struct todr_chip_handle *ch, struct timeval *tv) return -1; } - dt.dt_sec = FROMBCD(bcd[R2025_REG_SEC] & R2025_REG_SEC_MASK); - dt.dt_min = FROMBCD(bcd[R2025_REG_MIN] & R2025_REG_MIN_MASK); - hour = FROMBCD(bcd[R2025_REG_HOUR] & R2025_REG_HOUR_MASK); + dt.dt_sec = bcdtobin(bcd[R2025_REG_SEC] & R2025_REG_SEC_MASK); + dt.dt_min = bcdtobin(bcd[R2025_REG_MIN] & R2025_REG_MIN_MASK); + hour = bcdtobin(bcd[R2025_REG_HOUR] & R2025_REG_HOUR_MASK); if (rctrl & R2025_REG_CTRL1_H1224) { dt.dt_hour = hour; } else { @@ -141,10 +141,10 @@ r2025rtc_gettime(struct todr_chip_handle *ch, struct timeval *tv) dt.dt_hour = hour; } } - dt.dt_wday = FROMBCD(bcd[R2025_REG_WDAY] & R2025_REG_WDAY_MASK); - dt.dt_day = FROMBCD(bcd[R2025_REG_DAY] & R2025_REG_DAY_MASK); - dt.dt_mon = FROMBCD(bcd[R2025_REG_MON] & R2025_REG_MON_MASK); - dt.dt_year = FROMBCD(bcd[R2025_REG_YEAR] & R2025_REG_YEAR_MASK) + dt.dt_wday = bcdtobin(bcd[R2025_REG_WDAY] & R2025_REG_WDAY_MASK); + dt.dt_day = bcdtobin(bcd[R2025_REG_DAY] & R2025_REG_DAY_MASK); + dt.dt_mon = bcdtobin(bcd[R2025_REG_MON] & R2025_REG_MON_MASK); + dt.dt_year = bcdtobin(bcd[R2025_REG_YEAR] & R2025_REG_YEAR_MASK) + ((bcd[R2025_REG_MON] & R2025_REG_MON_Y1920) ? 2000 : 1900); tv->tv_sec = clock_ymdhms_to_secs(&dt); @@ -179,14 +179,14 @@ r2025rtc_settime(struct todr_chip_handle *ch, struct timeval *tv) rctrl |= R2025_REG_CTRL1_H1224; /* setup registers 0x00-0x06 (7 byte) */ - bcd[R2025_REG_SEC] = TOBCD(dt.dt_sec) & R2025_REG_SEC_MASK; - bcd[R2025_REG_MIN] = TOBCD(dt.dt_min) & R2025_REG_MIN_MASK; - bcd[R2025_REG_HOUR] = TOBCD(dt.dt_hour) & R2025_REG_HOUR_MASK; - bcd[R2025_REG_WDAY] = TOBCD(dt.dt_wday) & R2025_REG_WDAY_MASK; - bcd[R2025_REG_DAY] = TOBCD(dt.dt_day) & R2025_REG_DAY_MASK; - bcd[R2025_REG_MON] = (TOBCD(dt.dt_mon) & R2025_REG_MON_MASK) + bcd[R2025_REG_SEC] = bintobcd(dt.dt_sec) & R2025_REG_SEC_MASK; + bcd[R2025_REG_MIN] = bintobcd(dt.dt_min) & R2025_REG_MIN_MASK; + bcd[R2025_REG_HOUR] = bintobcd(dt.dt_hour) & R2025_REG_HOUR_MASK; + bcd[R2025_REG_WDAY] = bintobcd(dt.dt_wday) & R2025_REG_WDAY_MASK; + bcd[R2025_REG_DAY] = bintobcd(dt.dt_day) & R2025_REG_DAY_MASK; + bcd[R2025_REG_MON] = (bintobcd(dt.dt_mon) & R2025_REG_MON_MASK) | ((dt.dt_year >= 2000) ? R2025_REG_MON_Y1920 : 0); - bcd[R2025_REG_YEAR] = TOBCD(dt.dt_year % 100) & R2025_REG_YEAR_MASK; + bcd[R2025_REG_YEAR] = bintobcd(dt.dt_year % 100) & R2025_REG_YEAR_MASK; /* Write RTC register */ if (r2025rtc_reg_write(sc, R2025_REG_CTRL1, &rctrl, 1) != 0) { diff --git a/sys/dev/i2c/rs5c372.c b/sys/dev/i2c/rs5c372.c index 3dcb43d779a0..cfaa81228559 100644 --- a/sys/dev/i2c/rs5c372.c +++ b/sys/dev/i2c/rs5c372.c @@ -1,4 +1,4 @@ -/* $NetBSD: rs5c372.c,v 1.13 2014/06/29 04:04:02 tsutsui Exp $ */ +/* $NetBSD: rs5c372.c,v 1.14 2014/11/20 16:34:26 christos Exp $ */ /*- * Copyright (C) 2005 NONAKA Kimihiro @@ -26,7 +26,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: rs5c372.c,v 1.13 2014/06/29 04:04:02 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rs5c372.c,v 1.14 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -175,12 +175,12 @@ rs5c372rtc_clock_read(struct rs5c372rtc_softc *sc, struct clock_ymdhms *dt) /* * Convert the RS5C372's register values into something useable */ - dt->dt_sec = FROMBCD(bcd[RS5C372_SECONDS] & RS5C372_SECONDS_MASK); - dt->dt_min = FROMBCD(bcd[RS5C372_MINUTES] & RS5C372_MINUTES_MASK); - dt->dt_hour = FROMBCD(bcd[RS5C372_HOURS] & RS5C372_HOURS_24MASK); - dt->dt_day = FROMBCD(bcd[RS5C372_DATE] & RS5C372_DATE_MASK); - dt->dt_mon = FROMBCD(bcd[RS5C372_MONTH] & RS5C372_MONTH_MASK); - dt->dt_year = FROMBCD(bcd[RS5C372_YEAR]) + 2000; + dt->dt_sec = bcdtobin(bcd[RS5C372_SECONDS] & RS5C372_SECONDS_MASK); + dt->dt_min = bcdtobin(bcd[RS5C372_MINUTES] & RS5C372_MINUTES_MASK); + dt->dt_hour = bcdtobin(bcd[RS5C372_HOURS] & RS5C372_HOURS_24MASK); + dt->dt_day = bcdtobin(bcd[RS5C372_DATE] & RS5C372_DATE_MASK); + dt->dt_mon = bcdtobin(bcd[RS5C372_MONTH] & RS5C372_MONTH_MASK); + dt->dt_year = bcdtobin(bcd[RS5C372_YEAR]) + 2000; return (1); } @@ -195,13 +195,13 @@ rs5c372rtc_clock_write(struct rs5c372rtc_softc *sc, struct clock_ymdhms *dt) * Convert our time representation into something the RS5C372 * can understand. */ - bcd[RS5C372_SECONDS] = TOBCD(dt->dt_sec); - bcd[RS5C372_MINUTES] = TOBCD(dt->dt_min); - bcd[RS5C372_HOURS] = TOBCD(dt->dt_hour); - bcd[RS5C372_DATE] = TOBCD(dt->dt_day); - bcd[RS5C372_DAY] = TOBCD(dt->dt_wday); - bcd[RS5C372_MONTH] = TOBCD(dt->dt_mon); - bcd[RS5C372_YEAR] = TOBCD(dt->dt_year % 100); + bcd[RS5C372_SECONDS] = bintobcd(dt->dt_sec); + bcd[RS5C372_MINUTES] = bintobcd(dt->dt_min); + bcd[RS5C372_HOURS] = bintobcd(dt->dt_hour); + bcd[RS5C372_DATE] = bintobcd(dt->dt_day); + bcd[RS5C372_DAY] = bintobcd(dt->dt_wday); + bcd[RS5C372_MONTH] = bintobcd(dt->dt_mon); + bcd[RS5C372_YEAR] = bintobcd(dt->dt_year % 100); if (iic_acquire_bus(sc->sc_tag, I2C_F_POLL)) { aprint_error_dev(sc->sc_dev, "rs5c372rtc_clock_write: failed to " diff --git a/sys/dev/i2c/s390.c b/sys/dev/i2c/s390.c index 0c85337789d9..5b07ffc06450 100644 --- a/sys/dev/i2c/s390.c +++ b/sys/dev/i2c/s390.c @@ -1,4 +1,4 @@ -/* $NetBSD: s390.c,v 1.2 2011/05/28 13:59:31 phx Exp $ */ +/* $NetBSD: s390.c,v 1.3 2014/11/20 16:34:26 christos Exp $ */ /*- * Copyright (c) 2011 Frank Wille. @@ -29,7 +29,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: s390.c,v 1.2 2011/05/28 13:59:31 phx Exp $"); +__KERNEL_RCSID(0, "$NetBSD: s390.c,v 1.3 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -160,12 +160,12 @@ s390rtc_clock_read(struct s390rtc_softc *sc, struct clock_ymdhms *dt) /* * Convert the register values into something useable. */ - dt->dt_sec = FROMBCD(bcd[S390_RT1_SECOND]); - dt->dt_min = FROMBCD(bcd[S390_RT1_MINUTE]); - dt->dt_hour = FROMBCD(bcd[S390_RT1_HOUR] & 0x3f); - dt->dt_day = FROMBCD(bcd[S390_RT1_DAY]); - dt->dt_mon = FROMBCD(bcd[S390_RT1_MONTH]); - dt->dt_year = FROMBCD(bcd[S390_RT1_YEAR]) + 2000; + dt->dt_sec = bcdtobin(bcd[S390_RT1_SECOND]); + dt->dt_min = bcdtobin(bcd[S390_RT1_MINUTE]); + dt->dt_hour = bcdtobin(bcd[S390_RT1_HOUR] & 0x3f); + dt->dt_day = bcdtobin(bcd[S390_RT1_DAY]); + dt->dt_mon = bcdtobin(bcd[S390_RT1_MONTH]); + dt->dt_year = bcdtobin(bcd[S390_RT1_YEAR]) + 2000; return 1; } @@ -179,13 +179,13 @@ s390rtc_clock_write(struct s390rtc_softc *sc, struct clock_ymdhms *dt) * Convert our time representation into something the S-xx390 * can understand. */ - bcd[S390_RT1_SECOND] = TOBCD(dt->dt_sec); - bcd[S390_RT1_MINUTE] = TOBCD(dt->dt_min); - bcd[S390_RT1_HOUR] = TOBCD(dt->dt_hour); - bcd[S390_RT1_DAY] = TOBCD(dt->dt_day); - bcd[S390_RT1_WDAY] = TOBCD(dt->dt_wday); - bcd[S390_RT1_MONTH] = TOBCD(dt->dt_mon); - bcd[S390_RT1_YEAR] = TOBCD(dt->dt_year % 100); + bcd[S390_RT1_SECOND] = bintobcd(dt->dt_sec); + bcd[S390_RT1_MINUTE] = bintobcd(dt->dt_min); + bcd[S390_RT1_HOUR] = bintobcd(dt->dt_hour); + bcd[S390_RT1_DAY] = bintobcd(dt->dt_day); + bcd[S390_RT1_WDAY] = bintobcd(dt->dt_wday); + bcd[S390_RT1_MONTH] = bintobcd(dt->dt_mon); + bcd[S390_RT1_YEAR] = bintobcd(dt->dt_year % 100); return s390rtc_write(sc, S390_REALTIME1, bcd, S390_RT1_NBYTES); } diff --git a/sys/dev/i2c/tps65950.c b/sys/dev/i2c/tps65950.c index 61be12e97e5c..e68e83ed41b9 100644 --- a/sys/dev/i2c/tps65950.c +++ b/sys/dev/i2c/tps65950.c @@ -1,4 +1,4 @@ -/* $NetBSD: tps65950.c,v 1.4 2014/02/25 18:30:09 pooka Exp $ */ +/* $NetBSD: tps65950.c,v 1.5 2014/11/20 16:34:26 christos Exp $ */ /*- * Copyright (c) 2012 Jared D. McNeill @@ -31,7 +31,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: tps65950.c,v 1.4 2014/02/25 18:30:09 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: tps65950.c,v 1.5 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -361,13 +361,13 @@ tps65950_rtc_gettime(todr_chip_handle_t tch, struct clock_ymdhms *dt) RTC_READ(TPS65950_ID4_REG_WEEKS_REG, weeks_reg); iic_release_bus(sc->sc_i2c, 0); - dt->dt_sec = FROMBCD(seconds_reg); - dt->dt_min = FROMBCD(minutes_reg); - dt->dt_hour = FROMBCD(hours_reg); - dt->dt_day = FROMBCD(days_reg); - dt->dt_mon = FROMBCD(months_reg); - dt->dt_year = FROMBCD(years_reg) + 2000; - dt->dt_wday = FROMBCD(weeks_reg); + dt->dt_sec = bcdtobin(seconds_reg); + dt->dt_min = bcdtobin(minutes_reg); + dt->dt_hour = bcdtobin(hours_reg); + dt->dt_day = bcdtobin(days_reg); + dt->dt_mon = bcdtobin(months_reg); + dt->dt_year = bcdtobin(years_reg) + 2000; + dt->dt_wday = bcdtobin(weeks_reg); return 0; } @@ -380,13 +380,13 @@ tps65950_rtc_settime(todr_chip_handle_t tch, struct clock_ymdhms *dt) iic_acquire_bus(sc->sc_i2c, 0); tps65950_rtc_enable(sc, false); - RTC_WRITE(TPS65950_ID4_REG_SECONDS_REG, TOBCD(dt->dt_sec)); - RTC_WRITE(TPS65950_ID4_REG_MINUTES_REG, TOBCD(dt->dt_min)); - RTC_WRITE(TPS65950_ID4_REG_HOURS_REG, TOBCD(dt->dt_hour)); - RTC_WRITE(TPS65950_ID4_REG_DAYS_REG, TOBCD(dt->dt_day)); - RTC_WRITE(TPS65950_ID4_REG_MONTHS_REG, TOBCD(dt->dt_mon)); - RTC_WRITE(TPS65950_ID4_REG_YEARS_REG, TOBCD(dt->dt_year % 100)); - RTC_WRITE(TPS65950_ID4_REG_WEEKS_REG, TOBCD(dt->dt_wday)); + RTC_WRITE(TPS65950_ID4_REG_SECONDS_REG, bintobcd(dt->dt_sec)); + RTC_WRITE(TPS65950_ID4_REG_MINUTES_REG, bintobcd(dt->dt_min)); + RTC_WRITE(TPS65950_ID4_REG_HOURS_REG, bintobcd(dt->dt_hour)); + RTC_WRITE(TPS65950_ID4_REG_DAYS_REG, bintobcd(dt->dt_day)); + RTC_WRITE(TPS65950_ID4_REG_MONTHS_REG, bintobcd(dt->dt_mon)); + RTC_WRITE(TPS65950_ID4_REG_YEARS_REG, bintobcd(dt->dt_year % 100)); + RTC_WRITE(TPS65950_ID4_REG_WEEKS_REG, bintobcd(dt->dt_wday)); tps65950_rtc_enable(sc, true); iic_release_bus(sc->sc_i2c, 0); diff --git a/sys/dev/i2c/x1226.c b/sys/dev/i2c/x1226.c index f83d85d88360..1d3a90dc74e7 100644 --- a/sys/dev/i2c/x1226.c +++ b/sys/dev/i2c/x1226.c @@ -1,4 +1,4 @@ -/* $NetBSD: x1226.c,v 1.18 2014/08/04 23:28:19 joerg Exp $ */ +/* $NetBSD: x1226.c,v 1.19 2014/11/20 16:34:26 christos Exp $ */ /* * Copyright (c) 2003 Shigeyuki Fukushima. @@ -36,7 +36,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: x1226.c,v 1.18 2014/08/04 23:28:19 joerg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: x1226.c,v 1.19 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -317,29 +317,29 @@ xrtc_clock_read(struct xrtc_softc *sc, struct clock_ymdhms *dt) /* * Convert the X1226's register bcd values */ - dt->dt_sec = FROMBCD(bcd[X1226_REG_SC - X1226_REG_RTC_BASE] + dt->dt_sec = bcdtobin(bcd[X1226_REG_SC - X1226_REG_RTC_BASE] & X1226_REG_SC_MASK); - dt->dt_min = FROMBCD(bcd[X1226_REG_MN - X1226_REG_RTC_BASE] + dt->dt_min = bcdtobin(bcd[X1226_REG_MN - X1226_REG_RTC_BASE] & X1226_REG_MN_MASK); if (!(bcd[X1226_REG_HR - X1226_REG_RTC_BASE] & X1226_FLAG_HR_24H)) { - dt->dt_hour = FROMBCD(bcd[X1226_REG_HR - X1226_REG_RTC_BASE] + dt->dt_hour = bcdtobin(bcd[X1226_REG_HR - X1226_REG_RTC_BASE] & X1226_REG_HR12_MASK); if (bcd[X1226_REG_HR - X1226_REG_RTC_BASE] & X1226_FLAG_HR_12HPM) { dt->dt_hour += 12; } } else { - dt->dt_hour = FROMBCD(bcd[X1226_REG_HR - X1226_REG_RTC_BASE] + dt->dt_hour = bcdtobin(bcd[X1226_REG_HR - X1226_REG_RTC_BASE] & X1226_REG_HR24_MASK); } - dt->dt_wday = FROMBCD(bcd[X1226_REG_DW - X1226_REG_RTC_BASE] + dt->dt_wday = bcdtobin(bcd[X1226_REG_DW - X1226_REG_RTC_BASE] & X1226_REG_DT_MASK); - dt->dt_day = FROMBCD(bcd[X1226_REG_DT - X1226_REG_RTC_BASE] + dt->dt_day = bcdtobin(bcd[X1226_REG_DT - X1226_REG_RTC_BASE] & X1226_REG_DT_MASK); - dt->dt_mon = FROMBCD(bcd[X1226_REG_MO - X1226_REG_RTC_BASE] + dt->dt_mon = bcdtobin(bcd[X1226_REG_MO - X1226_REG_RTC_BASE] & X1226_REG_MO_MASK); - dt->dt_year = FROMBCD(bcd[X1226_REG_YR - X1226_REG_RTC_BASE] + dt->dt_year = bcdtobin(bcd[X1226_REG_YR - X1226_REG_RTC_BASE] & X1226_REG_YR_MASK); - dt->dt_year += FROMBCD(bcd[X1226_REG_Y2K - X1226_REG_RTC_BASE] + dt->dt_year += bcdtobin(bcd[X1226_REG_Y2K - X1226_REG_RTC_BASE] & X1226_REG_Y2K_MASK) * 100; return (1); @@ -354,15 +354,15 @@ xrtc_clock_write(struct xrtc_softc *sc, struct clock_ymdhms *dt) /* * Convert our time to bcd values */ - bcd[X1226_REG_SC - X1226_REG_RTC_BASE] = TOBCD(dt->dt_sec); - bcd[X1226_REG_MN - X1226_REG_RTC_BASE] = TOBCD(dt->dt_min); - bcd[X1226_REG_HR - X1226_REG_RTC_BASE] = TOBCD(dt->dt_hour) + bcd[X1226_REG_SC - X1226_REG_RTC_BASE] = bintobcd(dt->dt_sec); + bcd[X1226_REG_MN - X1226_REG_RTC_BASE] = bintobcd(dt->dt_min); + bcd[X1226_REG_HR - X1226_REG_RTC_BASE] = bintobcd(dt->dt_hour) | X1226_FLAG_HR_24H; - bcd[X1226_REG_DW - X1226_REG_RTC_BASE] = TOBCD(dt->dt_wday); - bcd[X1226_REG_DT - X1226_REG_RTC_BASE] = TOBCD(dt->dt_day); - bcd[X1226_REG_MO - X1226_REG_RTC_BASE] = TOBCD(dt->dt_mon); - bcd[X1226_REG_YR - X1226_REG_RTC_BASE] = TOBCD(dt->dt_year % 100); - bcd[X1226_REG_Y2K - X1226_REG_RTC_BASE] = TOBCD(dt->dt_year / 100); + bcd[X1226_REG_DW - X1226_REG_RTC_BASE] = bintobcd(dt->dt_wday); + bcd[X1226_REG_DT - X1226_REG_RTC_BASE] = bintobcd(dt->dt_day); + bcd[X1226_REG_MO - X1226_REG_RTC_BASE] = bintobcd(dt->dt_mon); + bcd[X1226_REG_YR - X1226_REG_RTC_BASE] = bintobcd(dt->dt_year % 100); + bcd[X1226_REG_Y2K - X1226_REG_RTC_BASE] = bintobcd(dt->dt_year / 100); if (iic_acquire_bus(sc->sc_tag, I2C_F_POLL)) { aprint_error_dev(sc->sc_dev, diff --git a/sys/dev/ic/mc146818.c b/sys/dev/ic/mc146818.c index 8ee39ee49781..5638a82a3a43 100644 --- a/sys/dev/ic/mc146818.c +++ b/sys/dev/ic/mc146818.c @@ -1,4 +1,4 @@ -/* $NetBSD: mc146818.c,v 1.18 2008/12/13 17:32:53 tsutsui Exp $ */ +/* $NetBSD: mc146818.c,v 1.19 2014/11/20 16:34:26 christos Exp $ */ /*- * Copyright (c) 2003 Izumi Tsutsui. All rights reserved. @@ -29,7 +29,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: mc146818.c,v 1.18 2008/12/13 17:32:53 tsutsui Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mc146818.c,v 1.19 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -97,7 +97,7 @@ mc146818_gettime_ymdhms(todr_chip_handle_t handle, struct clock_ymdhms *dt) } } -#define FROMREG(x) ((sc->sc_flag & MC146818_BCD) ? FROMBCD(x) : (x)) +#define FROMREG(x) ((sc->sc_flag & MC146818_BCD) ? bcdtobin(x) : (x)) dt->dt_sec = FROMREG((*sc->sc_mcread)(sc, MC_SEC)); dt->dt_min = FROMREG((*sc->sc_mcread)(sc, MC_MIN)); @@ -150,7 +150,7 @@ mc146818_settime_ymdhms(todr_chip_handle_t handle, struct clock_ymdhms *dt) (*sc->sc_mcwrite)(sc, MC_REGB, (*sc->sc_mcread)(sc, MC_REGB) | MC_REGB_SET); -#define TOREG(x) ((sc->sc_flag & MC146818_BCD) ? TOBCD(x) : (x)) +#define TOREG(x) ((sc->sc_flag & MC146818_BCD) ? bintobcd(x) : (x)) (*sc->sc_mcwrite)(sc, MC_SEC, TOREG(dt->dt_sec)); (*sc->sc_mcwrite)(sc, MC_MIN, TOREG(dt->dt_min)); diff --git a/sys/dev/ic/mk48txx.c b/sys/dev/ic/mk48txx.c index 2200ab553065..51f0ebf6715d 100644 --- a/sys/dev/ic/mk48txx.c +++ b/sys/dev/ic/mk48txx.c @@ -1,4 +1,4 @@ -/* $NetBSD: mk48txx.c,v 1.26 2011/01/04 01:28:15 matt Exp $ */ +/* $NetBSD: mk48txx.c,v 1.27 2014/11/20 16:34:26 christos Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. * All rights reserved. @@ -33,7 +33,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: mk48txx.c,v 1.26 2011/01/04 01:28:15 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mk48txx.c,v 1.27 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -120,16 +120,16 @@ mk48txx_gettime_ymdhms(todr_chip_handle_t handle, struct clock_ymdhms *dt) csr |= MK48TXX_CSR_READ; (*sc->sc_nvwr)(sc, clkoff + MK48TXX_ICSR, csr); - dt->dt_sec = FROMBCD((*sc->sc_nvrd)(sc, clkoff + MK48TXX_ISEC)); - dt->dt_min = FROMBCD((*sc->sc_nvrd)(sc, clkoff + MK48TXX_IMIN)); - dt->dt_hour = FROMBCD((*sc->sc_nvrd)(sc, clkoff + MK48TXX_IHOUR)); - dt->dt_day = FROMBCD((*sc->sc_nvrd)(sc, clkoff + MK48TXX_IDAY)); - dt->dt_wday = FROMBCD((*sc->sc_nvrd)(sc, clkoff + MK48TXX_IWDAY)); - dt->dt_mon = FROMBCD((*sc->sc_nvrd)(sc, clkoff + MK48TXX_IMON)); - year = FROMBCD((*sc->sc_nvrd)(sc, clkoff + MK48TXX_IYEAR)); + dt->dt_sec = bcdtobin((*sc->sc_nvrd)(sc, clkoff + MK48TXX_ISEC)); + dt->dt_min = bcdtobin((*sc->sc_nvrd)(sc, clkoff + MK48TXX_IMIN)); + dt->dt_hour = bcdtobin((*sc->sc_nvrd)(sc, clkoff + MK48TXX_IHOUR)); + dt->dt_day = bcdtobin((*sc->sc_nvrd)(sc, clkoff + MK48TXX_IDAY)); + dt->dt_wday = bcdtobin((*sc->sc_nvrd)(sc, clkoff + MK48TXX_IWDAY)); + dt->dt_mon = bcdtobin((*sc->sc_nvrd)(sc, clkoff + MK48TXX_IMON)); + year = bcdtobin((*sc->sc_nvrd)(sc, clkoff + MK48TXX_IYEAR)); if (sc->sc_flag & MK48TXX_HAVE_CENT_REG) { - year += 100*FROMBCD(csr & MK48TXX_CSR_CENT_MASK); + year += 100*bcdtobin(csr & MK48TXX_CSR_CENT_MASK); } else { year += sc->sc_year0; if (year < POSIX_BASE_YEAR && @@ -181,22 +181,22 @@ mk48txx_settime_ymdhms(todr_chip_handle_t handle, struct clock_ymdhms *dt) csr |= MK48TXX_CSR_WRITE; (*sc->sc_nvwr)(sc, clkoff + MK48TXX_ICSR, csr); - (*sc->sc_nvwr)(sc, clkoff + MK48TXX_ISEC, TOBCD(dt->dt_sec)); - (*sc->sc_nvwr)(sc, clkoff + MK48TXX_IMIN, TOBCD(dt->dt_min)); - (*sc->sc_nvwr)(sc, clkoff + MK48TXX_IHOUR, TOBCD(dt->dt_hour)); - (*sc->sc_nvwr)(sc, clkoff + MK48TXX_IWDAY, TOBCD(dt->dt_wday)); - (*sc->sc_nvwr)(sc, clkoff + MK48TXX_IDAY, TOBCD(dt->dt_day)); - (*sc->sc_nvwr)(sc, clkoff + MK48TXX_IMON, TOBCD(dt->dt_mon)); - (*sc->sc_nvwr)(sc, clkoff + MK48TXX_IYEAR, TOBCD(year)); + (*sc->sc_nvwr)(sc, clkoff + MK48TXX_ISEC, bintobcd(dt->dt_sec)); + (*sc->sc_nvwr)(sc, clkoff + MK48TXX_IMIN, bintobcd(dt->dt_min)); + (*sc->sc_nvwr)(sc, clkoff + MK48TXX_IHOUR, bintobcd(dt->dt_hour)); + (*sc->sc_nvwr)(sc, clkoff + MK48TXX_IWDAY, bintobcd(dt->dt_wday)); + (*sc->sc_nvwr)(sc, clkoff + MK48TXX_IDAY, bintobcd(dt->dt_day)); + (*sc->sc_nvwr)(sc, clkoff + MK48TXX_IMON, bintobcd(dt->dt_mon)); + (*sc->sc_nvwr)(sc, clkoff + MK48TXX_IYEAR, bintobcd(year)); /* * If we have a century register and the century has changed * update it. */ if ((sc->sc_flag & MK48TXX_HAVE_CENT_REG) - && (csr & MK48TXX_CSR_CENT_MASK) != TOBCD(cent)) { + && (csr & MK48TXX_CSR_CENT_MASK) != bintobcd(cent)) { csr &= ~MK48TXX_CSR_CENT_MASK; - csr |= MK48TXX_CSR_CENT_MASK & TOBCD(cent); + csr |= MK48TXX_CSR_CENT_MASK & bintobcd(cent); (*sc->sc_nvwr)(sc, clkoff + MK48TXX_ICSR, csr); } diff --git a/sys/dev/ic/mm58167.c b/sys/dev/ic/mm58167.c index bcb6d6108b87..975fe97a7981 100644 --- a/sys/dev/ic/mm58167.c +++ b/sys/dev/ic/mm58167.c @@ -1,4 +1,4 @@ -/* $NetBSD: mm58167.c,v 1.15 2013/07/25 04:21:47 msaitoh Exp $ */ +/* $NetBSD: mm58167.c,v 1.16 2014/11/20 16:34:26 christos Exp $ */ /* * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: mm58167.c,v 1.15 2013/07/25 04:21:47 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: mm58167.c,v 1.16 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -104,7 +104,7 @@ mm58167_gettime_ymdhms(todr_chip_handle_t handle, struct clock_ymdhms *dt) do { #define _MM58167_GET(dt_f, mm_f) \ byte_value = mm58167_read(sc, mm_f); \ - dt->dt_f = FROMBCD(byte_value) + dt->dt_f = bcdtobin(byte_value) _MM58167_GET(dt_mon, mm58167_mon); _MM58167_GET(dt_day, mm58167_day); @@ -246,7 +246,7 @@ mm58167_settime_ymdhms(todr_chip_handle_t handle, struct clock_ymdhms *dt) /* Load everything. */ #define _MM58167_PUT(dt_f, mm_f) \ - byte_value = TOBCD(dt->dt_f); \ + byte_value = bintobcd(dt->dt_f); \ mm58167_write(sc, mm_f, byte_value) _MM58167_PUT(dt_mon, mm58167_mon); diff --git a/sys/dev/ic/rs5c313.c b/sys/dev/ic/rs5c313.c index 1a5c0ee85a62..98e3368bce5d 100644 --- a/sys/dev/ic/rs5c313.c +++ b/sys/dev/ic/rs5c313.c @@ -1,4 +1,4 @@ -/* $NetBSD: rs5c313.c,v 1.9 2010/04/06 15:29:19 nonaka Exp $ */ +/* $NetBSD: rs5c313.c,v 1.10 2014/11/20 16:34:26 christos Exp $ */ /*- * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -27,7 +27,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: rs5c313.c,v 1.9 2010/04/06 15:29:19 nonaka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rs5c313.c,v 1.10 2014/11/20 16:34:26 christos Exp $"); #include #include @@ -229,7 +229,7 @@ rs5c313_todr_settime_ymdhms(todr_chip_handle_t todr, struct clock_ymdhms *dt) #define RTCSET(x, y) \ do { \ - t = TOBCD(dt->dt_ ## y) & 0xff; \ + t = bintobcd(dt->dt_ ## y) & 0xff; \ rs5c313_write_reg(sc, RS5C313_ ## x ## 1, t & 0x0f); \ rs5c313_write_reg(sc, RS5C313_ ## x ## 10, (t >> 4) & 0x0f); \ } while (/* CONSTCOND */0) @@ -243,7 +243,7 @@ rs5c313_todr_settime_ymdhms(todr_chip_handle_t todr, struct clock_ymdhms *dt) #undef RTCSET t = dt->dt_year % 100; - t = TOBCD(t); + t = bintobcd(t); rs5c313_write_reg(sc, RS5C313_YEAR1, t & 0x0f); rs5c313_write_reg(sc, RS5C313_YEAR10, (t >> 4) & 0x0f);