summaryrefslogtreecommitdiff
path: root/src/drivers/hdi
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/hdi')
-rw-r--r--src/drivers/hdi/keyboard.c28
-rw-r--r--src/drivers/hdi/keyboard.h1
-rw-r--r--src/drivers/hdi/mouse.c29
-rw-r--r--src/drivers/hdi/mouse.h4
-rw-r--r--src/drivers/hdi/ps2/ps2keyboard.c8
-rw-r--r--src/drivers/hdi/ps2/ps2keyboard.h1
-rw-r--r--src/drivers/hdi/ps2/ps2mouse.c10
-rw-r--r--src/drivers/hdi/ps2/ps2mouse.h1
8 files changed, 27 insertions, 55 deletions
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 );