[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Intenta cambiar esto: -------- struct hid_input* hidinput = list_entry(hid->inputs.next, struct hid_input, list); struct input_dev* input = &hidinput->input; ---------- Por esto: --------- struct hid_input* hidinput = list_entry(hid->inputs.next, struct hid_input, list); struct input_dev* input = &hid->input; ----------- Creo que hay estructuras que cambiaron de nombre, y ya que andas por ahi, actualiza tu kernel. Saludos Max On Sat, 2004-01-10 at 21:27, Kuroi wrote: > Hola, > > Estoy tratando de compilar un módulo, pero tengo > algunos problemas, mi versión de kernel es la 2.4.22, > la situación es la siguiente: > > Compré una tableta digitalizadora, la WizardPen de > Genius, en la red localizé un documento que explica > como instalar el controlador para Linux, el problema > viene aquí, me hizo el siguiente comentario: > > The procedure to install the driver is the same as > described in the > mini-howto, but after you have patched your kernel, > you just have to > look hid-core.c for : > > 8<-------------------------- > input->evbit[0] |= BIT(EV_MSC); > input->mscbit[0] |= BIT(MSC_SERIAL); > input_event(input, EV_MSC, MSC_SERIAL, 0); > 8<--------------------------- > > And replace it by : > > 8<-------------------------- > struct hid_input* hidinput = > list_entry(hid->inputs.next, struct > hid_input, > list); > struct input_dev* input = &hidinput->input; > > input->evbit[0] |= BIT(EV_MSC); > input->mscbit[0] |= BIT(MSC_SERIAL); > input_event(input, EV_MSC, MSC_SERIAL, 0); > 8<--------------------------- > > > > Lo más cercano que encontré fue > > hid->input.evbit[0] |= BIT(EV_MSC=; > hid->input.mscbit[0] |= BIT(MSC_SERIAL); > input_event(&hid->input, EV_MSC, MSC_SERIAL, 0); > > así que puse lo siguiente: > > struct hid_input* hidinput = > list_entry(hid->inputs.next, struct hid_input, list); > struct input_dev* input = &hidinput->input; > > hid->input.evbit[0] |= BIT(EV_MSC=; > hid->input.mscbit[0] |= BIT(MSC_SERIAL); > input_event(&hid->input, EV_MSC, MSC_SERIAL, 0); > > Intenté hacer la compilación del módulo y obtuve esto: > > gcc -D__KERNEL__ -I/usr/src/linux-2.4.22-10mdk/include > -Wall -Wstrict-prototypes -Wno-trigraphs -O2 > -fno-strict-aliasing -fno-common -pipe > -mpreferred-stack-boundary=2 -march=i686 -DMODULE > -DMODVERSIONS -include > /usr/src/linux-2.4.22-10mdk/include/linux/modversions.h > -nostdinc -iwithprefix include > -DKBUILD_BASENAME=hid_core -c hid-core.c -o > hid-core.o > hid-core.c: In function `hid_input_report': > hid-core.c:945: error: structure has no member named > `input' > hid-core.c:946: error: structure has no member named > `input' > hid-core.c:947: error: structure has no member named > `input' > hid-core.c:943: warning: unused variable `input' > make[2]: *** [hid-core.o] Error 1 > make[2]: Leaving directory > `/usr/src/linux-2.4.22-10mdk/drivers/usb' > make[1]: *** [_modsubdir_usb] Error 2 > make[1]: Leaving directory > `/usr/src/linux-2.4.22-10mdk/drivers' > make: *** [_mod_drivers] Error 2 > > > El documento con las instrucciones y el código para > crear el controlador del WizardPen lo pueden encontrar > aquí: > > http://www.afturgurluk.org/~informancer/wizardpen/ > > Lo interesante de todo esto, es que Mandrake detecta > la tarjeta como un ratón USB de tres botones, pero el > botón derecho no lo detecta y tampoco puedo utilizar > las características de presión con el GIMP, por lo que > intento utilizar el controlador adecuado. > > Mi distribución es Mandrake 9.2, mi compilador es el > gcc 3.3.1, el mensaje original que me envió el creador > del FAQ es el siguiente: > > Actually, the problem is that I didn't updated the doc > for a while ;) > > The procedure to install the driver is the same as > described in the > mini-howto, but after you have patched your kernel, > you just have to > look hid-core.c for : > > 8<-------------------------- > input->evbit[0] |= BIT(EV_MSC); > input->mscbit[0] |= BIT(MSC_SERIAL); > input_event(input, EV_MSC, MSC_SERIAL, 0); > 8<--------------------------- > > And replace it by : > > 8<-------------------------- > struct hid_input* hidinput = > list_entry(hid->inputs.next, struct > hid_input, > list); > struct input_dev* input = &hidinput->input; > > input->evbit[0] |= BIT(EV_MSC); > input->mscbit[0] |= BIT(MSC_SERIAL); > input_event(input, EV_MSC, MSC_SERIAL, 0); > 8<--------------------------- > > You should then add a few -Ipath in the gcc command > line when you launch the compilation, but I don't know > which ones exactly. > > I haven't tested this myself, but it has worked for > the two people who > have tried it (2.4.22 and 2.4.23). > > ¿ALGUNA IDEA? > > _________________________________________________________ > Do You Yahoo!? > Información de Estados Unidos y América Latina, en Yahoo! Noticias. > Visítanos en http://noticias.espanol.yahoo.com > > _______________________________________________ > Ayuda mailing list > Ayuda en linux org mx > Para salir de la lista: http://mail.linux.org.mx/mailman/listinfo/ayuda/ -- Linux garaged 2.6.1-rc1-mm2 #4 SMP Wed Jan 7 18:37:30 CST 2004 i686 Pentium III (Coppermine) GenuineIntel GNU/Linux -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GS/ d-s:a-28C++ILHA+++P+L++>+++E---W++N*o--K-w++++O-M--V--PS+PEY--PGP++t5XRtv++b++DI--D-G++e++h-r+y** ------END GEEK CODE BLOCK------ gpg-key: http://garaged.homeip.net/gpg-key.txt
Attachment:
signature.asc
Description: This is a digitally signed message part