summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-07-02 15:16:23 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-07-02 15:16:23 +0200
commit4089e006820e1029a2dd7093bae596b1b31d1686 (patch)
treece245488b8edecb8e061cae9b5c3433b05b183a9 /src/drivers
parent834af201bae182e75f8aab9b5befc1ed8740ef79 (diff)
downloadabaos-4089e006820e1029a2dd7093bae596b1b31d1686.tar.gz
abaos-4089e006820e1029a2dd7093bae596b1b31d1686.tar.bz2
simplified some driver manager code around calling virtual driver methods
declared method tables const per class
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/driver.c12
-rw-r--r--src/drivers/driver.h2
-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
5 files changed, 8 insertions, 12 deletions
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,