summaryrefslogtreecommitdiffstats
path: root/drivers/staging/greybus/hd.h
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@google.com>2015-12-22 18:21:51 -0800
committerGreg Kroah-Hartman <gregkh@google.com>2016-01-12 11:11:49 -0800
commited4596e9b19104ccc1e87bde8fcadee3a473c101 (patch)
tree9d2467879c261da5e43c2b90da3d0620757ba60e /drivers/staging/greybus/hd.h
parentaccad1ba7d62543ab3bcf08813726ea87d237bb6 (diff)
greybus: host: provide "generic" apbridge output calls
Provide a new function, gb_hd_output() to send data to the apbridge. This is useful for the camera and audio drivers that need to do this type of messaging. The camera driver is converted to use this new function, the audio driver can use it when it gets merged later. Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Tested-by: Mark Greer <mgreer@animalcreek.com> Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Diffstat (limited to 'drivers/staging/greybus/hd.h')
-rw-r--r--drivers/staging/greybus/hd.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/staging/greybus/hd.h b/drivers/staging/greybus/hd.h
index d828129475cd..e11359b145e6 100644
--- a/drivers/staging/greybus/hd.h
+++ b/drivers/staging/greybus/hd.h
@@ -23,6 +23,8 @@ struct gb_hd_driver {
void (*message_cancel)(struct gb_message *message);
int (*latency_tag_enable)(struct gb_host_device *hd, u16 cport_id);
int (*latency_tag_disable)(struct gb_host_device *hd, u16 cport_id);
+ int (*output)(struct gb_host_device *hd, void *req, u16 size, u8 cmd,
+ bool async);
};
struct gb_host_device {
@@ -53,6 +55,8 @@ struct gb_host_device *gb_hd_create(struct gb_hd_driver *driver,
int gb_hd_add(struct gb_host_device *hd);
void gb_hd_del(struct gb_host_device *hd);
void gb_hd_put(struct gb_host_device *hd);
+int gb_hd_output(struct gb_host_device *hd, void *req, u16 size, u8 cmd,
+ bool in_irq);
int gb_hd_init(void);
void gb_hd_exit(void);