equal
deleted
inserted
replaced
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 <linux/wait.h> |
|
48 #include <asm/atomic.h> |
47 #include <asm/atomic.h> |
49 #include <asm/semaphore.h> |
48 #include <asm/semaphore.h> |
50 |
49 |
51 #include "device.h" |
50 #include "device.h" |
52 #include "domain.h" |
51 #include "domain.h" |
137 void (*release_cb)(void *); /**< lock release callback */ |
136 void (*release_cb)(void *); /**< lock release callback */ |
138 void *cb_data; /**< data parameter of locking callbacks */ |
137 void *cb_data; /**< data parameter of locking callbacks */ |
139 |
138 |
140 uint8_t eeprom_write_enable; /**< allow write operations to EEPROMs */ |
139 uint8_t eeprom_write_enable; /**< allow write operations to EEPROMs */ |
141 |
140 |
142 struct list_head sdo_requests; /**< list of SDO read/write requests */ |
141 ec_sdo_request_t *sdo_request; /**< pointer to the current SDO request */ |
143 wait_queue_head_t sdo_wait_queue; /**< wait queue for SDO access */ |
142 unsigned int sdo_seq_user; /**< sequence number for user space */ |
|
143 unsigned int sdo_seq_master; /**< sequence number for master */ |
|
144 struct semaphore sdo_sem; /**< SDO semaphore */ |
|
145 struct timer_list sdo_timer; /**< timer for polling sdo processing */ |
|
146 struct completion sdo_complete; /**< SDO request completion object */ |
144 }; |
147 }; |
145 |
148 |
146 /*****************************************************************************/ |
149 /*****************************************************************************/ |
147 |
150 |
148 // master creation and deletion |
151 // master creation and deletion |