diff options
| author | Albin Tonnerre <albin.tonnerre@free-electrons.com> | 2009-08-13 15:31:11 +0200 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2009-08-25 12:57:55 +0200 | 
| commit | e84aba135ed7145299304ef550e92f08b2c99d7a (patch) | |
| tree | a70c19d295abf01ca9f53f01fb008cab416a6b6e /drivers/rtc | |
| parent | 5b53b29bc2e82b80b669f1d2402068c60d7fecd0 (diff) | |
| download | olio-uboot-2014.01-e84aba135ed7145299304ef550e92f08b2c99d7a.tar.xz olio-uboot-2014.01-e84aba135ed7145299304ef550e92f08b2c99d7a.zip | |
Replace BCD2BIN and BIN2BCD macros with inline functions
In the process, also remove backward-compatiblity macros BIN_TO_BCD and
BCD_TO_BIN and update the sole board using them to use the new bin2bcd
and bcd2bin instead
Signed-off-by: Albin Tonnerre <albin.tonnerre@free-electrons.com>
Acked-by: Stefan Roese <sr@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
Diffstat (limited to 'drivers/rtc')
| -rw-r--r-- | drivers/rtc/m41t62.c | 24 | ||||
| -rw-r--r-- | drivers/rtc/rtc4543.c | 28 | ||||
| -rw-r--r-- | drivers/rtc/s3c44b0_rtc.c | 42 | ||||
| -rw-r--r-- | drivers/rtc/x1205.c | 28 | 
4 files changed, 61 insertions, 61 deletions
| diff --git a/drivers/rtc/m41t62.c b/drivers/rtc/m41t62.c index cfe84f926..3d7bb46b0 100644 --- a/drivers/rtc/m41t62.c +++ b/drivers/rtc/m41t62.c @@ -76,16 +76,16 @@ int rtc_get(struct rtc_time *tm)  	      buf[0], buf[1], buf[2], buf[3],  	      buf[4], buf[5], buf[6], buf[7]); -	tm->tm_sec = BCD2BIN(buf[M41T62_REG_SEC] & 0x7f); -	tm->tm_min = BCD2BIN(buf[M41T62_REG_MIN] & 0x7f); -	tm->tm_hour = BCD2BIN(buf[M41T62_REG_HOUR] & 0x3f); -	tm->tm_mday = BCD2BIN(buf[M41T62_REG_DAY] & 0x3f); +	tm->tm_sec = bcd2bin(buf[M41T62_REG_SEC] & 0x7f); +	tm->tm_min = bcd2bin(buf[M41T62_REG_MIN] & 0x7f); +	tm->tm_hour = bcd2bin(buf[M41T62_REG_HOUR] & 0x3f); +	tm->tm_mday = bcd2bin(buf[M41T62_REG_DAY] & 0x3f);  	tm->tm_wday = buf[M41T62_REG_WDAY] & 0x07; -	tm->tm_mon = BCD2BIN(buf[M41T62_REG_MON] & 0x1f); +	tm->tm_mon = bcd2bin(buf[M41T62_REG_MON] & 0x1f);  	/* assume 20YY not 19YY, and ignore the Century Bit */  	/* U-Boot needs to add 1900 here */ -	tm->tm_year = BCD2BIN(buf[M41T62_REG_YEAR]) + 100 + 1900; +	tm->tm_year = bcd2bin(buf[M41T62_REG_YEAR]) + 100 + 1900;  	debug("%s: tm is secs=%d, mins=%d, hours=%d, "  	      "mday=%d, mon=%d, year=%d, wday=%d\n", @@ -109,19 +109,19 @@ int rtc_set(struct rtc_time *tm)  	/* Merge time-data and register flags into buf[0..7] */  	buf[M41T62_REG_SSEC] = 0;  	buf[M41T62_REG_SEC] = -		BIN2BCD(tm->tm_sec) | (buf[M41T62_REG_SEC] & ~0x7f); +		bin2bcd(tm->tm_sec) | (buf[M41T62_REG_SEC] & ~0x7f);  	buf[M41T62_REG_MIN] = -		BIN2BCD(tm->tm_min) | (buf[M41T62_REG_MIN] & ~0x7f); +		bin2bcd(tm->tm_min) | (buf[M41T62_REG_MIN] & ~0x7f);  	buf[M41T62_REG_HOUR] = -		BIN2BCD(tm->tm_hour) | (buf[M41T62_REG_HOUR] & ~0x3f) ; +		bin2bcd(tm->tm_hour) | (buf[M41T62_REG_HOUR] & ~0x3f) ;  	buf[M41T62_REG_WDAY] =  		(tm->tm_wday & 0x07) | (buf[M41T62_REG_WDAY] & ~0x07);  	buf[M41T62_REG_DAY] = -		BIN2BCD(tm->tm_mday) | (buf[M41T62_REG_DAY] & ~0x3f); +		bin2bcd(tm->tm_mday) | (buf[M41T62_REG_DAY] & ~0x3f);  	buf[M41T62_REG_MON] = -		BIN2BCD(tm->tm_mon) | (buf[M41T62_REG_MON] & ~0x1f); +		bin2bcd(tm->tm_mon) | (buf[M41T62_REG_MON] & ~0x1f);  	/* assume 20YY not 19YY */ -	buf[M41T62_REG_YEAR] = BIN2BCD(tm->tm_year % 100); +	buf[M41T62_REG_YEAR] = bin2bcd(tm->tm_year % 100);  	if (i2c_write(CONFIG_SYS_I2C_RTC_ADDR, 0, 1, buf, M41T62_DATETIME_REG_SIZE)) {  		printf("I2C write failed in %s()\n", __func__); diff --git a/drivers/rtc/rtc4543.c b/drivers/rtc/rtc4543.c index 242d9bcad..b60e37d5b 100644 --- a/drivers/rtc/rtc4543.c +++ b/drivers/rtc/rtc4543.c @@ -49,13 +49,13 @@ int rtc_get(struct rtc_time *tm)  	/* Read 52 bits into our buffer */  	tws_read(buffer, 52); -	tm->tm_sec  = BCD2BIN( buffer[0] & 0x7F); -	tm->tm_min  = BCD2BIN( buffer[1] & 0x7F); -	tm->tm_hour = BCD2BIN( buffer[2] & 0x3F); -	tm->tm_wday = BCD2BIN( buffer[3] & 0x07); -	tm->tm_mday = BCD2BIN((buffer[3] & 0xF0) >> 4 | (buffer[4] & 0x0F) << 4); -	tm->tm_mon  = BCD2BIN((buffer[4] & 0x30) >> 4 | (buffer[5] & 0x0F) << 4); -	tm->tm_year = BCD2BIN((buffer[5] & 0xF0) >> 4 | (buffer[6] & 0x0F) << 4) + 2000; +	tm->tm_sec  = bcd2bin( buffer[0] & 0x7F); +	tm->tm_min  = bcd2bin( buffer[1] & 0x7F); +	tm->tm_hour = bcd2bin( buffer[2] & 0x3F); +	tm->tm_wday = bcd2bin( buffer[3] & 0x07); +	tm->tm_mday = bcd2bin((buffer[3] & 0xF0) >> 4 | (buffer[4] & 0x0F) << 4); +	tm->tm_mon  = bcd2bin((buffer[4] & 0x30) >> 4 | (buffer[5] & 0x0F) << 4); +	tm->tm_year = bcd2bin((buffer[5] & 0xF0) >> 4 | (buffer[6] & 0x0F) << 4) + 2000;  	tm->tm_yday = 0;  	tm->tm_isdst = 0; @@ -81,17 +81,17 @@ int rtc_set(struct rtc_time *tm)  		tm->tm_hour, tm->tm_min, tm->tm_sec);  	memset(buffer, 0, 7); -	buffer[0] = BIN2BCD(tm->tm_sec); -	buffer[1] = BIN2BCD(tm->tm_min); -	buffer[2] = BIN2BCD(tm->tm_hour); -	buffer[3] = BIN2BCD(tm->tm_wday); -	tmp = BIN2BCD(tm->tm_mday); +	buffer[0] = bin2bcd(tm->tm_sec); +	buffer[1] = bin2bcd(tm->tm_min); +	buffer[2] = bin2bcd(tm->tm_hour); +	buffer[3] = bin2bcd(tm->tm_wday); +	tmp = bin2bcd(tm->tm_mday);  	buffer[3] |= (tmp & 0x0F) << 4;  	buffer[4] =  (tmp & 0xF0) >> 4; -	tmp = BIN2BCD(tm->tm_mon); +	tmp = bin2bcd(tm->tm_mon);  	buffer[4] |= (tmp & 0x0F) << 4;  	buffer[5] =  (tmp & 0xF0) >> 4; -	tmp = BIN2BCD(tm->tm_year  % 100); +	tmp = bin2bcd(tm->tm_year  % 100);  	buffer[5] |= (tmp & 0x0F) << 4;  	buffer[6] =  (tmp & 0xF0) >> 4; diff --git a/drivers/rtc/s3c44b0_rtc.c b/drivers/rtc/s3c44b0_rtc.c index bfb744aef..a027fb126 100644 --- a/drivers/rtc/s3c44b0_rtc.c +++ b/drivers/rtc/s3c44b0_rtc.c @@ -37,24 +37,24 @@  int rtc_get (struct rtc_time* tm)  {  	RTCCON |= 1; -	tm->tm_year  = BCD2BIN(BCDYEAR); -	tm->tm_mon   = BCD2BIN(BCDMON); -	tm->tm_wday   = BCD2BIN(BCDDATE); -	tm->tm_mday   = BCD2BIN(BCDDAY); -	tm->tm_hour  = BCD2BIN(BCDHOUR); -	tm->tm_min  = BCD2BIN(BCDMIN); -	tm->tm_sec  = BCD2BIN(BCDSEC); +	tm->tm_year  = bcd2bin(BCDYEAR); +	tm->tm_mon   = bcd2bin(BCDMON); +	tm->tm_wday   = bcd2bin(BCDDATE); +	tm->tm_mday   = bcd2bin(BCDDAY); +	tm->tm_hour  = bcd2bin(BCDHOUR); +	tm->tm_min  = bcd2bin(BCDMIN); +	tm->tm_sec  = bcd2bin(BCDSEC);  	if (tm->tm_sec==0) {  		/* we have to re-read the rtc data because of the "one second deviation" problem */  		/* see RTC datasheet for more info about it */ -		tm->tm_year  = BCD2BIN(BCDYEAR); -		tm->tm_mon   = BCD2BIN(BCDMON); -		tm->tm_mday   = BCD2BIN(BCDDAY); -		tm->tm_wday   = BCD2BIN(BCDDATE); -		tm->tm_hour  = BCD2BIN(BCDHOUR); -		tm->tm_min  = BCD2BIN(BCDMIN); -		tm->tm_sec  = BCD2BIN(BCDSEC); +		tm->tm_year  = bcd2bin(BCDYEAR); +		tm->tm_mon   = bcd2bin(BCDMON); +		tm->tm_mday   = bcd2bin(BCDDAY); +		tm->tm_wday   = bcd2bin(BCDDATE); +		tm->tm_hour  = bcd2bin(BCDHOUR); +		tm->tm_min  = bcd2bin(BCDMIN); +		tm->tm_sec  = bcd2bin(BCDSEC);  	}  	RTCCON &= ~1; @@ -75,13 +75,13 @@ int rtc_set (struct rtc_time* tm)  		tm->tm_year -= 2000;  	RTCCON |= 1; -	BCDYEAR = BIN2BCD(tm->tm_year); -	BCDMON = BIN2BCD(tm->tm_mon); -	BCDDAY = BIN2BCD(tm->tm_mday); -	BCDDATE = BIN2BCD(tm->tm_wday); -	BCDHOUR = BIN2BCD(tm->tm_hour); -	BCDMIN = BIN2BCD(tm->tm_min); -	BCDSEC = BIN2BCD(tm->tm_sec); +	BCDYEAR = bin2bcd(tm->tm_year); +	BCDMON = bin2bcd(tm->tm_mon); +	BCDDAY = bin2bcd(tm->tm_mday); +	BCDDATE = bin2bcd(tm->tm_wday); +	BCDHOUR = bin2bcd(tm->tm_hour); +	BCDMIN = bin2bcd(tm->tm_min); +	BCDSEC = bin2bcd(tm->tm_sec);  	RTCCON &= 1;  	return 0; diff --git a/drivers/rtc/x1205.c b/drivers/rtc/x1205.c index 56115b032..ceba7c34a 100644 --- a/drivers/rtc/x1205.c +++ b/drivers/rtc/x1205.c @@ -116,13 +116,13 @@ int rtc_get(struct rtc_time *tm)  	      buf[0], buf[1], buf[2], buf[3],  	      buf[4], buf[5], buf[6], buf[7]); -	tm->tm_sec = BCD2BIN(buf[CCR_SEC]); -	tm->tm_min = BCD2BIN(buf[CCR_MIN]); -	tm->tm_hour = BCD2BIN(buf[CCR_HOUR] & 0x3F); /* hr is 0-23 */ -	tm->tm_mday = BCD2BIN(buf[CCR_MDAY]); -	tm->tm_mon = BCD2BIN(buf[CCR_MONTH]); /* mon is 0-11 */ -	tm->tm_year = BCD2BIN(buf[CCR_YEAR]) -		+ (BCD2BIN(buf[CCR_Y2K]) * 100); +	tm->tm_sec = bcd2bin(buf[CCR_SEC]); +	tm->tm_min = bcd2bin(buf[CCR_MIN]); +	tm->tm_hour = bcd2bin(buf[CCR_HOUR] & 0x3F); /* hr is 0-23 */ +	tm->tm_mday = bcd2bin(buf[CCR_MDAY]); +	tm->tm_mon = bcd2bin(buf[CCR_MONTH]); /* mon is 0-11 */ +	tm->tm_year = bcd2bin(buf[CCR_YEAR]) +		+ (bcd2bin(buf[CCR_Y2K]) * 100);  	tm->tm_wday = buf[CCR_WDAY];  	debug("%s: tm is secs=%d, mins=%d, hours=%d, " @@ -143,21 +143,21 @@ int rtc_set(struct rtc_time *tm)  	      tm->tm_year, tm->tm_mon, tm->tm_mday, tm->tm_wday,  	      tm->tm_hour, tm->tm_min, tm->tm_sec); -	buf[CCR_SEC] = BIN2BCD(tm->tm_sec); -	buf[CCR_MIN] = BIN2BCD(tm->tm_min); +	buf[CCR_SEC] = bin2bcd(tm->tm_sec); +	buf[CCR_MIN] = bin2bcd(tm->tm_min);  	/* set hour and 24hr bit */ -	buf[CCR_HOUR] = BIN2BCD(tm->tm_hour) | X1205_HR_MIL; +	buf[CCR_HOUR] = bin2bcd(tm->tm_hour) | X1205_HR_MIL; -	buf[CCR_MDAY] = BIN2BCD(tm->tm_mday); +	buf[CCR_MDAY] = bin2bcd(tm->tm_mday);  	/* month, 1 - 12 */ -	buf[CCR_MONTH] = BIN2BCD(tm->tm_mon); +	buf[CCR_MONTH] = bin2bcd(tm->tm_mon);  	/* year, since the rtc epoch*/ -	buf[CCR_YEAR] = BIN2BCD(tm->tm_year % 100); +	buf[CCR_YEAR] = bin2bcd(tm->tm_year % 100);  	buf[CCR_WDAY] = tm->tm_wday & 0x07; -	buf[CCR_Y2K] = BIN2BCD(tm->tm_year / 100); +	buf[CCR_Y2K] = bin2bcd(tm->tm_year / 100);  	/* this sequence is required to unlock the chip */  	rtc_write(X1205_REG_SR, X1205_SR_WEL); |