From 7a58673a4eb00f386dcea252d3015b32847fbc17 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Mon, 24 Jul 2017 07:10:19 +0200 Subject: added print_name method to all drivers removed superfluos empty methods in abstract drivers moved printing of info to method in rtl8139 driver --- src/drivers/hdi/keyboard.c | 28 ++++------------------------ src/drivers/hdi/keyboard.h | 1 + src/drivers/hdi/mouse.c | 29 +++++------------------------ src/drivers/hdi/mouse.h | 4 ---- src/drivers/hdi/ps2/ps2keyboard.c | 8 +++++++- src/drivers/hdi/ps2/ps2keyboard.h | 1 + src/drivers/hdi/ps2/ps2mouse.c | 10 ++++++++-- src/drivers/hdi/ps2/ps2mouse.h | 1 + 8 files changed, 27 insertions(+), 55 deletions(-) (limited to 'src/drivers/hdi') diff --git a/src/drivers/hdi/keyboard.c b/src/drivers/hdi/keyboard.c index 9b9c337..c96b554 100644 --- a/src/drivers/hdi/keyboard.c +++ b/src/drivers/hdi/keyboard.c @@ -5,10 +5,10 @@ static keyboard_vtable_t const keyboard_vtable = { { - keyboard_activate, - keyboard_deactivate, - keyboard_deinit, - keyboard_print_info + driver_activate, + driver_deactivate, + driver_deinit, + driver_print_info } }; @@ -22,23 +22,3 @@ void keyboard_init( keyboard_t *keyboard, keyboard_event_handler_t handler, inte ((driver_t *)keyboard)->vtable = (driver_vtable_t *)&keyboard_vtable; } - -void keyboard_deinit( void *obj ) -{ - // nothing to be done -} - -void keyboard_activate( void *obj ) -{ - kernel_panic( "Calling abstract method in file %s at line %d.", __FILE__, __LINE__ ); -} - -void keyboard_deactivate( void *obj ) -{ - kernel_panic( "Calling abstract method in file %s at line %d.", __FILE__, __LINE__ ); -} - -void keyboard_print_info( void *obj ) -{ - kernel_panic( "Calling abstract method in file %s at line %d.", __FILE__, __LINE__ ); -} diff --git a/src/drivers/hdi/keyboard.h b/src/drivers/hdi/keyboard.h index aab7383..4577a61 100644 --- a/src/drivers/hdi/keyboard.h +++ b/src/drivers/hdi/keyboard.h @@ -50,6 +50,7 @@ void keyboard_init( keyboard_t *keyboard, keyboard_event_handler_t handler, inte void keyboard_activate( void *obj ); void keyboard_deactivate( void *obj ); void keyboard_deinit( void *obj ); +void keyboard_print_name( void *obj ); void keyboard_print_info( void *obj ); #endif // KEYBOARD_H diff --git a/src/drivers/hdi/mouse.c b/src/drivers/hdi/mouse.c index a0b62f9..c48dba6 100644 --- a/src/drivers/hdi/mouse.c +++ b/src/drivers/hdi/mouse.c @@ -5,10 +5,11 @@ static mouse_vtable_t const mouse_vtable = { { - mouse_activate, - mouse_deactivate, - mouse_deinit, - mouse_print_info + driver_activate, + driver_deactivate, + driver_deinit, + driver_print_name, + driver_print_info }, mouse_set_resolution, mouse_set_position @@ -25,26 +26,6 @@ void mouse_init( mouse_t *mouse, mouse_event_handler_t handler, interrupt_t *int ((driver_t *)mouse)->vtable = (driver_vtable_t *)&mouse_vtable; } -void mouse_deinit( void *obj ) -{ - // nothing to be done -} - -void mouse_activate( void *obj ) -{ - kernel_panic( "Calling abstract method in file %s at line %d.", __FILE__, __LINE__ ); -} - -void mouse_deactivate( void *obj ) -{ - kernel_panic( "Calling abstract method in file %s at line %d.", __FILE__, __LINE__ ); -} - -void mouse_print_info( void *obj ) -{ - kernel_panic( "Calling abstract method in file %s at line %d.", __FILE__, __LINE__ ); -} - void mouse_set_resolution( void *obj, const uint32_t res_x, const uint32_t res_y ) { mouse_t *mouse = (mouse_t *)obj; diff --git a/src/drivers/hdi/mouse.h b/src/drivers/hdi/mouse.h index 5b3d08f..e89fa5e 100644 --- a/src/drivers/hdi/mouse.h +++ b/src/drivers/hdi/mouse.h @@ -42,10 +42,6 @@ typedef struct { } mouse_vtable_t; void mouse_init( mouse_t *mouse, mouse_event_handler_t handler, interrupt_t *interrupt, void *context ); -void mouse_activate( void *obj ); -void mouse_deactivate( void *obj ); -void mouse_deinit( void *obj ); -void mouse_print_info( void *obj ); void mouse_set_resolution( void *obj, const uint32_t x, const uint32_t y ); void mouse_set_position( void *obj, const uint32_t x, const uint32_t y ); diff --git a/src/drivers/hdi/ps2/ps2keyboard.c b/src/drivers/hdi/ps2/ps2keyboard.c index 4151c56..6fa6caa 100644 --- a/src/drivers/hdi/ps2/ps2keyboard.c +++ b/src/drivers/hdi/ps2/ps2keyboard.c @@ -69,6 +69,7 @@ static keyboard_vtable_t const ps2keyboard_vtable = { ps2keyboard_activate, ps2keyboard_deactivate, ps2keyboard_deinit, + ps2keyboard_print_name, ps2keyboard_print_info } }; @@ -325,7 +326,12 @@ uint32_t ps2keyboard_handle_interrupt( interrupt_handler_t *handler, uint32_t es return esp; } -void ps2keyboard_print_info( void *obj ) +void ps2keyboard_print_name( void *obj ) { puts( "PS/2 keyboard driver" ); } + +void ps2keyboard_print_info( void *obj ) +{ + // TODO print type of keyboard, IRQ, etc. +} diff --git a/src/drivers/hdi/ps2/ps2keyboard.h b/src/drivers/hdi/ps2/ps2keyboard.h index a5b66ca..a0650e3 100644 --- a/src/drivers/hdi/ps2/ps2keyboard.h +++ b/src/drivers/hdi/ps2/ps2keyboard.h @@ -26,6 +26,7 @@ void ps2keyboard_init( ps2keyboard_t *ps2keyboard, keyboard_event_handler_t hand void ps2keyboard_activate( void *obj ); void ps2keyboard_deactivate( void *obj ); void ps2keyboard_deinit( void *obj ); +void ps2keyboard_print_name( void *obj ); void ps2keyboard_print_info( void *obj ); uint32_t ps2keyboard_handle_interrupt( interrupt_handler_t *handler, uint32_t esp ); diff --git a/src/drivers/hdi/ps2/ps2mouse.c b/src/drivers/hdi/ps2/ps2mouse.c index 9f0fcae..766e737 100644 --- a/src/drivers/hdi/ps2/ps2mouse.c +++ b/src/drivers/hdi/ps2/ps2mouse.c @@ -81,7 +81,8 @@ static ps2mouse_vtable_t const ps2mouse_vtable = { { ps2mouse_activate, ps2mouse_deactivate, - mouse_deinit, + driver_deinit, + ps2mouse_print_name, ps2mouse_print_info }, mouse_set_resolution, @@ -239,8 +240,13 @@ uint32_t ps2mouse_handle_interrupt( interrupt_handler_t *handler, uint32_t esp ) return esp; } -void ps2mouse_print_info( void *obj ) +void ps2mouse_print_name( void *obj ) { puts( "PS/2 mouse driver" ); } +void ps2mouse_print_info( void *obj ) +{ + // TODO: print IRQ, mouse type, wheel, buttons, etc. +} + diff --git a/src/drivers/hdi/ps2/ps2mouse.h b/src/drivers/hdi/ps2/ps2mouse.h index 4c59089..581b8d2 100644 --- a/src/drivers/hdi/ps2/ps2mouse.h +++ b/src/drivers/hdi/ps2/ps2mouse.h @@ -28,6 +28,7 @@ typedef struct { void ps2mouse_init( ps2mouse_t *mouse, mouse_event_handler_t handler, interrupt_t *interrupt, void *context ); void ps2mouse_activate( void *obj ); void ps2mouse_deactivate( void *obj ); +void ps2mouse_print_name( void *obj ); void ps2mouse_print_info( void *obj ); uint32_t ps2mouse_handle_interrupt( interrupt_handler_t *handler, uint32_t esp ); -- cgit v1.2.3-54-g00ecf