Lines Matching refs:cl

51 	struct mei_cl *cl;  in mei_open()  local
68 cl = mei_cl_alloc_linked(dev, MEI_HOST_CLIENT_ID_ANY); in mei_open()
69 if (IS_ERR(cl)) { in mei_open()
70 err = PTR_ERR(cl); in mei_open()
74 file->private_data = cl; in mei_open()
95 struct mei_cl *cl = file->private_data; in mei_release() local
99 if (WARN_ON(!cl || !cl->dev)) in mei_release()
102 dev = cl->dev; in mei_release()
105 if (cl == &dev->iamthif_cl) { in mei_release()
109 rets = mei_cl_disconnect(cl); in mei_release()
111 mei_cl_flush_queues(cl, file); in mei_release()
112 cl_dbg(dev, cl, "removing\n"); in mei_release()
114 mei_cl_unlink(cl); in mei_release()
118 kfree(cl); in mei_release()
138 struct mei_cl *cl = file->private_data; in mei_read() local
145 if (WARN_ON(!cl || !cl->dev)) in mei_read()
148 dev = cl->dev; in mei_read()
162 if (cl == &dev->iamthif_cl) { in mei_read()
167 cb = mei_cl_read_cb(cl, file); in mei_read()
184 err = mei_cl_read_start(cl, length, file); in mei_read()
186 cl_dbg(dev, cl, "mei start read failure status = %d\n", err); in mei_read()
191 if (list_empty(&cl->rd_completed) && !waitqueue_active(&cl->rx_wait)) { in mei_read()
199 if (wait_event_interruptible(cl->rx_wait, in mei_read()
200 (!list_empty(&cl->rd_completed)) || in mei_read()
201 (!mei_cl_is_connected(cl)))) { in mei_read()
209 if (!mei_cl_is_connected(cl)) { in mei_read()
215 cb = mei_cl_read_cb(cl, file); in mei_read()
217 if (mei_cl_is_fixed_address(cl) && dev->allow_fixed_address) { in mei_read()
218 cb = mei_cl_read_cb(cl, NULL); in mei_read()
230 cl_dbg(dev, cl, "read operation failed %d\n", rets); in mei_read()
234 cl_dbg(dev, cl, "buf.size = %d buf.idx = %ld\n", in mei_read()
260 cl_dbg(dev, cl, "end mei read rets = %d\n", rets); in mei_read()
277 struct mei_cl *cl = file->private_data; in mei_write() local
283 if (WARN_ON(!cl || !cl->dev)) in mei_write()
286 dev = cl->dev; in mei_write()
295 if (!mei_cl_is_connected(cl)) { in mei_write()
296 cl_err(dev, cl, "is not connected"); in mei_write()
301 if (!mei_me_cl_is_active(cl->me_cl)) { in mei_write()
306 if (length > mei_cl_mtu(cl)) { in mei_write()
316 if (cl == &dev->iamthif_cl) { in mei_write()
332 write_cb = mei_cl_alloc_cb(cl, length, MEI_FOP_WRITE, file); in mei_write()
345 if (cl == &dev->iamthif_cl) { in mei_write()
346 rets = mei_amthif_write(cl, write_cb); in mei_write()
357 rets = mei_cl_write(cl, write_cb, false); in mei_write()
381 struct mei_cl *cl; in mei_ioctl_connect_client() local
384 cl = file->private_data; in mei_ioctl_connect_client()
385 dev = cl->dev; in mei_ioctl_connect_client()
390 if (cl->state != MEI_FILE_INITIALIZING && in mei_ioctl_connect_client()
391 cl->state != MEI_FILE_DISCONNECTED) in mei_ioctl_connect_client()
420 mei_cl_unlink(cl); in mei_ioctl_connect_client()
422 kfree(cl); in mei_ioctl_connect_client()
423 cl = NULL; in mei_ioctl_connect_client()
441 rets = mei_cl_connect(cl, me_cl, file); in mei_ioctl_connect_client()
459 struct mei_cl *cl = file->private_data; in mei_ioctl_client_notify_request() local
465 return mei_cl_notify_request(cl, file, (u8)request); in mei_ioctl_client_notify_request()
478 struct mei_cl *cl = file->private_data; in mei_ioctl_client_notify_get() local
483 rets = mei_cl_notify_get(cl, block, &notify_ev); in mei_ioctl_client_notify_get()
503 struct mei_cl *cl = file->private_data; in mei_ioctl() local
509 if (WARN_ON(!cl || !cl->dev)) in mei_ioctl()
512 dev = cl->dev; in mei_ioctl()
612 struct mei_cl *cl = file->private_data; in mei_poll() local
617 if (WARN_ON(!cl || !cl->dev)) in mei_poll()
620 dev = cl->dev; in mei_poll()
624 notify_en = cl->notify_en && (req_events & POLLPRI); in mei_poll()
627 !mei_cl_is_connected(cl)) { in mei_poll()
632 if (cl == &dev->iamthif_cl) { in mei_poll()
638 poll_wait(file, &cl->ev_wait, wait); in mei_poll()
639 if (cl->notify_ev) in mei_poll()
644 poll_wait(file, &cl->rx_wait, wait); in mei_poll()
646 if (!list_empty(&cl->rd_completed)) in mei_poll()
649 mei_cl_read_start(cl, 0, file); in mei_poll()
671 struct mei_cl *cl = file->private_data; in mei_fasync() local
673 if (!mei_cl_is_connected(cl)) in mei_fasync()
676 return fasync_helper(fd, file, band, &cl->ev_async); in mei_fasync()