drivers/ec_device.c
changeset 5 6f2508af550c
parent 2 b0a7a4745bf9
child 6 e36a85dc2730
--- a/drivers/ec_device.c	Fri Nov 04 09:38:50 2005 +0000
+++ b/drivers/ec_device.c	Fri Nov 04 16:47:23 2005 +0000
@@ -12,7 +12,6 @@
 #include <linux/skbuff.h>
 #include <linux/if_ether.h>
 #include <linux/netdevice.h>
-#include <rtai.h>
 #include <linux/delay.h>
 
 #include "ec_device.h"
@@ -22,7 +21,7 @@
 
 /**
    EtherCAT-Geräte-Konstuktor.
-   
+
    Initialisiert ein EtherCAT-Gerät, indem es die Variablen
    in der Struktur auf die Default-Werte setzt.
 
@@ -48,7 +47,7 @@
 
 /**
    EtherCAT-Geräte-Destuktor.
-   
+
    Gibt den dynamisch allozierten Speicher des
    EtherCAT-Gerätes (die beiden Socket-Buffer) wieder frei.
 
@@ -76,7 +75,7 @@
 
 /**
    Weist einem EtherCAT-Gerät das entsprechende net_device zu.
-   
+
    Prüft das net_device, allokiert Socket-Buffer in Sende- und
    Empfangsrichtung und weist dem EtherCAT-Gerät und den
    Socket-Buffern das net_device zu.
@@ -280,6 +279,26 @@
 /***************************************************************/
 
 /**
+   Ruft manuell die Interrupt-Routine der Netzwerkkarte auf.
+
+   @param ecd EtherCAT-Gerät
+
+   @return Anzahl der kopierten Bytes bei Erfolg, sonst < 0
+*/
+
+void EtherCAT_device_call_isr(EtherCAT_device_t *ecd)
+{
+  EC_DBG(KERN_DEBUG "EtherCAT: Calling ISR...\n");
+
+  // Manuell die ISR aufrufen
+  rtl8139_interrupt(0, ecd->dev, NULL);
+
+  EC_DBG(KERN_DEBUG "EtherCAT: ISR finished.\n");
+}
+
+/***************************************************************/
+
+/**
    Gibt alle Informationen über das Device-Objekt aus.
 
    @param ecd EtherCAT-Gerät