diff options
Diffstat (limited to 'drivers/staging/ozwpan/ozpd.h')
-rw-r--r-- | drivers/staging/ozwpan/ozpd.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/drivers/staging/ozwpan/ozpd.h b/drivers/staging/ozwpan/ozpd.h index fbf47cbab8a9..12c712956888 100644 --- a/drivers/staging/ozwpan/ozpd.h +++ b/drivers/staging/ozwpan/ozpd.h @@ -6,6 +6,7 @@ #ifndef _OZPD_H_ #define _OZPD_H_ +#include <linux/interrupt.h> #include "ozeltbuf.h" /* PD state @@ -47,8 +48,8 @@ struct oz_farewell { struct list_head link; u8 ep_num; u8 index; - u8 report[1]; u8 len; + u8 report[0]; }; /* Data structure that holds information on a specific peripheral device (PD). @@ -68,18 +69,16 @@ struct oz_pd { u8 isoc_sent; u32 last_rx_pkt_num; u32 last_tx_pkt_num; + struct timespec last_rx_timestamp; u32 trigger_pkt_num; - unsigned long pulse_time_j; - unsigned long timeout_time_j; - unsigned long pulse_period_j; - unsigned long presleep_j; - unsigned long keep_alive_j; - unsigned long last_rx_time_j; + unsigned long pulse_time; + unsigned long pulse_period; + unsigned long presleep; + unsigned long keep_alive; struct oz_elt_buf elt_buff; void *app_ctx[OZ_APPID_MAX]; spinlock_t app_lock[OZ_APPID_MAX]; int max_tx_size; - u8 heartbeat_requested; u8 mode; u8 ms_per_isoc; unsigned isoc_latency; @@ -95,6 +94,12 @@ struct oz_pd { spinlock_t stream_lock; struct list_head stream_list; struct net_device *net_dev; + struct hrtimer heartbeat; + struct hrtimer timeout; + u8 timeout_type; + struct tasklet_struct heartbeat_tasklet; + struct tasklet_struct timeout_tasklet; + struct work_struct workitem; }; #define OZ_MAX_QUEUED_FRAMES 4 |