aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mailbox_controller.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mailbox_controller.h')
-rw-r--r--include/linux/mailbox_controller.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/mailbox_controller.h b/include/linux/mailbox_controller.h
index 9b0b21207345..4994a438444c 100644
--- a/include/linux/mailbox_controller.h
+++ b/include/linux/mailbox_controller.h
@@ -24,6 +24,9 @@ struct mbox_chan;
24 * transmission of data is reported by the controller via 24 * transmission of data is reported by the controller via
25 * mbox_chan_txdone (if it has some TX ACK irq). It must not 25 * mbox_chan_txdone (if it has some TX ACK irq). It must not
26 * sleep. 26 * sleep.
27 * @flush: Called when a client requests transmissions to be blocking but
28 * the context doesn't allow sleeping. Typically the controller
29 * will implement a busy loop waiting for the data to flush out.
27 * @startup: Called when a client requests the chan. The controller 30 * @startup: Called when a client requests the chan. The controller
28 * could ask clients for additional parameters of communication 31 * could ask clients for additional parameters of communication
29 * to be provided via client's chan_data. This call may 32 * to be provided via client's chan_data. This call may
@@ -46,6 +49,7 @@ struct mbox_chan;
46 */ 49 */
47struct mbox_chan_ops { 50struct mbox_chan_ops {
48 int (*send_data)(struct mbox_chan *chan, void *data); 51 int (*send_data)(struct mbox_chan *chan, void *data);
52 int (*flush)(struct mbox_chan *chan, unsigned long timeout);
49 int (*startup)(struct mbox_chan *chan); 53 int (*startup)(struct mbox_chan *chan);
50 void (*shutdown)(struct mbox_chan *chan); 54 void (*shutdown)(struct mbox_chan *chan);
51 bool (*last_tx_done)(struct mbox_chan *chan); 55 bool (*last_tx_done)(struct mbox_chan *chan);