master/slave.c
changeset 1079 ef1266652c4d
parent 1055 2be8918682fa
child 1082 ff06c58e269c
--- a/master/slave.c	Wed Jul 02 09:22:55 2008 +0000
+++ b/master/slave.c	Wed Jul 02 11:26:51 2008 +0000
@@ -508,64 +508,6 @@
 
 /*****************************************************************************/
 
-/**
- * Writes SII contents to a slave.
- * \return Zero on success, otherwise error code.
- */
-
-int ec_slave_write_sii(
-        ec_slave_t *slave, /**< EtherCAT slave */
-        uint16_t offset, /**< SII word offset. */
-        unsigned int nwords, /**< Number of words. */
-        const uint16_t *words /**< New SII data. */
-        )
-{
-    ec_master_t *master = slave->master;
-    ec_sii_write_request_t request;
-
-    // init SII write request
-    INIT_LIST_HEAD(&request.list);
-    request.slave = slave;
-    request.words = words;
-    request.offset = offset;
-    request.nwords = nwords;
-    request.state = EC_REQUEST_QUEUED;
-
-    // schedule SII write request.
-    down(&master->sii_sem);
-    list_add_tail(&request.list, &master->sii_requests);
-    up(&master->sii_sem);
-
-    // wait for processing through FSM
-    if (wait_event_interruptible(master->sii_queue,
-                request.state != EC_REQUEST_QUEUED)) {
-        // interrupted by signal
-        down(&master->sii_sem);
-        if (request.state == EC_REQUEST_QUEUED) {
-            list_del(&request.list);
-            up(&master->sii_sem);
-            return -EINTR;
-        }
-        // request already processing: interrupt not possible.
-        up(&master->sii_sem);
-    }
-
-    // wait until master FSM has finished processing
-    wait_event(master->sii_queue,
-            request.state != EC_REQUEST_BUSY);
-
-    if (request.state == EC_REQUEST_SUCCESS) {
-        if (offset <= 4 && offset + nwords > 4) { // alias was written
-            slave->sii.alias = EC_READ_U16(words + 4);
-        }
-        return 0;
-    } else {
-        return -EIO;
-    }
-}
-
-/*****************************************************************************/
-
 /** Get the sync manager given an index.
  *
  * \return pointer to sync manager, or NULL.