master/master.c
changeset 646 fbbd4e54e031
parent 643 78929d878b2c
child 647 dc556a8c8fed
--- a/master/master.c	Fri Mar 09 14:00:32 2007 +0000
+++ b/master/master.c	Fri Mar 09 15:11:29 2007 +0000
@@ -157,14 +157,9 @@
     init_MUTEX(&master->eeprom_sem);
     init_waitqueue_head(&master->eeprom_queue);
 
-    master->sdo_request = NULL;
-    master->sdo_seq_user = 0;
-    master->sdo_seq_master = 0;
+    INIT_LIST_HEAD(&master->sdo_requests);
     init_MUTEX(&master->sdo_sem);
-    init_timer(&master->sdo_timer);
-    master->sdo_timer.function = ec_master_check_sdo;
-    master->sdo_timer.data = (unsigned long) master;
-    init_completion(&master->sdo_complete);
+    init_waitqueue_head(&master->sdo_queue);
 
     // init devices
     if (ec_device_init(&master->main_device, master))
@@ -301,21 +296,6 @@
 /*****************************************************************************/
 
 /**
-   Flushes the SDO request queue.
-*/
-
-void ec_master_flush_sdo_requests(ec_master_t *master)
-{
-    del_timer_sync(&master->sdo_timer);
-    complete(&master->sdo_complete);
-    master->sdo_request = NULL;
-    master->sdo_seq_user = 0;
-    master->sdo_seq_master = 0;
-}
-
-/*****************************************************************************/
-
-/**
    Internal locking callback.
 */
 
@@ -416,7 +396,6 @@
     
     ec_master_eoe_stop(master);
     ec_master_thread_stop(master);
-    ec_master_flush_sdo_requests(master);
     ec_master_destroy_slaves(master);
 }
 
@@ -1238,25 +1217,6 @@
 /*****************************************************************************/
 
 /**
-*/
-
-void ec_master_check_sdo(unsigned long data /**< master pointer */)
-{
-    ec_master_t *master = (ec_master_t *) data;
-
-    if (master->sdo_seq_master != master->sdo_seq_user) {
-        master->sdo_timer.expires = jiffies + 10;
-        add_timer(&master->sdo_timer);
-        return;
-    }
-
-    // master has processed the request
-    complete(&master->sdo_complete);
-}
-
-/*****************************************************************************/
-
-/**
    Measures the time, a frame is on the bus.
    \return 0 in case of success, else < 0
 */