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 <gre...@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.hu...@gmail.com> Cc: Samuel Thibault <samuel.thiba...@ens-lyon.org> Signed-off-by: Greg Kroah-Hartman <gre...@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 &&