Lines Matching refs:ec_dev
132 struct cros_ec_device *ec_dev; member
143 struct cros_ec_device *ec_dev = client_data->ec_dev; in ish_evt_handler() local
147 ec_has_more_events = cros_ec_handle_event(ec_dev); in ish_evt_handler()
326 client_data->ec_dev->last_event_time = timestamp; in process_recv()
450 static int prepare_cros_ec_rx(struct cros_ec_device *ec_dev, in prepare_cros_ec_rx() argument
459 rv = cros_ec_check_result(ec_dev, msg); in prepare_cros_ec_rx()
464 dev_err(ec_dev->dev, "Packet too long (%d bytes, expected %d)", in prepare_cros_ec_rx()
478 dev_dbg(ec_dev->dev, "Bad received packet checksum %d\n", sum); in prepare_cros_ec_rx()
485 static int cros_ec_pkt_xfer_ish(struct cros_ec_device *ec_dev, in cros_ec_pkt_xfer_ish() argument
489 struct ishtp_cl *cros_ish_cl = ec_dev->priv; in cros_ec_pkt_xfer_ish()
492 struct cros_ish_in_msg *in_msg = (struct cros_ish_in_msg *)ec_dev->din; in cros_ec_pkt_xfer_ish()
494 (struct cros_ish_out_msg *)ec_dev->dout; in cros_ec_pkt_xfer_ish()
499 if (in_size > ec_dev->din_size) { in cros_ec_pkt_xfer_ish()
502 in_size, ec_dev->din_size); in cros_ec_pkt_xfer_ish()
506 if (out_size > ec_dev->dout_size) { in cros_ec_pkt_xfer_ish()
509 out_size, ec_dev->dout_size); in cros_ec_pkt_xfer_ish()
524 ec_dev->dout += OUT_MSG_EC_REQUEST_PREAMBLE; in cros_ec_pkt_xfer_ish()
525 cros_ec_prepare_tx(ec_dev, msg); in cros_ec_pkt_xfer_ish()
526 ec_dev->dout -= OUT_MSG_EC_REQUEST_PREAMBLE; in cros_ec_pkt_xfer_ish()
543 rv = prepare_cros_ec_rx(ec_dev, in_msg, msg); in cros_ec_pkt_xfer_ish()
567 struct cros_ec_device *ec_dev; in cros_ec_dev_init() local
570 ec_dev = devm_kzalloc(dev, sizeof(*ec_dev), GFP_KERNEL); in cros_ec_dev_init()
571 if (!ec_dev) in cros_ec_dev_init()
574 client_data->ec_dev = ec_dev; in cros_ec_dev_init()
575 dev->driver_data = ec_dev; in cros_ec_dev_init()
577 ec_dev->dev = dev; in cros_ec_dev_init()
578 ec_dev->priv = client_data->cros_ish_cl; in cros_ec_dev_init()
579 ec_dev->cmd_xfer = NULL; in cros_ec_dev_init()
580 ec_dev->pkt_xfer = cros_ec_pkt_xfer_ish; in cros_ec_dev_init()
581 ec_dev->phys_name = dev_name(dev); in cros_ec_dev_init()
582 ec_dev->din_size = sizeof(struct cros_ish_in_msg) + in cros_ec_dev_init()
584 ec_dev->dout_size = sizeof(struct cros_ish_out_msg); in cros_ec_dev_init()
586 return cros_ec_register(ec_dev); in cros_ec_dev_init()
628 client_data->ec_dev->priv = client_data->cros_ish_cl; in reset_handler()
630 dev->driver_data = client_data->ec_dev; in reset_handler()
751 return cros_ec_suspend(client_data->ec_dev); in cros_ec_ishtp_suspend()
766 return cros_ec_resume(client_data->ec_dev); in cros_ec_ishtp_resume()