master/master.h
changeset 997 652180478e95
parent 992 50a44cbd30af
child 1000 5746fdd1ca2e
equal deleted inserted replaced
996:1c7033e7c1b9 997:652180478e95
    40 
    40 
    41 #ifndef __EC_MASTER_H__
    41 #ifndef __EC_MASTER_H__
    42 #define __EC_MASTER_H__
    42 #define __EC_MASTER_H__
    43 
    43 
    44 #include <linux/list.h>
    44 #include <linux/list.h>
    45 #include <linux/sysfs.h>
       
    46 #include <linux/timer.h>
    45 #include <linux/timer.h>
    47 #include <linux/wait.h>
    46 #include <linux/wait.h>
    48 #include <asm/semaphore.h>
    47 #include <asm/semaphore.h>
    49 
    48 
    50 #include "device.h"
    49 #include "device.h"
    79 /** EtherCAT master.
    78 /** EtherCAT master.
    80  *
    79  *
    81  * Manages slaves, domains and IO.
    80  * Manages slaves, domains and IO.
    82  */
    81  */
    83 struct ec_master {
    82 struct ec_master {
    84     struct kobject kobj; /**< kobject */
       
    85     unsigned int index; /**< master index */
    83     unsigned int index; /**< master index */
    86     unsigned int reserved; /**< non-zero, if the master is reserved for RT */
    84     unsigned int reserved; /**< non-zero, if the master is reserved for RT */
    87 
    85 
    88     ec_cdev_t cdev; /**< Master character device. */
    86     ec_cdev_t cdev; /**< Master character device. */
    89 
    87 
   166 };
   164 };
   167 
   165 
   168 /*****************************************************************************/
   166 /*****************************************************************************/
   169 
   167 
   170 // master creation/deletion
   168 // master creation/deletion
   171 int ec_master_init(ec_master_t *, struct kobject *, unsigned int,
   169 int ec_master_init(ec_master_t *, unsigned int, const uint8_t *,
   172         const uint8_t *, const uint8_t *, dev_t);
   170         const uint8_t *, dev_t);
   173 void ec_master_clear(ec_master_t *);
   171 void ec_master_clear(ec_master_t *);
   174 
   172 
   175 // mode transitions
   173 // mode transitions
   176 int ec_master_enter_idle_mode(ec_master_t *);
   174 int ec_master_enter_idle_mode(ec_master_t *);
   177 void ec_master_leave_idle_mode(ec_master_t *);
   175 void ec_master_leave_idle_mode(ec_master_t *);