diff options
Diffstat (limited to 'include/linux/mailbox_controller.h')
-rw-r--r-- | include/linux/mailbox_controller.h | 4 |
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 | */ |
47 | struct mbox_chan_ops { | 50 | struct 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); |