master/master.h
changeset 378 8fe6cd43787a
parent 377 ecac8252f114
child 381 006d3653701d
equal deleted inserted replaced
377:ecac8252f114 378:8fe6cd43787a
    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>
    45 #include <linux/sysfs.h>
    46 #include <linux/timer.h>
    46 #include <linux/timer.h>
       
    47 #include <asm/atomic.h>
    47 
    48 
    48 #include "device.h"
    49 #include "device.h"
    49 #include "domain.h"
    50 #include "domain.h"
    50 #include "xmldev.h"
    51 #include "xmldev.h"
    51 #include "fsm.h"
    52 #include "fsm.h"
    90 */
    91 */
    91 
    92 
    92 struct ec_master
    93 struct ec_master
    93 {
    94 {
    94     struct list_head list; /**< list item for module's master list */
    95     struct list_head list; /**< list item for module's master list */
    95     unsigned int reserved; /**< non-zero, if the master is reserved for RT */
    96     atomic_t available; /**< zero, if the master is reserved for RT */
    96     unsigned int index; /**< master index */
    97     unsigned int index; /**< master index */
    97 
    98 
    98     struct kobject kobj; /**< kobject */
    99     struct kobject kobj; /**< kobject */
    99 
   100 
   100     ec_device_t *device; /**< EtherCAT device */
   101     ec_device_t *device; /**< EtherCAT device */