master/master.h
changeset 922 fede1d8f5b71
parent 900 f8b5c6d21705
child 927 ffb7d1876ce0
equal deleted inserted replaced
921:c8c2caf0d667 922:fede1d8f5b71
    48 #include <asm/semaphore.h>
    48 #include <asm/semaphore.h>
    49 
    49 
    50 #include "device.h"
    50 #include "device.h"
    51 #include "domain.h"
    51 #include "domain.h"
    52 #include "fsm_master.h"
    52 #include "fsm_master.h"
       
    53 #include "cdev.h"
    53 
    54 
    54 /*****************************************************************************/
    55 /*****************************************************************************/
    55 
    56 
    56 /** EtherCAT master mode.
    57 /** EtherCAT master mode.
    57  */
    58  */
    82 struct ec_master {
    83 struct ec_master {
    83     struct kobject kobj; /**< kobject */
    84     struct kobject kobj; /**< kobject */
    84     unsigned int index; /**< master index */
    85     unsigned int index; /**< master index */
    85     unsigned int reserved; /**< non-zero, if the master is reserved for RT */
    86     unsigned int reserved; /**< non-zero, if the master is reserved for RT */
    86 
    87 
       
    88     ec_cdev_t cdev; /**< Master character device. */
       
    89 
    87     ec_device_t main_device; /**< EtherCAT device */
    90     ec_device_t main_device; /**< EtherCAT device */
    88     const uint8_t *main_mac; /**< MAC address of main device */
    91     const uint8_t *main_mac; /**< MAC address of main device */
    89     ec_device_t backup_device; /**< EtherCAT backup device */
    92     ec_device_t backup_device; /**< EtherCAT backup device */
    90     const uint8_t *backup_mac; /**< MAC address of backup device */
    93     const uint8_t *backup_mac; /**< MAC address of backup device */
    91     struct semaphore device_sem; /**< device semaphore */
    94     struct semaphore device_sem; /**< device semaphore */
   164 
   167 
   165 /*****************************************************************************/
   168 /*****************************************************************************/
   166 
   169 
   167 // master creation/deletion
   170 // master creation/deletion
   168 int ec_master_init(ec_master_t *, struct kobject *, unsigned int,
   171 int ec_master_init(ec_master_t *, struct kobject *, unsigned int,
   169         const uint8_t *, const uint8_t *);
   172         const uint8_t *, const uint8_t *, dev_t);
   170 void ec_master_clear(ec_master_t *);
   173 void ec_master_clear(ec_master_t *);
   171 
   174 
   172 // mode transitions
   175 // mode transitions
   173 int ec_master_enter_idle_mode(ec_master_t *);
   176 int ec_master_enter_idle_mode(ec_master_t *);
   174 void ec_master_leave_idle_mode(ec_master_t *);
   177 void ec_master_leave_idle_mode(ec_master_t *);