BCD cleanup

Combine multiple BCD implementations.

Signed-off-by: Paul Brook <paul@codesourcery.com>
diff --git a/hw/m48t59.c b/hw/m48t59.c
index bb58419..ce38f8b 100644
--- a/hw/m48t59.c
+++ b/hw/m48t59.c
@@ -80,16 +80,6 @@
 } M48t59SysBusState;
 
 /* Fake timer functions */
-/* Generic helpers for BCD */
-static inline uint8_t toBCD (uint8_t value)
-{
-    return (((value / 10) % 10) << 4) | (value % 10);
-}
-
-static inline uint8_t fromBCD (uint8_t BCD)
-{
-    return ((BCD >> 4) * 10) + (BCD & 0x0F);
-}
 
 /* Alarm management */
 static void alarm_cb (void *opaque)
@@ -219,7 +209,7 @@
         break;
     case 0x1FF2:
         /* alarm seconds */
-        tmp = fromBCD(val & 0x7F);
+        tmp = from_bcd(val & 0x7F);
         if (tmp >= 0 && tmp <= 59) {
             NVRAM->alarm.tm_sec = tmp;
             NVRAM->buffer[0x1FF2] = val;
@@ -228,7 +218,7 @@
         break;
     case 0x1FF3:
         /* alarm minutes */
-        tmp = fromBCD(val & 0x7F);
+        tmp = from_bcd(val & 0x7F);
         if (tmp >= 0 && tmp <= 59) {
             NVRAM->alarm.tm_min = tmp;
             NVRAM->buffer[0x1FF3] = val;
@@ -237,7 +227,7 @@
         break;
     case 0x1FF4:
         /* alarm hours */
-        tmp = fromBCD(val & 0x3F);
+        tmp = from_bcd(val & 0x3F);
         if (tmp >= 0 && tmp <= 23) {
             NVRAM->alarm.tm_hour = tmp;
             NVRAM->buffer[0x1FF4] = val;
@@ -246,7 +236,7 @@
         break;
     case 0x1FF5:
         /* alarm date */
-        tmp = fromBCD(val & 0x1F);
+        tmp = from_bcd(val & 0x1F);
         if (tmp != 0) {
             NVRAM->alarm.tm_mday = tmp;
             NVRAM->buffer[0x1FF5] = val;
@@ -270,7 +260,7 @@
     case 0x1FF9:
     case 0x07F9:
         /* seconds (BCD) */
-	tmp = fromBCD(val & 0x7F);
+	tmp = from_bcd(val & 0x7F);
 	if (tmp >= 0 && tmp <= 59) {
 	    get_time(NVRAM, &tm);
 	    tm.tm_sec = tmp;
@@ -289,7 +279,7 @@
     case 0x1FFA:
     case 0x07FA:
         /* minutes (BCD) */
-	tmp = fromBCD(val & 0x7F);
+	tmp = from_bcd(val & 0x7F);
 	if (tmp >= 0 && tmp <= 59) {
 	    get_time(NVRAM, &tm);
 	    tm.tm_min = tmp;
@@ -299,7 +289,7 @@
     case 0x1FFB:
     case 0x07FB:
         /* hours (BCD) */
-	tmp = fromBCD(val & 0x3F);
+	tmp = from_bcd(val & 0x3F);
 	if (tmp >= 0 && tmp <= 23) {
 	    get_time(NVRAM, &tm);
 	    tm.tm_hour = tmp;
@@ -309,7 +299,7 @@
     case 0x1FFC:
     case 0x07FC:
         /* day of the week / century */
-	tmp = fromBCD(val & 0x07);
+	tmp = from_bcd(val & 0x07);
 	get_time(NVRAM, &tm);
 	tm.tm_wday = tmp;
 	set_time(NVRAM, &tm);
@@ -318,7 +308,7 @@
     case 0x1FFD:
     case 0x07FD:
         /* date */
-	tmp = fromBCD(val & 0x1F);
+	tmp = from_bcd(val & 0x1F);
 	if (tmp != 0) {
 	    get_time(NVRAM, &tm);
 	    tm.tm_mday = tmp;
@@ -328,7 +318,7 @@
     case 0x1FFE:
     case 0x07FE:
         /* month */
-	tmp = fromBCD(val & 0x1F);
+	tmp = from_bcd(val & 0x1F);
 	if (tmp >= 1 && tmp <= 12) {
 	    get_time(NVRAM, &tm);
 	    tm.tm_mon = tmp - 1;
@@ -338,13 +328,13 @@
     case 0x1FFF:
     case 0x07FF:
         /* year */
-	tmp = fromBCD(val);
+	tmp = from_bcd(val);
 	if (tmp >= 0 && tmp <= 99) {
 	    get_time(NVRAM, &tm);
             if (NVRAM->type == 8)
-                tm.tm_year = fromBCD(val) + 68; // Base year is 1968
+                tm.tm_year = from_bcd(val) + 68; // Base year is 1968
             else
-                tm.tm_year = fromBCD(val);
+                tm.tm_year = from_bcd(val);
 	    set_time(NVRAM, &tm);
 	}
         break;
@@ -410,19 +400,19 @@
     case 0x07F9:
         /* seconds (BCD) */
         get_time(NVRAM, &tm);
-        retval = (NVRAM->buffer[addr] & 0x80) | toBCD(tm.tm_sec);
+        retval = (NVRAM->buffer[addr] & 0x80) | to_bcd(tm.tm_sec);
         break;
     case 0x1FFA:
     case 0x07FA:
         /* minutes (BCD) */
         get_time(NVRAM, &tm);
-        retval = toBCD(tm.tm_min);
+        retval = to_bcd(tm.tm_min);
         break;
     case 0x1FFB:
     case 0x07FB:
         /* hours (BCD) */
         get_time(NVRAM, &tm);
-        retval = toBCD(tm.tm_hour);
+        retval = to_bcd(tm.tm_hour);
         break;
     case 0x1FFC:
     case 0x07FC:
@@ -434,22 +424,22 @@
     case 0x07FD:
         /* date */
         get_time(NVRAM, &tm);
-        retval = toBCD(tm.tm_mday);
+        retval = to_bcd(tm.tm_mday);
         break;
     case 0x1FFE:
     case 0x07FE:
         /* month */
         get_time(NVRAM, &tm);
-        retval = toBCD(tm.tm_mon + 1);
+        retval = to_bcd(tm.tm_mon + 1);
         break;
     case 0x1FFF:
     case 0x07FF:
         /* year */
         get_time(NVRAM, &tm);
         if (NVRAM->type == 8)
-            retval = toBCD(tm.tm_year - 68); // Base year is 1968
+            retval = to_bcd(tm.tm_year - 68); // Base year is 1968
         else
-            retval = toBCD(tm.tm_year);
+            retval = to_bcd(tm.tm_year);
         break;
     default:
         /* Check lock registers state */