Lines Matching refs:client_data
71 #define cl_data_to_dev(client_data) ishtp_device((client_data)->cl_device) argument
141 struct ishtp_cl_data *client_data = in ish_evt_handler() local
144 cros_ec_irq_thread(0, client_data->ec_dev); in ish_evt_handler()
160 static int ish_send(struct ishtp_cl_data *client_data, in ish_send() argument
167 struct ishtp_cl *cros_ish_cl = client_data->cros_ish_cl; in ish_send()
169 dev_dbg(cl_data_to_dev(client_data), in ish_send()
174 client_data->response.data = in_msg; in ish_send()
175 client_data->response.max_size = in_size; in ish_send()
176 client_data->response.error = 0; in ish_send()
177 client_data->response.token = next_token++; in ish_send()
178 client_data->response.received = false; in ish_send()
180 out_hdr->token = client_data->response.token; in ish_send()
184 dev_err(cl_data_to_dev(client_data), in ish_send()
189 wait_event_interruptible_timeout(client_data->response.wait_queue, in ish_send()
190 client_data->response.received, in ish_send()
192 if (!client_data->response.received) { in ish_send()
193 dev_err(cl_data_to_dev(client_data), in ish_send()
198 if (client_data->response.error < 0) in ish_send()
199 return client_data->response.error; in ish_send()
201 return client_data->response.size; in ish_send()
218 struct ishtp_cl_data *client_data = in process_recv() local
220 struct device *dev = cl_data_to_dev(client_data); in process_recv()
239 client_data->response.error = -EBADMSG; in process_recv()
246 client_data->response.error = -EMSGSIZE; in process_recv()
255 if (client_data->response.received) { in process_recv()
261 if (client_data->response.token != in_msg->hdr.token) { in process_recv()
269 if (!client_data->response.data) { in process_recv()
272 client_data->response.error = -EINVAL; in process_recv()
276 if (data_len > client_data->response.max_size) { in process_recv()
279 data_len, client_data->response.max_size); in process_recv()
280 client_data->response.error = -EMSGSIZE; in process_recv()
287 client_data->response.error = -EIO; in process_recv()
292 client_data->response.size = data_len; in process_recv()
298 memcpy(client_data->response.data, in process_recv()
307 client_data->response.received = true; in process_recv()
310 wake_up_interruptible(&client_data->response.wait_queue); in process_recv()
322 client_data->ec_dev->last_event_time = timestamp; in process_recv()
323 schedule_work(&client_data->work_ec_evt); in process_recv()
377 struct ishtp_cl_data *client_data = ishtp_get_client_data(cros_ish_cl); in cros_ish_init() local
381 dev_err(cl_data_to_dev(client_data), in cros_ish_init()
394 dev_err(cl_data_to_dev(client_data), in cros_ish_init()
406 dev_err(cl_data_to_dev(client_data), in cros_ish_init()
411 ishtp_register_event_cb(client_data->cl_device, ish_event_cb); in cros_ish_init()
486 struct ishtp_cl_data *client_data = ishtp_get_client_data(cros_ish_cl); in cros_ec_pkt_xfer_ish() local
487 struct device *dev = cl_data_to_dev(client_data); in cros_ec_pkt_xfer_ish()
533 rv = ish_send(client_data, in cros_ec_pkt_xfer_ish()
561 static int cros_ec_dev_init(struct ishtp_cl_data *client_data) in cros_ec_dev_init() argument
564 struct device *dev = cl_data_to_dev(client_data); in cros_ec_dev_init()
570 client_data->ec_dev = ec_dev; in cros_ec_dev_init()
574 ec_dev->priv = client_data->cros_ish_cl; in cros_ec_dev_init()
591 struct ishtp_cl_data *client_data = in reset_handler() local
597 cros_ish_cl = client_data->cros_ish_cl; in reset_handler()
598 cl_device = client_data->cl_device; in reset_handler()
612 ishtp_set_client_data(cros_ish_cl, client_data); in reset_handler()
613 client_data->cros_ish_cl = cros_ish_cl; in reset_handler()
618 dev_err(cl_data_to_dev(client_data), "Reset Failed\n"); in reset_handler()
624 client_data->ec_dev->priv = client_data->cros_ish_cl; in reset_handler()
625 dev = cl_data_to_dev(client_data); in reset_handler()
626 dev->driver_data = client_data->ec_dev; in reset_handler()
628 dev_info(cl_data_to_dev(client_data), "Chrome EC ISH reset done\n"); in reset_handler()
643 struct ishtp_cl_data *client_data = in cros_ec_ishtp_probe() local
645 sizeof(*client_data), GFP_KERNEL); in cros_ec_ishtp_probe()
646 if (!client_data) in cros_ec_ishtp_probe()
659 ishtp_set_client_data(cros_ish_cl, client_data); in cros_ec_ishtp_probe()
660 client_data->cros_ish_cl = cros_ish_cl; in cros_ec_ishtp_probe()
661 client_data->cl_device = cl_device; in cros_ec_ishtp_probe()
663 init_waitqueue_head(&client_data->response.wait_queue); in cros_ec_ishtp_probe()
665 INIT_WORK(&client_data->work_ishtp_reset, in cros_ec_ishtp_probe()
667 INIT_WORK(&client_data->work_ec_evt, in cros_ec_ishtp_probe()
679 rv = cros_ec_dev_init(client_data); in cros_ec_ishtp_probe()
709 struct ishtp_cl_data *client_data = ishtp_get_client_data(cros_ish_cl); in cros_ec_ishtp_remove() local
711 cancel_work_sync(&client_data->work_ishtp_reset); in cros_ec_ishtp_remove()
712 cancel_work_sync(&client_data->work_ec_evt); in cros_ec_ishtp_remove()
726 struct ishtp_cl_data *client_data = ishtp_get_client_data(cros_ish_cl); in cros_ec_ishtp_reset() local
728 schedule_work(&client_data->work_ishtp_reset); in cros_ec_ishtp_reset()
743 struct ishtp_cl_data *client_data = ishtp_get_client_data(cros_ish_cl); in cros_ec_ishtp_suspend() local
745 return cros_ec_suspend(client_data->ec_dev); in cros_ec_ishtp_suspend()
758 struct ishtp_cl_data *client_data = ishtp_get_client_data(cros_ish_cl); in cros_ec_ishtp_resume() local
760 return cros_ec_resume(client_data->ec_dev); in cros_ec_ishtp_resume()