summaryrefslogtreecommitdiff
path: root/src/drivers/driver.h
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-07-15 20:50:39 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-07-15 20:50:39 +0200
commitcfc0bfa213a94a6dee80c15047026547847da91c (patch)
treed28dbf1b368777537e93fa526d66b98a789440c2 /src/drivers/driver.h
parent4be3058d96089d9e16983affbdf0d821b6e5adc3 (diff)
downloadabaos-cfc0bfa213a94a6dee80c15047026547847da91c.tar.gz
abaos-cfc0bfa213a94a6dee80c15047026547847da91c.tar.bz2
reworked driver init and vtable, taking the interrupt manager and the context
as parameters when creating a driver
Diffstat (limited to 'src/drivers/driver.h')
-rw-r--r--src/drivers/driver.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/drivers/driver.h b/src/drivers/driver.h
index d538f14..38dfe64 100644
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
@@ -4,7 +4,6 @@
#include "interrupts.h"
typedef struct {
- void (*register_interrupt_handler)( void *obj, interrupt_handler_func_t handler, void *context );
void (*activate)( void *obj );
void (*deactivate)( void *obj );
void (*deinit)( void *obj );
@@ -13,12 +12,11 @@ typedef struct {
typedef struct {
driver_vtable_t const *vtable;
- interrupt_handler_func_t handler;
+ interrupt_t *interrupt;
void *context;
} driver_t;
-void driver_init( driver_t *driver );
-void driver_register_interrupt_handler( void *obj, interrupt_handler_func_t handler, void *context );
+void driver_init( driver_t *driver, interrupt_t *interrupt, void *context );
void driver_activate( void *obj );
void driver_deactivate( void *obj );
void driver_deinit( void *obj );