diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2015-02-10 10:39:43 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-03-01 19:37:00 -0800 |
commit | bca67d681c4864b74fa5fae9ee47e562d1e272b1 (patch) | |
tree | 1538db82496b44cc2f7343714ed4a949311f1815 /drivers/misc/mei/client.h | |
parent | 5db7514d9333c920791538c850cfb9dbd19025f7 (diff) | |
download | linux-bca67d681c4864b74fa5fae9ee47e562d1e272b1.tar.bz2 |
mei: always initialize the callback with the intended operation type
We set the operation type at initialization time as each cb is used only
for a single type of operation
As a byproduct we add a convenient wrapper for allocating cb with
the data buffer.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/mei/client.h')
-rw-r--r-- | drivers/misc/mei/client.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/misc/mei/client.h b/drivers/misc/mei/client.h index d430a6e09ae8..f7d0285b5f57 100644 --- a/drivers/misc/mei/client.h +++ b/drivers/misc/mei/client.h @@ -47,7 +47,8 @@ void mei_me_cl_rm_all(struct mei_device *dev); /* * MEI IO Functions */ -struct mei_cl_cb *mei_io_cb_init(struct mei_cl *cl, struct file *fp); +struct mei_cl_cb *mei_io_cb_init(struct mei_cl *cl, enum mei_cb_file_ops type, + struct file *fp); void mei_io_cb_free(struct mei_cl_cb *priv_cb); int mei_io_cb_alloc_buf(struct mei_cl_cb *cb, size_t length); @@ -77,6 +78,8 @@ int mei_cl_unlink(struct mei_cl *cl); int mei_cl_flush_queues(struct mei_cl *cl); struct mei_cl_cb *mei_cl_find_read_cb(struct mei_cl *cl); +struct mei_cl_cb *mei_cl_alloc_cb(struct mei_cl *cl, size_t length, + enum mei_cb_file_ops type, struct file *fp); int mei_cl_flow_ctrl_creds(struct mei_cl *cl); @@ -100,7 +103,7 @@ static inline bool mei_cl_is_transitioning(struct mei_cl *cl) bool mei_cl_is_other_connecting(struct mei_cl *cl); int mei_cl_disconnect(struct mei_cl *cl); int mei_cl_connect(struct mei_cl *cl, struct file *file); -int mei_cl_read_start(struct mei_cl *cl, size_t length); +int mei_cl_read_start(struct mei_cl *cl, size_t length, struct file *fp); int mei_cl_irq_read_msg(struct mei_cl *cl, struct mei_msg_hdr *hdr, struct mei_cl_cb *cmpl_list); int mei_cl_write(struct mei_cl *cl, struct mei_cl_cb *cb, bool blocking); |