]> err.no Git - util-linux/commitdiff
hwclock: [m68k] unbreak FTBFS with recent (>= 2.4.18?) kernels
authorThorsten Glaser <tg@mirbsd.org>
Sun, 7 Nov 2010 14:00:04 +0000 (14:00 +0000)
committerLaMont Jones <lamont@debian.org>
Wed, 29 Dec 2010 15:48:47 +0000 (08:48 -0700)
The old KDGHWCLK ioctl was removed from the Linux kernel quite some
time ago. The kd.c source file of hwclock contains fallback code to
handle this, but the fallback code never could have compiled or was
not fixed along other code changes. The Linux kernel nowadays igno-
res the ioctl entirely so removing it unless provided by the kernel
headers, to keep it working on very old kernels, seems the sensible
thing to do, as the comments say m68k only and deprecated (which is
correct AFAICT).

According to pickaxe on gitweb, it was removed in 2002:
http://git.kernel.org/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commit;h=a915e414af5fc541ff62ef0bfec847457ae650bc

Addresses: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578168
Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
Signed-off-by: Karel Zak <kzak@redhat.com>
AUTHORS
hwclock/kd.c

diff --git a/AUTHORS b/AUTHORS
index 0642512472cf0e7568db23c591574fed85d6ac9b..c316e8dfc79262b13778b50bac108ce7475fbb29 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -189,6 +189,8 @@ CONTRIBUTORS:
       Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
       Sven Jost <sven.jost@googlemail.com>
       Theodore Ts'o <tytso@mit.edu>
+      Thomas Fehr <fehr@suse.de>
+      Thorsten Glaser <tg@mirbsd.org>
       Tilman Schmidt <tilman@imap.cc>
       Tom Prince <tom.prince@ualberta.net>
       Valerie Aurora <vaurora@redhat.com>
index 3da87cafde7e18df2849208504df629d682e6b42..66ff579bba62148014dc477c0dbe7489a1908e6f 100644 (file)
@@ -2,14 +2,7 @@
 
 #include "clock.h"
 
-#ifndef __m68k__
-
-struct clock_ops *
-probe_for_kd_clock() {
-       return NULL;
-}
-
-#else /* __m68k__ */
+#ifdef __m68k__
 
 #include <unistd.h>            /* for close() */
 #include <fcntl.h>             /* for O_RDONLY */
@@ -19,26 +12,26 @@ probe_for_kd_clock() {
 #include "nls.h"
 #include "usleep.h"
 
-static int con_fd = -1;                /* opened by probe_for_kd_clock() */
-                               /* never closed */
-static char *con_fd_filename;  /* usually "/dev/tty1" */
-
 /* Get defines for KDGHWCLK and KDSHWCLK (m68k) */
 #include <linux/kd.h>
-#ifndef KDGHWCLK
-#define KDGHWCLK        0x4B50     /* get hardware clock */
-#define KDSHWCLK        0x4B51     /* set hardware clock */
-struct hwclk_time {
-        unsigned        sec;    /* 0..59 */
-        unsigned        min;    /* 0..59 */
-        unsigned        hour;   /* 0..23 */
-        unsigned        day;    /* 1..31 */
-        unsigned        mon;    /* 0..11 */
-        unsigned        year;   /* 70... */
-        int             wday;   /* 0..6, 0 is Sunday, -1 means unknown/don't set */
-};
+
+/* Even on m68k, if KDGHWCLK (antique) is not defined, don't build this */
+
 #endif
 
+#if !defined(__m68k__) || !defined(KDGHWCLK)
+
+struct clock_ops *
+probe_for_kd_clock() {
+       return NULL;
+}
+
+#else /* __m68k__ && KDGHWCLK */
+
+static int con_fd = -1;                /* opened by probe_for_kd_clock() */
+                               /* never closed */
+static char *con_fd_filename;  /* usually "/dev/tty1" */
+
 static int
 synchronize_to_clock_tick_kd(void) {
 /*----------------------------------------------------------------------------
@@ -183,4 +176,4 @@ probe_for_kd_clock() {
        }
        return ret;
 }
-#endif /* __m68k__ */
+#endif /* __m68k__ && KDGHWCLK */