summaryrefslogtreecommitdiff
path: root/src/drivers/net
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/net
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/net')
-rw-r--r--src/drivers/net/rtl8139.c5
-rw-r--r--src/drivers/net/rtl8139.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/src/drivers/net/rtl8139.c b/src/drivers/net/rtl8139.c
index 139f228..a5c0cd6 100644
--- a/src/drivers/net/rtl8139.c
+++ b/src/drivers/net/rtl8139.c
@@ -7,7 +7,6 @@
static rtl8139_vtable_t const rtl8139_vtable = {
{
- driver_register_interrupt_handler,
rtl8139_activate,
rtl8139_deactivate,
rtl8139_deinit,
@@ -15,10 +14,12 @@ static rtl8139_vtable_t const rtl8139_vtable = {
}
};
-void rtl8139_init( rtl8139_t *rtl8139 )
+void rtl8139_init( rtl8139_t *rtl8139, interrupt_t *interrupt, void *context )
{
memset( rtl8139, 0, sizeof( rtl8139_t ) );
+ driver_init( (driver_t *)rtl8139, interrupt, context );
+
((driver_t *)rtl8139)->vtable = (driver_vtable_t *)&rtl8139_vtable;
}
diff --git a/src/drivers/net/rtl8139.h b/src/drivers/net/rtl8139.h
index fd3becc..1bb899c 100644
--- a/src/drivers/net/rtl8139.h
+++ b/src/drivers/net/rtl8139.h
@@ -11,7 +11,7 @@ typedef struct {
driver_vtable_t base;
} rtl8139_vtable_t;
-void rtl8139_init( rtl8139_t *rtl8139 );
+void rtl8139_init( rtl8139_t *rtl8139, interrupt_t *interrupt, void *context );
void rtl8139_activate( void *obj );
void rtl8139_deactivate( void *obj );
void rtl8139_deinit( void *obj );