summaryrefslogtreecommitdiff
path: root/src/drivers/hdi/ps2/mouse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/hdi/ps2/mouse.c')
-rw-r--r--src/drivers/hdi/ps2/mouse.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/drivers/hdi/ps2/mouse.c b/src/drivers/hdi/ps2/mouse.c
index 169f994..66c0dea 100644
--- a/src/drivers/hdi/ps2/mouse.c
+++ b/src/drivers/hdi/ps2/mouse.c
@@ -85,7 +85,7 @@ static mouse_vtable_t const mouse_vtable = {
}
};
-void mouse_init( mouse_t *mouse, mouse_event_handler_t handler, const uint32_t res_x, const uint32_t res_y, interrupt_t *interrupt, void *context )
+void mouse_init( mouse_t *mouse, mouse_event_handler_t handler, interrupt_t *interrupt, void *context )
{
memset( mouse, 0, sizeof( mouse_t ) );
@@ -94,7 +94,6 @@ void mouse_init( mouse_t *mouse, mouse_event_handler_t handler, const uint32_t r
// TODO: we should probe for wheel mouse and more than 3 packets
mouse->nof_packets = DEFAULT_NOF_PACKETS;
- mouse_set_resolution( mouse, res_x, res_y );
mouse->handler = handler;
port8_init( &mouse->command_port, 0x64 );
@@ -107,6 +106,7 @@ void mouse_activate( void *obj )
{
puts( "Activating driver for PS/2 mouse.." );
+ driver_t *driver = obj;
mouse_t *mouse = obj;
// enable port 2
@@ -137,6 +137,9 @@ void mouse_activate( void *obj )
// send_command( mouse, COMMAND_SEND_TO_PORT2 );
// write_data( mouse, MOUSE_COMMAND_SET_DEFAULTS );
+ interrupt_handler_init( &mouse->interrupt_handler, IRQ_BASE + 0x0C, driver->interrupt, mouse_handle_interrupt, obj );
+ interrupts_register_interrupt_handler( mouse->interrupt_handler );
+
// enable mouse on second port
send_command( mouse, COMMAND_SEND_TO_PORT2 );
write_data( mouse, MOUSE_COMMAND_ENABLE_DATAREPORTING );