Lines Matching refs:ec_dev

89 	struct cros_ec_device *ec_dev = serdev_device_get_drvdata(serdev);  in cros_ec_uart_rx_bytes()  local
90 struct cros_ec_uart *ec_uart = ec_dev->priv; in cros_ec_uart_rx_bytes()
96 dev_warn(ec_dev->dev, "Bytes received out of band, dropping them.\n"); in cros_ec_uart_rx_bytes()
130 static int cros_ec_uart_pkt_xfer(struct cros_ec_device *ec_dev, in cros_ec_uart_pkt_xfer() argument
133 struct cros_ec_uart *ec_uart = ec_dev->priv; in cros_ec_uart_pkt_xfer()
141 len = cros_ec_prepare_tx(ec_dev, ec_msg); in cros_ec_uart_pkt_xfer()
142 dev_dbg(ec_dev->dev, "Prepared len=%d\n", len); in cros_ec_uart_pkt_xfer()
145 resp->data = ec_dev->din; in cros_ec_uart_pkt_xfer()
146 resp->max_size = ec_dev->din_size; in cros_ec_uart_pkt_xfer()
151 ret = serdev_device_write_buf(serdev, ec_dev->dout, len); in cros_ec_uart_pkt_xfer()
153 dev_err(ec_dev->dev, "Unable to write data\n"); in cros_ec_uart_pkt_xfer()
162 dev_warn(ec_dev->dev, "Timed out waiting for response.\n"); in cros_ec_uart_pkt_xfer()
169 dev_warn(ec_dev->dev, "Error response received: %d\n", ret); in cros_ec_uart_pkt_xfer()
173 host_response = (struct ec_host_response *)ec_dev->din; in cros_ec_uart_pkt_xfer()
177 dev_err(ec_dev->dev, "Resp too long (%d bytes, expected %d)\n", in cros_ec_uart_pkt_xfer()
186 sum += ec_dev->din[i]; in cros_ec_uart_pkt_xfer()
189 dev_err(ec_dev->dev, "Bad packet checksum calculated %x\n", sum); in cros_ec_uart_pkt_xfer()
194 memcpy(ec_msg->data, ec_dev->din + sizeof(*host_response), host_response->data_len); in cros_ec_uart_pkt_xfer()
255 struct cros_ec_device *ec_dev; in cros_ec_uart_probe() local
263 ec_dev = devm_kzalloc(dev, sizeof(*ec_dev), GFP_KERNEL); in cros_ec_uart_probe()
264 if (!ec_dev) in cros_ec_uart_probe()
273 serdev_device_set_drvdata(serdev, ec_dev); in cros_ec_uart_probe()
293 ec_dev->phys_name = dev_name(dev); in cros_ec_uart_probe()
294 ec_dev->dev = dev; in cros_ec_uart_probe()
295 ec_dev->priv = ec_uart; in cros_ec_uart_probe()
296 ec_dev->irq = ec_uart->irq; in cros_ec_uart_probe()
297 ec_dev->cmd_xfer = NULL; in cros_ec_uart_probe()
298 ec_dev->pkt_xfer = cros_ec_uart_pkt_xfer; in cros_ec_uart_probe()
299 ec_dev->din_size = sizeof(struct ec_host_response) + in cros_ec_uart_probe()
301 ec_dev->dout_size = sizeof(struct ec_host_request); in cros_ec_uart_probe()
305 return cros_ec_register(ec_dev); in cros_ec_uart_probe()
310 struct cros_ec_device *ec_dev = serdev_device_get_drvdata(serdev); in cros_ec_uart_remove() local
312 cros_ec_unregister(ec_dev); in cros_ec_uart_remove()
317 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); in cros_ec_uart_suspend() local
319 return cros_ec_suspend(ec_dev); in cros_ec_uart_suspend()
324 struct cros_ec_device *ec_dev = dev_get_drvdata(dev); in cros_ec_uart_resume() local
326 return cros_ec_resume(ec_dev); in cros_ec_uart_resume()