Print this page
XXXX introduce drv_sectohz


 194 
 195 #define find_struct(ptr, type, member) ( \
 196         { \
 197         const __typeof(((type *)0)->member) *__tmpp = (ptr);  \
 198         (type *)(void *)((char *)__tmpp - ((size_t)&((type *)0)->member)); \
 199         })
 200 #else
 201 /* type unsafe version */
 202 #define find_struct(ptr, type, member) \
 203                 ((type *)(void *)((char *)(ptr) \
 204                 - ((size_t)&((type *)0)->member)))
 205 
 206 #endif
 207 
 208 #define list_for_each_entry_safe(pos, n, head, member, type)                  \
 209         for (pos = find_struct((head)->list_next, type, member),      \
 210                 n = find_struct(pos->member.list_next, type, member); \
 211                 &pos->member != (head);                                    \
 212                 pos = n, n = find_struct(n->member.list_next, type, member))
 213 
 214 #define HZ              drv_usectohz(1000000)
 215 /*
 216  * time to wait HECI become ready after init
 217  */
 218 #define HECI_INTEROP_TIMEOUT    (HZ * 7)
 219 
 220 /*
 221  * watch dog definition
 222  */
 223 #define HECI_WATCHDOG_DATA_SIZE 16
 224 #define HECI_START_WD_DATA_SIZE 20
 225 #define HECI_WD_PARAMS_SIZE     4
 226 #define HECI_WD_STATE_INDEPENDENCE_MSG_SENT     (1 << 0)
 227 
 228 #define HECI_WD_HOST_CLIENT_ID  1
 229 #define HECI_IAMTHIF_HOST_CLIENT_ID     2
 230 
 231 struct guid {
 232         uint32_t data1;
 233         uint16_t data2;
 234         uint16_t data3;




 194 
 195 #define find_struct(ptr, type, member) ( \
 196         { \
 197         const __typeof(((type *)0)->member) *__tmpp = (ptr);  \
 198         (type *)(void *)((char *)__tmpp - ((size_t)&((type *)0)->member)); \
 199         })
 200 #else
 201 /* type unsafe version */
 202 #define find_struct(ptr, type, member) \
 203                 ((type *)(void *)((char *)(ptr) \
 204                 - ((size_t)&((type *)0)->member)))
 205 
 206 #endif
 207 
 208 #define list_for_each_entry_safe(pos, n, head, member, type)                  \
 209         for (pos = find_struct((head)->list_next, type, member),      \
 210                 n = find_struct(pos->member.list_next, type, member); \
 211                 &pos->member != (head);                                    \
 212                 pos = n, n = find_struct(n->member.list_next, type, member))
 213 
 214 #define HZ              drv_sectohz(1)
 215 /*
 216  * time to wait HECI become ready after init
 217  */
 218 #define HECI_INTEROP_TIMEOUT    (HZ * 7)
 219 
 220 /*
 221  * watch dog definition
 222  */
 223 #define HECI_WATCHDOG_DATA_SIZE 16
 224 #define HECI_START_WD_DATA_SIZE 20
 225 #define HECI_WD_PARAMS_SIZE     4
 226 #define HECI_WD_STATE_INDEPENDENCE_MSG_SENT     (1 << 0)
 227 
 228 #define HECI_WD_HOST_CLIENT_ID  1
 229 #define HECI_IAMTHIF_HOST_CLIENT_ID     2
 230 
 231 struct guid {
 232         uint32_t data1;
 233         uint16_t data2;
 234         uint16_t data3;