ps2: improve function prototypes in ps2.c and ps2.h

With the latest changes it is now possible to improve some of the function
prototypes in ps2.c and ps.h to use the appropriate PS2KbdState or
PS2MouseState type instead of being a void opaque.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20220624134109.881989-7-mark.cave-ayland@ilande.co.uk>
master
Mark Cave-Ayland 2022-06-24 14:40:21 +01:00
parent 0c235e3889
commit 54334e7387
2 changed files with 13 additions and 17 deletions

View File

@ -581,12 +581,11 @@ static void ps2_reset_keyboard(PS2KbdState *s)
ps2_set_ledstate(s, 0);
}
void ps2_write_keyboard(void *opaque, int val)
void ps2_write_keyboard(PS2KbdState *s, int val)
{
PS2KbdState *s = (PS2KbdState *)opaque;
PS2State *ps2 = PS2_DEVICE(s);
trace_ps2_write_keyboard(opaque, val);
trace_ps2_write_keyboard(s, val);
ps2_cqueue_reset(ps2);
switch (ps2->write_cmd) {
default:
@ -675,10 +674,9 @@ void ps2_write_keyboard(void *opaque, int val)
* 1 = translated scancodes (used by qemu internally).
*/
void ps2_keyboard_set_translation(void *opaque, int mode)
void ps2_keyboard_set_translation(PS2KbdState *s, int mode)
{
PS2KbdState *s = (PS2KbdState *)opaque;
trace_ps2_keyboard_set_translation(opaque, mode);
trace_ps2_keyboard_set_translation(s, mode);
s->translate = mode;
}
@ -857,20 +855,18 @@ static void ps2_mouse_sync(DeviceState *dev)
}
}
void ps2_mouse_fake_event(void *opaque)
void ps2_mouse_fake_event(PS2MouseState *s)
{
PS2MouseState *s = opaque;
trace_ps2_mouse_fake_event(opaque);
trace_ps2_mouse_fake_event(s);
s->mouse_dx++;
ps2_mouse_sync(opaque);
ps2_mouse_sync(DEVICE(s));
}
void ps2_write_mouse(void *opaque, int val)
void ps2_write_mouse(PS2MouseState *s, int val)
{
PS2MouseState *s = (PS2MouseState *)opaque;
PS2State *ps2 = PS2_DEVICE(s);
trace_ps2_write_mouse(opaque, val);
trace_ps2_write_mouse(s, val);
switch (ps2->write_cmd) {
default:
case -1:

View File

@ -92,8 +92,8 @@ OBJECT_DECLARE_SIMPLE_TYPE(PS2MouseState, PS2_MOUSE_DEVICE)
/* ps2.c */
void *ps2_kbd_init(void (*update_irq)(void *, int), void *update_arg);
void *ps2_mouse_init(void (*update_irq)(void *, int), void *update_arg);
void ps2_write_mouse(void *, int val);
void ps2_write_keyboard(void *, int val);
void ps2_write_mouse(PS2MouseState *s, int val);
void ps2_write_keyboard(PS2KbdState *s, int val);
uint32_t ps2_read_data(PS2State *s);
void ps2_queue_noirq(PS2State *s, int b);
void ps2_raise_irq(PS2State *s);
@ -101,8 +101,8 @@ void ps2_queue(PS2State *s, int b);
void ps2_queue_2(PS2State *s, int b1, int b2);
void ps2_queue_3(PS2State *s, int b1, int b2, int b3);
void ps2_queue_4(PS2State *s, int b1, int b2, int b3, int b4);
void ps2_keyboard_set_translation(void *opaque, int mode);
void ps2_mouse_fake_event(void *opaque);
void ps2_keyboard_set_translation(PS2KbdState *s, int mode);
void ps2_mouse_fake_event(PS2MouseState *s);
int ps2_queue_empty(PS2State *s);
#endif /* HW_PS2_H */