int __hsi_write_cancel(struct hsi_channel *ch) { int err = -ENODATA; if (ch->write_data.size == 1) err = hsi_driver_cancel_write_interrupt(ch); else if (ch->write_data.size > 1) err = hsi_driver_cancel_write_dma(ch); else dev_dbg(ch->dev->device.parent, "%s : Nothing to cancel %d\n", __func__, ch->write_data.size); dev_dbg(ch->dev->device.parent, "%s : %d\n", __func__, err); return err; }
int __hsi_write_cancel(struct hsi_channel *ch) { int err = -ENODATA; struct hsi_dev *hsi_ctrl = ch->hsi_port->hsi_controller; if (ch->write_data.size == 1) err = hsi_driver_cancel_write_interrupt(ch); else if (ch->write_data.size > 1) err = hsi_driver_cancel_write_dma(ch); else dev_dbg(hsi_ctrl->dev, "%s : Nothing to cancel %d\n", __func__, ch->write_data.size); /* Trash any frame still in the FIFO */ hsi_hst_fifo_flush_channel(hsi_ctrl, ch->hsi_port->port_number, ch->channel_number); dev_dbg(hsi_ctrl->dev, "%s : %d\n", __func__, err); return err; }