From ec7d302a6ca9e7974a05d338267b40491a1d7abb Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Mon, 6 Jun 2011 13:56:27 +0200 Subject: [PATCH] Support Linux 3.0 and later --- sys_linux.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/sys_linux.c b/sys_linux.c index 441e6e4..24f027c 100644 --- a/sys_linux.c +++ b/sys_linux.c @@ -960,7 +960,9 @@ get_version_specific_details(void) if (uname(&uts) < 0) { LOG_FATAL(LOGF_SysLinux, "Cannot uname(2) to get kernel version, sorry."); } - if (sscanf(uts.release, "%d.%d.%d", &major, &minor, &patch) != 3) { + + patch = 0; + if (sscanf(uts.release, "%d.%d.%d", &major, &minor, &patch) < 2) { LOG_FATAL(LOGF_SysLinux, "Cannot read information from uname, sorry"); } @@ -1039,21 +1041,21 @@ get_version_specific_details(void) half-second intervals. */ tick_update_hz = 2; } - /* Let's be optimistic that these will be the same until proven - otherwise :-) */ - case 7: - case 8: + /* fall through */ + default: /* These don't seem to need scaling */ freq_scale = 1.0; have_readonly_adjtime = 2; have_nanopll = 1; break; - default: - LOG_FATAL(LOGF_SysLinux, "Kernel version not supported yet, sorry."); } break; default: - LOG_FATAL(LOGF_SysLinux, "Kernel's major version not supported yet, sorry"); + /* Let's be optimistic that these will be the same until proven + otherwise :-) */ + freq_scale = 1.0; + have_readonly_adjtime = 2; + have_nanopll = 1; break; }