innovator_ps2 broken
Hi,
looks like innovator_ps2 is broken:
CC [M] drivers/input/keyboard/innovator_ps2.odrivers/input/keyboard/innovator_ps2.c: In function 'innovator_kbd_init':drivers/input/keyboard/innovator_ps2.c:1225: warning: implicit declaration of function 'init_input_dev'
WARNING: "init_input_dev" [drivers/input/keyboard/innovator_ps2.ko] undefined!
Anybody with a patch for this? Or should we remove it?
Use make omap_innovator_1510_defconfig & make modules to reproduce.
Cheers
Dirk
Hello all,
Quoted 7 lines
CC [M]
drivers/input/keyboard/innovator_ps2.odrivers/input/keyboard/innovator_ps2.c: In function 'innovator_kbd_init':drivers/input/keyboard/innovator_ps2.c:1225: warning:
implicit declaration of function 'init_input_dev'
WARNING: "init_input_dev" [drivers/input/keyboard/innovator_ps2.ko] undefined!
This patch makes this module compile again.
== CUT HERE ==
Make drivers/input/keyboard/innovator_ps2.c work again.
init_input_dev() is not used anymore, use input_allocate_dev() instead.
Signed-off-by Felipe Balbi <[email protected]>
---
drivers/input/keyboard/innovator_ps2.c +62 -57
@@ -338,3 +338,3 @@ static struct innovator_hid_dev *hid;struct innovator_hid_dev { -struct input_dev mouse, keyboard; +struct input_dev *mouse, *keyboard;int open;
@@ -923,2 +923,4 @@ process_pointing_report(struct innovatorint x, y, btn; + hid->keyboard =input_allocate_device (); + hid->mouse =input_allocate_device ();
@@ -939,10 +941,10 @@ process_pointing_report(struct innovator -input_report_key (&hid->mouse, +input_report_key (hid->mouse,BTN_LEFT , buffer[1 ] & (1 <<0 )); -input_report_key (&hid->mouse, +input_report_key (hid->mouse,BTN_RIGHT , buffer[1 ] & (1 <<1 )); -input_report_key (&hid->mouse, +input_report_key (hid->mouse,BTN_MIDDLE , buffer[1 ] & (1 <<2 )); -input_report_rel (&hid->mouse,REL_X , x); -input_report_rel (&hid->mouse,REL_Y , y); +input_report_rel (hid->mouse,REL_X , x); +input_report_rel (hid->mouse,REL_Y , y); }else {
@@ -958,5 +960,5 @@ process_pointing_report(struct innovator -input_report_key (&hid->mouse,BTN_LEFT , btn); -input_report_abs (&hid->mouse,ABS_X , x); -input_report_abs (&hid->mouse,ABS_Y , y); +input_report_key (hid->mouse,BTN_LEFT , btn); +input_report_abs (hid->mouse,ABS_X , x); +input_report_abs (hid->mouse,ABS_Y , y); prev_x = x;
@@ -965,3 +967,3 @@ process_pointing_report(struct innovator } -input_sync (&hid->mouse); +input_sync (hid->mouse);dbg ("HID X: %d Y: %d Functions: %x\n" , x, y, buffer[1 ]);
@@ -1015,11 +1017,11 @@ handle_print_scr(int up)if (up) { -input_report_key (&hid->keyboard,0xe0 ,1 ); -input_report_key (&hid->keyboard,0xb7 ,1 ); -input_report_key (&hid->keyboard,0xe0 ,1 ); -input_report_key (&hid->keyboard,0xaa ,1 ); +input_report_key (hid->keyboard,0xe0 ,1 ); +input_report_key (hid->keyboard,0xb7 ,1 ); +input_report_key (hid->keyboard,0xe0 ,1 ); +input_report_key (hid->keyboard,0xaa ,1 ); }else { -input_report_key (&hid->keyboard,0xe0 ,0 ); -input_report_key (&hid->keyboard,0x2a ,0 ); -input_report_key (&hid->keyboard,0xe0 ,0 ); -input_report_key (&hid->keyboard,0x37 ,0 ); +input_report_key (hid->keyboard,0xe0 ,0 ); +input_report_key (hid->keyboard,0x2a ,0 ); +input_report_key (hid->keyboard,0xe0 ,0 ); +input_report_key (hid->keyboard,0x37 ,0 ); }
@@ -1030,8 +1032,8 @@ handle_pause(void) { -input_report_key (&hid->keyboard,0xe1 ,0 ); -input_report_key (&hid->keyboard,0x1d ,0 ); -input_report_key (&hid->keyboard,0x45 ,0 ); -input_report_key (&hid->keyboard,0xe1 ,0 ); -input_report_key (&hid->keyboard,0x9d ,0 ); -input_report_key (&hid->keyboard,0xc5 ,0 ); +input_report_key (hid->keyboard,0xe1 ,0 ); +input_report_key (hid->keyboard,0x1d ,0 ); +input_report_key (hid->keyboard,0x45 ,0 ); +input_report_key (hid->keyboard,0xe1 ,0 ); +input_report_key (hid->keyboard,0x9d ,0 ); +input_report_key (hid->keyboard,0xc5 ,0 ); }
@@ -1044,2 +1046,4 @@ process_keyboard_report(struct innovatorint is_e0 =0 ; + hid->keyboard =input_allocate_device (); + hid->mouse =input_allocate_device ();
@@ -1067,6 +1071,6 @@ process_keyboard_report(struct innovatorif (is_e0) { -input_report_key (&hid->keyboard,0xe0 , !up); +input_report_key (hid->keyboard,0xe0 , !up); } -input_report_key (&hid->keyboard, usar2scancode[ch], !up); -input_sync (&hid->keyboard); +input_report_key (hid->keyboard, usar2scancode[ch], !up); +input_sync (hid->keyboard); }
@@ -1210,33 +1214,34 @@ innovator_kbd_init(void)memset (hid,0 ,sizeof (struct innovator_hid_dev )); - hid->mouse.evbit[0 ] =BIT (EV_KEY ) |BIT (EV_REL ); - hid->mouse.keybit[LONG (BTN_MOUSE )] = + hid->mouse =input_allocate_device (); + hid->mouse->evbit[0 ] =BIT (EV_KEY ) |BIT (EV_REL ); + hid->mouse->keybit[LONG (BTN_MOUSE )] =BIT (BTN_LEFT ) |BIT (BTN_RIGHT ) |BIT (BTN_MIDDLE ) |BIT (BTN_TOUCH ); - hid->mouse.relbit[0 ] =BIT (REL_X ) |BIT (REL_Y ); - hid->mouse.private = hid; - hid->mouse.open = innovator_hid_open; - hid->mouse.close = innovator_hid_close; - hid->mouse.name ="innovator_mouse" ; - hid->mouse.id.bustype =0 ; - hid->mouse.id.vendor =0 ; - hid->mouse.id.product =0 ; - hid->mouse.id.version =0 ; - hid->keyboard.evbit[0 ] =BIT (EV_KEY ) |BIT (EV_REP ); -init_input_dev (&hid->keyboard); - hid->keyboard.keycodesize =sizeof (unsigned char ); - hid->keyboard.keycodemax =ARRAY_SIZE (usar2scancode); + hid->mouse->relbit[0 ] =BIT (REL_X ) |BIT (REL_Y ); + hid->mouse->private = hid; + hid->mouse->open = innovator_hid_open; + hid->mouse->close = innovator_hid_close; + hid->mouse->name ="innovator_mouse" ; + hid->mouse->id.bustype =0 ; + hid->mouse->id.vendor =0 ; + hid->mouse->id.product =0 ; + hid->mouse->id.version =0 ; + hid->keyboard =input_allocate_device (); + hid->keyboard->evbit[0 ] =BIT (EV_KEY ) |BIT (EV_REP ); + hid->keyboard->keycodesize =sizeof (unsigned char ); + hid->keyboard->keycodemax =ARRAY_SIZE (usar2scancode);for (i =0 ; i <128 ; i++) -set_bit (usar2scancode[i], hid->keyboard.keybit); - hid->keyboard.private = hid; - hid->keyboard.open = innovator_hid_open; - hid->keyboard.close = innovator_hid_close; - hid->keyboard.name ="innovator_keyboard" ; - hid->keyboard.id.bustype =0 ; - hid->keyboard.id.vendor =0 ; - hid->keyboard.id.product =0 ; - hid->keyboard.id.version =0 ; -input_register_device (&hid->mouse); -input_register_device (&hid->keyboard); -innovator_hid_open (&hid->mouse); -innovator_hid_open (&hid->keyboard); +set_bit (usar2scancode[i], hid->keyboard->keybit); + hid->keyboard->private = hid; + hid->keyboard->open = innovator_hid_open; + hid->keyboard->close = innovator_hid_close; + hid->keyboard->name ="innovator_keyboard" ; + hid->keyboard->id.bustype =0 ; + hid->keyboard->id.vendor =0 ; + hid->keyboard->id.product =0 ; + hid->keyboard->id.version =0 ; +input_register_device (hid->mouse); +input_register_device (hid->keyboard); +innovator_hid_open (hid->mouse); +innovator_hid_open (hid->keyboard);
@@ -1259,4 +1264,4 @@ innovator_kbd_exit(void) { -input_unregister_device (&hid->mouse); -input_unregister_device (&hid->keyboard); +input_unregister_device (hid->mouse); +input_unregister_device (hid->keyboard);free_irq (OMAP1510_INT_FPGA_ATN , hid);
Signature · 9 lines
Best Regards, Felipe Balbi [email protected] Nokia Institute of Technology - INdT Kernel Developers Team +55 92 8127 0839
Quoted 9 lines · Felipe Balbi
Hello all,
Quoted 7 lines
CC [M]
drivers/input/keyboard/innovator_ps2.odrivers/input/keyboard/innovator_ps2.c: In function 'innovator_kbd_init':drivers/input/keyboard/innovator_ps2.c:1225: warning:
implicit declaration of function 'init_input_dev'
WARNING: "init_input_dev" [drivers/input/keyboard/innovator_ps2.ko] undefined!
Quoted 5 lines
This patch makes this module compile again.
Make
drivers/input/keyboard/innovator_ps2.cwork again.
init_input_dev()is not used anymore, useinput_allocate_dev()instead.
Pushing today.
Tony