- Don't include <asm/kbdio.h> on SPARC (#198040, patch by Dennis Gilmore

<dennis@ausil.us>)
This commit is contained in:
Miloslav Trmac 2006-07-09 00:29:56 +00:00
parent bb1002f1d2
commit de177d9909
2 changed files with 97 additions and 2 deletions

91
kbd-1.12-sparc.patch Normal file
View File

@ -0,0 +1,91 @@
--- kbd-1.08/man/man8/kbdrate.8 2002-10-11 07:08:58.000000000 -0400
+++ kbd-1.08/man/man8/kbdrate.8 2002-11-22 17:28:15.000000000 -0500
@@ -22,7 +22,7 @@
without any options will reset the repeat rate to 10.9 characters per second (cps)
and the delay to 250 milliseconds (ms) for Intel- and M68K-based systems.
These are the IBM defaults. On SPARC-based systems it will reset the repeat rate
-to 5 cps and the delay to 200 ms.
+to 20 cps and the delay to 200 ms.
.SH OPTIONS
.TP
@@ -69,3 +69,5 @@
.I /etc/rc.local
.br
.I /dev/port
+.br
+.I /dev/kbd
diff -u kbd-1.08/src/kbdrate.c kbd-1.12/src/kbdrate.c
--- kbd-1.08/src/kbdrate.c 2002-11-22 17:34:48.000000000 -0500
+++ kbd-1.12/src/kbdrate.c 2006-07-08 05:16:33.000000000 -0500
@@ -77,7 +77,6 @@
#ifdef __sparc__
#include <asm/param.h>
-#include <asm/kbio.h>
#endif
#ifndef KDKBDREP
@@ -104,8 +103,11 @@
static int
KDKBDREP_ioctl_ok(double rate, int delay, int silent) {
+#if defined(KDKBDREP) && !defined(__sparc__)
/* This ioctl is defined in <linux/kd.h> but is not
- implemented anywhere - must be in some m68k patches. */
+ implemented anywhere - must be in some m68k patches.
+ We cannot blindly try unimplemented ioctls on sparc64 -
+ the 32<->64bit transition layer does not like it. */
struct kbd_repeat kbdrep_s;
/* don't change, just test */
@@ -150,6 +152,9 @@
rate, kbdrep_s.delay );
return 1; /* success! */
+#else /* no KDKBDREP or __sparc__ */
+ return 0;
+#endif /* KDKBDREP */
}
static int
@@ -188,7 +193,7 @@
int
main( int argc, char **argv ) {
#ifdef __sparc__
- double rate = 5.0; /* Default rate */
+ double rate = 20.0; /* Default rate */
int delay = 200; /* Default delay */
#else
double rate = 10.9; /* Default rate */
@@ -238,8 +243,9 @@
return 0;
- /* The ioport way */
+ /* The ioport way - will crash on sparc */
+#ifndef __sparc__
for (i = 0; i < RATE_COUNT; i++)
if (rate * 10 >= valid_rates[i]) {
value &= 0x60;
@@ -286,4 +292,6 @@
valid_delays[ (value & 0x60) >> 5 ] );
+#endif
+
return 0;
}
--- kbd-1.12-orig/src/setleds.c 2006-07-08 05:10:08.000000000 -0500
+++ kbd-1.12/src/setleds.c 2006-07-08 05:10:36.000000000 -0500
@@ -14,10 +14,6 @@
#include "nls.h"
#include "version.h"
-#ifdef __sparc__
-#include <asm/kbio.h>
-#endif
-
static void
usage(void)
{

View File

@ -1,7 +1,7 @@
Summary: Tools for configuring the console (keyboard, virtual terminals, etc.)
Name: kbd
Version: 1.12
Release: 15
Release: 16
License: GPL
Group: System Environment/Base
Source0: ftp://ftp.kernel.org/pub/linux/utils/kbd/kbd-%{version}.tar.bz2
@ -12,7 +12,7 @@ Source4: kbd-latsun-fonts.tar.bz2
Requires: pam >= 0.66-4, /etc/pam.d/system-auth, usermode
BuildRequires: bison, flex, gettext
BuildRoot: %{_tmppath}/%{name}-root
Patch0: kbd-1.08-sparc.patch
Patch0: kbd-1.12-sparc.patch
Patch1: kbd-1.08-compose.patch
Patch2: kbd-1.08-terminal.patch
Patch3: kbd-1.08-rukbd.patch
@ -124,6 +124,10 @@ install -c -m644 %{SOURCE3} \
%config %{_sysconfdir}/pam.d/*
%changelog
* Sun Jul 9 2006 Miloslav Trmac <mitr@redhat.com> - 1.12-16
- Don't include <asm/kbdio.h> on SPARC (#198040, patch by Dennis Gilmore
<dennis@ausil.us>)
* Mon May 29 2006 Miloslav Trmac <mitr@redhat.com> - 1.12-15
- Fix missing BuildRequires (#193406)