summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUGS3
-rw-r--r--src/drivers/hdi/ps2/keyboard.c2
-rw-r--r--src/drivers/hdi/ps2/mouse.c2
-rw-r--r--src/drivers/video/vga.c2
4 files changed, 6 insertions, 3 deletions
diff --git a/BUGS b/BUGS
index a3dedc4..3b238c6 100644
--- a/BUGS
+++ b/BUGS
@@ -13,3 +13,6 @@
modus operandi. Accesses via base member chains are type safe, but
we have to know the depth of the hierarchy of a derived class. Casts
on the other hand are shorter to read, but not type-safe.
+- real hardware like the Asus EEEPC 701 cannot switch A20 correctly,
+ no clue why?
+
diff --git a/src/drivers/hdi/ps2/keyboard.c b/src/drivers/hdi/ps2/keyboard.c
index d7d8d88..eddb1dc 100644
--- a/src/drivers/hdi/ps2/keyboard.c
+++ b/src/drivers/hdi/ps2/keyboard.c
@@ -84,7 +84,7 @@ void keyboard_init( keyboard_t *keyboard, keyboard_event_handler_t handler, void
keyboard->handler = handler;
keyboard->context = context;
- keyboard->base.vtable = &keyboard_vtable.base;
+ ((driver_t *)keyboard)->vtable = (driver_vtable_t *)&keyboard_vtable;
}
void keyboard_activate( void *obj )
diff --git a/src/drivers/hdi/ps2/mouse.c b/src/drivers/hdi/ps2/mouse.c
index 36b2119..13fd37a 100644
--- a/src/drivers/hdi/ps2/mouse.c
+++ b/src/drivers/hdi/ps2/mouse.c
@@ -99,7 +99,7 @@ void mouse_init( mouse_t *mouse, mouse_event_handler_t handler, const uint32_t r
port8_init( &mouse->command_port, 0x64 );
port8_init( &mouse->data_port, 0x60 );
- mouse->base.vtable = &mouse_vtable.base;
+ ((driver_t *)mouse)->vtable = (driver_vtable_t *)&mouse_vtable;
}
void mouse_activate( void *obj )
diff --git a/src/drivers/video/vga.c b/src/drivers/video/vga.c
index 5a53870..fa974d5 100644
--- a/src/drivers/video/vga.c
+++ b/src/drivers/video/vga.c
@@ -35,7 +35,7 @@ void vga_init( vga_t *vga, void *context )
vga->context = context;
- vga->base.vtable = &vga_vtable.base;
+ ((driver_t *)vga)->vtable = (driver_vtable_t *)&vga_vtable;
}
void vga_activate( void *obj )