Lines Matching refs:sess_data

242 	struct telem_session_data *sess_data;  in telem_open()  local
251 sess_data = kzalloc(sizeof(*sess_data), GFP_KERNEL); in telem_open()
252 if (!sess_data) { in telem_open()
256 sess_data->dev_data = dev_data; in telem_open()
257 sess_data->has_msg = false; in telem_open()
260 filp->private_data = sess_data; in telem_open()
268 struct telem_session_data *sess_data = filp->private_data; in telem_write() local
272 if (count > sizeof(sess_data->request)) in telem_write()
274 memset(&sess_data->request, 0, sizeof(sess_data->request)); in telem_write()
275 if (copy_from_user(&sess_data->request, buf, count)) in telem_write()
277 ret = check_telem_request(&sess_data->request, count); in telem_write()
281 memset(sess_data->response, 0, sizeof(sess_data->response)); in telem_write()
283 msg.request_data = &sess_data->request; in telem_write()
284 msg.request_size = sizeof(sess_data->request); in telem_write()
285 msg.response_data = sess_data->response; in telem_write()
286 msg.response_size = sizeof(sess_data->response); in telem_write()
288 ret = wilco_ec_mailbox(sess_data->dev_data->ec, &msg); in telem_write()
291 if (ret != sizeof(sess_data->response)) in telem_write()
294 sess_data->has_msg = true; in telem_write()
302 struct telem_session_data *sess_data = filp->private_data; in telem_read() local
304 if (!sess_data->has_msg) in telem_read()
306 if (count > sizeof(sess_data->response)) in telem_read()
309 if (copy_to_user(buf, sess_data->response, count)) in telem_read()
312 sess_data->has_msg = false; in telem_read()
319 struct telem_session_data *sess_data = filp->private_data; in telem_release() local
321 atomic_set(&sess_data->dev_data->available, 1); in telem_release()
322 put_device(&sess_data->dev_data->dev); in telem_release()
323 kfree(sess_data); in telem_release()