From 4089e006820e1029a2dd7093bae596b1b31d1686 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sun, 2 Jul 2017 15:16:23 +0200 Subject: simplified some driver manager code around calling virtual driver methods declared method tables const per class --- src/drivers/driver.c | 12 ++++-------- src/drivers/driver.h | 2 +- src/drivers/hdi/ps2/keyboard.c | 2 +- src/drivers/hdi/ps2/mouse.c | 2 +- src/drivers/video/vga.c | 2 +- 5 files changed, 8 insertions(+), 12 deletions(-) (limited to 'src/drivers') diff --git a/src/drivers/driver.c b/src/drivers/driver.c index 5a1a479..d0a2f5d 100644 --- a/src/drivers/driver.c +++ b/src/drivers/driver.c @@ -24,8 +24,7 @@ void driver_manager_activate_all( driver_manager_t *manager ) { for( int i = 0; i < manager->nof_drivers; i++ ) { driver_t *driver = (driver_t *)manager->driver[i]; - driver_vtable_t *driver_vtable = driver->vtable; - driver_vtable->activate( driver ); + driver->vtable->activate( driver ); } } @@ -37,8 +36,7 @@ void driver_manager_deactivate_all( driver_manager_t *manager ) for( int i = manager->nof_drivers - 1; i >= 0; i-- ) { driver_t *driver = (driver_t *)manager->driver[i]; - driver_vtable_t *driver_vtable = driver->vtable; - driver_vtable->deactivate( driver ); + driver->vtable->deactivate( driver ); } } @@ -50,8 +48,7 @@ void driver_manager_deinit( driver_manager_t *manager ) for( int i = manager->nof_drivers - 1; i >= 0; i-- ) { driver_t *driver = (driver_t *)manager->driver[i]; - driver_vtable_t *driver_vtable = driver->vtable; - driver_vtable->deinit( driver ); + driver->vtable->deinit( driver ); } } @@ -59,7 +56,6 @@ void driver_manager_print_info_all( driver_manager_t *manager ) { for( int i = 0; i < manager->nof_drivers; i++ ) { driver_t *driver = (driver_t *)manager->driver[i]; - driver_vtable_t *driver_vtable = driver->vtable; - driver_vtable->print_info( driver ); + driver->vtable->print_info( driver ); } } diff --git a/src/drivers/driver.h b/src/drivers/driver.h index c110308..c725871 100644 --- a/src/drivers/driver.h +++ b/src/drivers/driver.h @@ -11,7 +11,7 @@ typedef struct { } driver_vtable_t; typedef struct { - driver_vtable_t *vtable; + driver_vtable_t const *vtable; } driver_t; #define MAX_NOF_DRIVERS 256 diff --git a/src/drivers/hdi/ps2/keyboard.c b/src/drivers/hdi/ps2/keyboard.c index eddb1dc..740c9ec 100644 --- a/src/drivers/hdi/ps2/keyboard.c +++ b/src/drivers/hdi/ps2/keyboard.c @@ -64,7 +64,7 @@ static void read_ack( keyboard_t *keyboard ) } */ -static keyboard_vtable_t keyboard_vtable = { +static keyboard_vtable_t const keyboard_vtable = { { keyboard_activate, keyboard_deactivate, diff --git a/src/drivers/hdi/ps2/mouse.c b/src/drivers/hdi/ps2/mouse.c index 13fd37a..1421729 100644 --- a/src/drivers/hdi/ps2/mouse.c +++ b/src/drivers/hdi/ps2/mouse.c @@ -76,7 +76,7 @@ static void set_sample_rate( mouse_t *mouse, uint8_t samples ) read_ack( mouse ); } -static mouse_vtable_t mouse_vtable = { +static mouse_vtable_t const mouse_vtable = { { mouse_activate, mouse_deactivate, diff --git a/src/drivers/video/vga.c b/src/drivers/video/vga.c index fa974d5..b8e3120 100644 --- a/src/drivers/video/vga.c +++ b/src/drivers/video/vga.c @@ -8,7 +8,7 @@ #undef DEBUG -static vga_vtable_t vga_vtable = { +static vga_vtable_t const vga_vtable = { { vga_activate, vga_deactivate, -- cgit v1.2.3-54-g00ecf