equal
deleted
inserted
replaced
47 #include <asm/atomic.h> |
47 #include <asm/atomic.h> |
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 "xmldev.h" |
|
53 #include "fsm_master.h" |
52 #include "fsm_master.h" |
54 |
53 |
55 /*****************************************************************************/ |
54 /*****************************************************************************/ |
56 |
55 |
57 /** |
56 /** |
100 struct kobject kobj; /**< kobject */ |
99 struct kobject kobj; /**< kobject */ |
101 |
100 |
102 ec_device_t *device; /**< EtherCAT device */ |
101 ec_device_t *device; /**< EtherCAT device */ |
103 struct semaphore device_sem; /**< device semaphore */ |
102 struct semaphore device_sem; /**< device semaphore */ |
104 |
103 |
105 ec_xmldev_t xmldev; /**< XML character device */ |
|
106 |
|
107 ec_fsm_master_t fsm; /**< master state machine */ |
104 ec_fsm_master_t fsm; /**< master state machine */ |
108 ec_datagram_t fsm_datagram; /**< datagram used for state machines */ |
105 ec_datagram_t fsm_datagram; /**< datagram used for state machines */ |
109 ec_master_mode_t mode; /**< master mode */ |
106 ec_master_mode_t mode; /**< master mode */ |
110 |
107 |
111 struct list_head slaves; /**< list of slaves on the bus */ |
108 struct list_head slaves; /**< list of slaves on the bus */ |
148 }; |
145 }; |
149 |
146 |
150 /*****************************************************************************/ |
147 /*****************************************************************************/ |
151 |
148 |
152 // master creation/deletion |
149 // master creation/deletion |
153 int ec_master_init(ec_master_t *, unsigned int, unsigned int, dev_t); |
150 int ec_master_init(ec_master_t *, unsigned int, unsigned int); |
154 void ec_master_destroy(ec_master_t *); |
151 void ec_master_destroy(ec_master_t *); |
155 |
152 |
156 // mode transitions |
153 // mode transitions |
157 int ec_master_enter_idle_mode(ec_master_t *); |
154 int ec_master_enter_idle_mode(ec_master_t *); |
158 void ec_master_leave_idle_mode(ec_master_t *); |
155 void ec_master_leave_idle_mode(ec_master_t *); |