Cleanups
authorAlexey Zaytsev <alexey.zaytsev@gmail.com>
Sun, 2 Mar 2008 01:36:50 +0000 (04:36 +0300)
committerAlexey Zaytsev <alexey.zaytsev@gmail.com>
Sun, 2 Mar 2008 01:36:50 +0000 (04:36 +0300)
Replace a printf with a DBG in timer_rtdsc.c
Replace a printf in timer.c with assert
Return proper error codes from timer drivers

Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
src/arch/i386/drivers/timer_rtdsc.c
src/arch/i386/include/bits/errfile.h
src/core/timer.c

index 1cd2abe..336e3e6 100644 (file)
@@ -1,6 +1,7 @@
 
 #include <gpxe/init.h>
 #include <gpxe/timer.h>
+#include <errno.h>
 #include <stdio.h>
 #include <bits/cpu.h>
 #include <bits/timer2.h>
@@ -78,8 +79,8 @@ static int rtdsc_ts_init(void)
                }
        }
 
-       printf("RTDSC timer not available on this machine.\n");
-       return 1;
+       DBG("RTDSC timer not available on this machine.\n");
+       return -ENODEV;
 }
 
 struct timer rtdsc_ts __timer (01) = {
index a6f8782..ce58eef 100644 (file)
@@ -26,6 +26,9 @@
 #define ERRFILE_undionly        ( ERRFILE_ARCH | ERRFILE_NET | 0x00030000 )
 #define ERRFILE_undirom                 ( ERRFILE_ARCH | ERRFILE_NET | 0x00040000 )
 
+#define ERRFILE_timer_rtdsc    ( ERRFILE_ARCH | ERRFILE_DRIVER | 0x00000000 )
+#define ERRFILE_timer_bios     ( ERRFILE_ARCH | ERRFILE_DRIVER | 0x00010000 )
+
 /** @} */
 
 #endif /* _BITS_ERRFILE_H */
index da53e05..e736f52 100644 (file)
@@ -53,17 +53,13 @@ static void timer_init(void)
        struct timer *ts;
 
        for (ts = ts_table; ts < ts_table_end; ts++) {
-               if (ts->init && !ts->init()) {
+               if (ts->init && ts->init() >= 0) {
                        used_ts = ts;
                        break;
                }
        }
 
-       if (!used_ts) {
-               printf("No timer available. This should never happen. Expect gPXE to die soon.\n");
-               /* Panic */
-       }
-
+       assert(used_ts);
 }
 
 struct init_fn ts_init_fn __init_fn ( INIT_NORMAL ) = {