diff options
Diffstat (limited to 'include/linux/mailbox_client.h')
-rw-r--r-- | include/linux/mailbox_client.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/mailbox_client.h b/include/linux/mailbox_client.h index 65229a45590f..67e28f47cef6 100644 --- a/include/linux/mailbox_client.h +++ b/include/linux/mailbox_client.h @@ -21,6 +21,8 @@ struct mbox_chan; * @knows_txdone: If the client could run the TX state machine. Usually * if the client receives some ACK packet for transmission. * Unused if the controller already has TX_Done/RTR IRQ. + * defer_startup: If set, the channel is not started immediately when + * created. * @rx_callback: Atomic callback to provide client the data received * @tx_prepare: Atomic callback to ask client to prepare the payload * before initiating the transmission if required. @@ -31,6 +33,7 @@ struct mbox_client { bool tx_block; unsigned long tx_tout; bool knows_txdone; + bool defer_startup; void (*rx_callback)(struct mbox_client *cl, void *mssg); void (*tx_prepare)(struct mbox_client *cl, void *mssg); @@ -40,6 +43,7 @@ struct mbox_client { struct mbox_chan *mbox_request_channel_byname(struct mbox_client *cl, const char *name); struct mbox_chan *mbox_request_channel(struct mbox_client *cl, int index); +int mbox_start_channel(struct mbox_chan *chan); int mbox_send_message(struct mbox_chan *chan, void *mssg); int mbox_flush(struct mbox_chan *chan, unsigned long timeout); void mbox_client_txdone(struct mbox_chan *chan, int r); /* atomic */ |