Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rt2x00 / rt2x00queue.h
index 9b8c10a86dee9731b5941842d941be21ee0cae24..3d0137193da00631623d073f19003b985d4505e9 100644 (file)
@@ -359,6 +359,7 @@ enum queue_entry_flags {
        ENTRY_DATA_PENDING,
        ENTRY_DATA_IO_FAILED,
        ENTRY_DATA_STATUS_PENDING,
+       ENTRY_DATA_STATUS_SET,
 };
 
 /**
@@ -372,6 +373,7 @@ enum queue_entry_flags {
  * @entry_idx: The entry index number.
  * @priv_data: Private data belonging to this queue entry. The pointer
  *     points to data specific to a particular driver and queue type.
+ * @status: Device specific status
  */
 struct queue_entry {
        unsigned long flags;
@@ -383,6 +385,8 @@ struct queue_entry {
 
        unsigned int entry_idx;
 
+       u32 status;
+
        void *priv_data;
 };
 
@@ -584,6 +588,7 @@ struct data_queue_desc {
  * @queue: Pointer to @data_queue
  * @start: &enum queue_index Pointer to start index
  * @end: &enum queue_index Pointer to end index
+ * @data: Data to pass to the callback function
  * @fn: The function to call for each &struct queue_entry
  *
  * This will walk through all entries in the queue, in chronological
@@ -596,7 +601,9 @@ struct data_queue_desc {
 bool rt2x00queue_for_each_entry(struct data_queue *queue,
                                enum queue_index start,
                                enum queue_index end,
-                               bool (*fn)(struct queue_entry *entry));
+                               void *data,
+                               bool (*fn)(struct queue_entry *entry,
+                                          void *data));
 
 /**
  * rt2x00queue_empty - Check if the queue is empty.