[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#604643: speakup-source: fails to compile against kernel 2.6.36



tags 604643 + upstream fixed-upstream patch wontfix
thanks

Michael Prokop, le Tue 23 Nov 2010 11:40:12 +0100, a écrit :
>   CC [M]  /usr/src/modules/speakup/buffers.o
> /usr/src/modules/speakup/buffers.c: In function ‘speakup_start_ttys’:
> /usr/src/modules/speakup/buffers.c:33: error: ‘struct vc_data’ has no member named ‘vc_tty’
> /usr/src/modules/speakup/buffers.c:34: error: ‘struct vc_data’ has no member named ‘vc_tty’
> /usr/src/modules/speakup/buffers.c: In function ‘speakup_stop_ttys’:
> /usr/src/modules/speakup/buffers.c:56: error: ‘struct vc_data’ has no member named ‘vc_tty’
> /usr/src/modules/speakup/buffers.c:57: error: ‘struct vc_data’ has no member named ‘vc_tty’
> make[4]: *** [/usr/src/modules/speakup/buffers.o] Error 1

Yes. Unfortunately we can't do much for future kernels that we don't
know about (2.6.36 is one of those actually, when speaking about latest
upstream merge before the freeze). Fortunately speakup is in the staging
tree and thus will be available in 2.6.37, making the speakup-source
package useless and thus to be dropped.

The fix (see attached patch) is too late for Squeeze, and will not be
useful for wheezy, so it's just not going to be fixed.

Samuel
commit 2a7c7a90f90824434ee7d996475fd3bf84631e07
Author: Greg Kroah-Hartman <gregkh@suse.de>
Date:   Thu Oct 7 19:30:49 2010 -0700

    Staging: speakup: fix speakup core to build properly
    
    The vc_data structure changed to move the tty structure off to the port,
    so change the code to handle this.  Now the code will build properly,
    and hopefully work as well.
    
    Cc: William Hubbs <w.d.hubbs@gmail.com>
    Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

diff --git a/drivers/staging/speakup/buffers.c b/drivers/staging/speakup/buffers.c
index 6dd53cf..b7b60d5 100644
--- a/drivers/staging/speakup/buffers.c
+++ b/drivers/staging/speakup/buffers.c
@@ -28,8 +28,8 @@ void speakup_start_ttys(void)
 	for (i = 0; i < MAX_NR_CONSOLES; i++) {
 		if (speakup_console[i] && speakup_console[i]->tty_stopped)
 			continue;
-		if ((vc_cons[i].d != NULL) && (vc_cons[i].d->vc_tty != NULL))
-			start_tty(vc_cons[i].d->vc_tty);
+		if ((vc_cons[i].d != NULL) && (vc_cons[i].d->port.tty != NULL))
+			start_tty(vc_cons[i].d->port.tty);
 	}
 }
 EXPORT_SYMBOL_GPL(speakup_start_ttys);
@@ -39,9 +39,8 @@ static void speakup_stop_ttys(void)
 	int i;
 
 	for (i = 0; i < MAX_NR_CONSOLES; i++)
-		if ((vc_cons[i].d != NULL) && (vc_cons[i].d->vc_tty != NULL))
-			stop_tty(vc_cons[i].d->vc_tty);
-	return;
+		if ((vc_cons[i].d != NULL) && (vc_cons[i].d->port.tty != NULL))
+			stop_tty(vc_cons[i].d->port.tty);
 }
 
 static int synth_buffer_free(void)
diff --git a/drivers/staging/speakup/main.c b/drivers/staging/speakup/main.c
index 8c54965..2ef3b39 100644
--- a/drivers/staging/speakup/main.c
+++ b/drivers/staging/speakup/main.c
@@ -2010,7 +2010,7 @@ speakup_key(struct vc_data *vc, int shift_state, int keycode, u_short keysym,
 		return 0;
 
 	spk_lock(flags);
-	tty = vc->vc_tty;
+	tty = vc->port.tty;
 	if (type >= 0xf0)
 		type -= 0xf0;
 	if (type == KT_PAD &&

Reply to: