From cfc0bfa213a94a6dee80c15047026547847da91c Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 15 Jul 2017 20:50:39 +0200 Subject: reworked driver init and vtable, taking the interrupt manager and the context as parameters when creating a driver --- src/drivers/driver.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'src/drivers/driver.c') diff --git a/src/drivers/driver.c b/src/drivers/driver.c index c9633b8..fae54e7 100644 --- a/src/drivers/driver.c +++ b/src/drivers/driver.c @@ -6,26 +6,20 @@ #include "stdlib.h" static driver_vtable_t const driver_vtable = { - driver_register_interrupt_handler, driver_activate, driver_deactivate, driver_deinit, driver_print_info }; -void driver_init( driver_t *driver ) +void driver_init( driver_t *driver, interrupt_t *interrupt, void *context ) { memset( driver, 0, sizeof( driver_t ) ); - driver->vtable = &driver_vtable; -} - -void driver_register_interrupt_handler( void *obj, interrupt_handler_func_t handler, void *context ) -{ - driver_t *driver = (driver_t *)obj; - - driver->handler = handler; + driver->interrupt = interrupt; driver->context = context; + + driver->vtable = &driver_vtable; } void driver_activate( void *obj ) -- cgit v1.2.3-54-g00ecf