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
143 struct cros_ec_device *ec_dev = client_data->ec_dev; in ish_evt_handler()
164 static int ish_send(struct ishtp_cl_data *client_data, in ish_send() argument
171 struct ishtp_cl *cros_ish_cl = client_data->cros_ish_cl; in ish_send()
173 dev_dbg(cl_data_to_dev(client_data), in ish_send()
178 client_data->response.data = in_msg; in ish_send()
179 client_data->response.max_size = in_size; in ish_send()
180 client_data->response.error = 0; in ish_send()
181 client_data->response.token = next_token++; in ish_send()
182 client_data->response.received = false; in ish_send()
184 out_hdr->token = client_data->response.token; in ish_send()
188 dev_err(cl_data_to_dev(client_data), in ish_send()
193 wait_event_interruptible_timeout(client_data->response.wait_queue, in ish_send()
194 client_data->response.received, in ish_send()
196 if (!client_data->response.received) { in ish_send()
197 dev_err(cl_data_to_dev(client_data), in ish_send()
202 if (client_data->response.error < 0) in ish_send()
203 return client_data->response.error; in ish_send()
205 return client_data->response.size; in ish_send()
222 struct ishtp_cl_data *client_data = in process_recv() local
224 struct device *dev = cl_data_to_dev(client_data); in process_recv()
243 client_data->response.error = -EBADMSG; in process_recv()
250 client_data->response.error = -EMSGSIZE; in process_recv()
259 if (client_data->response.received) { in process_recv()
265 if (client_data->response.token != in_msg->hdr.token) { in process_recv()
273 if (!client_data->response.data) { in process_recv()
276 client_data->response.error = -EINVAL; in process_recv()
280 if (data_len > client_data->response.max_size) { in process_recv()
283 data_len, client_data->response.max_size); in process_recv()
284 client_data->response.error = -EMSGSIZE; in process_recv()
291 client_data->response.error = -EIO; in process_recv()
296 client_data->response.size = data_len; in process_recv()
302 memcpy(client_data->response.data, in process_recv()
311 client_data->response.received = true; in process_recv()
314 wake_up_interruptible(&client_data->response.wait_queue); in process_recv()
326 client_data->ec_dev->last_event_time = timestamp; in process_recv()
327 schedule_work(&client_data->work_ec_evt); in process_recv()
381 struct ishtp_cl_data *client_data = ishtp_get_client_data(cros_ish_cl); in cros_ish_init() local
385 dev_err(cl_data_to_dev(client_data), in cros_ish_init()
398 dev_err(cl_data_to_dev(client_data), in cros_ish_init()
410 dev_err(cl_data_to_dev(client_data), in cros_ish_init()
415 ishtp_register_event_cb(client_data->cl_device, ish_event_cb); in cros_ish_init()
490 struct ishtp_cl_data *client_data = ishtp_get_client_data(cros_ish_cl); in cros_ec_pkt_xfer_ish() local
491 struct device *dev = cl_data_to_dev(client_data); in cros_ec_pkt_xfer_ish()
537 rv = ish_send(client_data, in cros_ec_pkt_xfer_ish()
565 static int cros_ec_dev_init(struct ishtp_cl_data *client_data) in cros_ec_dev_init() argument
568 struct device *dev = cl_data_to_dev(client_data); in cros_ec_dev_init()
574 client_data->ec_dev = ec_dev; in cros_ec_dev_init()
578 ec_dev->priv = client_data->cros_ish_cl; in cros_ec_dev_init()
595 struct ishtp_cl_data *client_data = in reset_handler() local
601 cros_ish_cl = client_data->cros_ish_cl; in reset_handler()
602 cl_device = client_data->cl_device; in reset_handler()
616 ishtp_set_client_data(cros_ish_cl, client_data); in reset_handler()
617 client_data->cros_ish_cl = cros_ish_cl; in reset_handler()
622 dev_err(cl_data_to_dev(client_data), "Reset Failed\n"); in reset_handler()
628 client_data->ec_dev->priv = client_data->cros_ish_cl; in reset_handler()
629 dev = cl_data_to_dev(client_data); in reset_handler()
630 dev->driver_data = client_data->ec_dev; in reset_handler()
632 dev_info(cl_data_to_dev(client_data), "Chrome EC ISH reset done\n"); in reset_handler()
647 struct ishtp_cl_data *client_data = in cros_ec_ishtp_probe() local
649 sizeof(*client_data), GFP_KERNEL); in cros_ec_ishtp_probe()
650 if (!client_data) in cros_ec_ishtp_probe()
663 ishtp_set_client_data(cros_ish_cl, client_data); in cros_ec_ishtp_probe()
664 client_data->cros_ish_cl = cros_ish_cl; in cros_ec_ishtp_probe()
665 client_data->cl_device = cl_device; in cros_ec_ishtp_probe()
667 init_waitqueue_head(&client_data->response.wait_queue); in cros_ec_ishtp_probe()
669 INIT_WORK(&client_data->work_ishtp_reset, in cros_ec_ishtp_probe()
671 INIT_WORK(&client_data->work_ec_evt, in cros_ec_ishtp_probe()
683 rv = cros_ec_dev_init(client_data); in cros_ec_ishtp_probe()
713 struct ishtp_cl_data *client_data = ishtp_get_client_data(cros_ish_cl); in cros_ec_ishtp_remove() local
715 cancel_work_sync(&client_data->work_ishtp_reset); in cros_ec_ishtp_remove()
716 cancel_work_sync(&client_data->work_ec_evt); in cros_ec_ishtp_remove()
732 struct ishtp_cl_data *client_data = ishtp_get_client_data(cros_ish_cl); in cros_ec_ishtp_reset() local
734 schedule_work(&client_data->work_ishtp_reset); in cros_ec_ishtp_reset()
749 struct ishtp_cl_data *client_data = ishtp_get_client_data(cros_ish_cl); in cros_ec_ishtp_suspend() local
751 return cros_ec_suspend(client_data->ec_dev); in cros_ec_ishtp_suspend()
764 struct ishtp_cl_data *client_data = ishtp_get_client_data(cros_ish_cl); in cros_ec_ishtp_resume() local
766 return cros_ec_resume(client_data->ec_dev); in cros_ec_ishtp_resume()