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> |
47 #include <asm/atomic.h> |
48 #include <asm/atomic.h> |
48 #include <asm/semaphore.h> |
49 #include <asm/semaphore.h> |
49 |
50 |
50 #include "device.h" |
51 #include "device.h" |
51 #include "device_id.h" |
52 #include "device_id.h" |
136 spinlock_t internal_lock; /**< spinlock used in idle mode */ |
137 spinlock_t internal_lock; /**< spinlock used in idle mode */ |
137 int (*request_cb)(void *); /**< lock request callback */ |
138 int (*request_cb)(void *); /**< lock request callback */ |
138 void (*release_cb)(void *); /**< lock release callback */ |
139 void (*release_cb)(void *); /**< lock release callback */ |
139 void *cb_data; /**< data parameter of locking callbacks */ |
140 void *cb_data; /**< data parameter of locking callbacks */ |
140 |
141 |
|
142 struct list_head eeprom_requests; /**< EEPROM write requests */ |
|
143 struct semaphore eeprom_sem; /**< semaphore protecting the list of |
|
144 EEPROM write requests */ |
|
145 wait_queue_head_t eeprom_queue; /**< wait queue for EEPROM |
|
146 write requests from user space */ |
|
147 |
141 ec_sdo_request_t *sdo_request; /**< pointer to the current SDO request */ |
148 ec_sdo_request_t *sdo_request; /**< pointer to the current SDO request */ |
142 unsigned int sdo_seq_user; /**< sequence number for user space */ |
149 unsigned int sdo_seq_user; /**< sequence number for user space */ |
143 unsigned int sdo_seq_master; /**< sequence number for master */ |
150 unsigned int sdo_seq_master; /**< sequence number for master */ |
144 struct semaphore sdo_sem; /**< SDO semaphore */ |
151 struct semaphore sdo_sem; /**< SDO semaphore */ |
145 struct timer_list sdo_timer; /**< timer for polling sdo processing */ |
152 struct timer_list sdo_timer; /**< timer for polling sdo processing */ |