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 if (mei_cl_is_connected(cl)) { in mei_release()
110 cl->state = MEI_FILE_DISCONNECTING; in mei_release()
111 cl_dbg(dev, cl, "disconnecting\n"); in mei_release()
112 rets = mei_cl_disconnect(cl); in mei_release()
114 mei_cl_flush_queues(cl, file); in mei_release()
115 cl_dbg(dev, cl, "removing\n"); in mei_release()
117 mei_cl_unlink(cl); in mei_release()
121 kfree(cl); in mei_release()
141 struct mei_cl *cl = file->private_data; in mei_read() local
148 if (WARN_ON(!cl || !cl->dev)) in mei_read()
151 dev = cl->dev; in mei_read()
165 if (cl == &dev->iamthif_cl) { in mei_read()
170 cb = mei_cl_read_cb(cl, file); in mei_read()
187 err = mei_cl_read_start(cl, length, file); in mei_read()
195 if (list_empty(&cl->rd_completed) && !waitqueue_active(&cl->rx_wait)) { in mei_read()
203 if (wait_event_interruptible(cl->rx_wait, in mei_read()
204 (!list_empty(&cl->rd_completed)) || in mei_read()
205 (!mei_cl_is_connected(cl)))) { in mei_read()
213 if (!mei_cl_is_connected(cl)) { in mei_read()
219 cb = mei_cl_read_cb(cl, file); in mei_read()
276 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 me_cl = mei_me_cl_by_uuid_id(dev, &cl->cl_uuid, cl->me_client_id); in mei_write()
311 if (!mei_cl_is_connected(cl)) { in mei_write()
312 cl_err(dev, cl, "is not connected"); 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()
358 rets = mei_cl_write(cl, write_cb, false); in mei_write()
383 struct mei_cl *cl; in mei_ioctl_connect_client() local
386 cl = file->private_data; in mei_ioctl_connect_client()
387 dev = cl->dev; in mei_ioctl_connect_client()
392 if (cl->state != MEI_FILE_INITIALIZING && in mei_ioctl_connect_client()
393 cl->state != MEI_FILE_DISCONNECTED) in mei_ioctl_connect_client()
404 cl->me_client_id = me_cl->client_id; in mei_ioctl_connect_client()
405 cl->cl_uuid = me_cl->props.protocol_name; in mei_ioctl_connect_client()
408 cl->me_client_id); in mei_ioctl_connect_client()
423 mei_cl_unlink(cl); in mei_ioctl_connect_client()
425 kfree(cl); in mei_ioctl_connect_client()
426 cl = NULL; in mei_ioctl_connect_client()
444 rets = mei_cl_connect(cl, file); in mei_ioctl_connect_client()
463 struct mei_cl *cl = file->private_data; in mei_ioctl() local
468 if (WARN_ON(!cl || !cl->dev)) in mei_ioctl()
471 dev = cl->dev; in mei_ioctl()
544 struct mei_cl *cl = file->private_data; in mei_poll() local
548 if (WARN_ON(!cl || !cl->dev)) in mei_poll()
551 dev = cl->dev; in mei_poll()
557 !mei_cl_is_connected(cl)) { in mei_poll()
562 if (cl == &dev->iamthif_cl) { in mei_poll()
568 poll_wait(file, &cl->rx_wait, wait); in mei_poll()
570 if (!list_empty(&cl->rd_completed)) in mei_poll()
573 mei_cl_read_start(cl, 0, file); in mei_poll()