Lines Matching refs:pchan
634 scpi_free_channels(struct device *dev, struct scpi_chan *pchan, int count) in scpi_free_channels() argument
638 for (i = 0; i < count && pchan->chan; i++, pchan++) { in scpi_free_channels()
639 mbox_free_channel(pchan->chan); in scpi_free_channels()
640 devm_kfree(dev, pchan->xfers); in scpi_free_channels()
641 devm_iounmap(dev, pchan->rx_payload); in scpi_free_channels()
708 struct scpi_chan *pchan = scpi_chan + idx; in scpi_probe() local
709 struct mbox_client *cl = &pchan->cl; in scpi_probe()
720 pchan->rx_payload = devm_ioremap(dev, res.start, size); in scpi_probe()
721 if (!pchan->rx_payload) { in scpi_probe()
726 pchan->tx_payload = pchan->rx_payload + (size >> 1); in scpi_probe()
735 INIT_LIST_HEAD(&pchan->rx_pending); in scpi_probe()
736 INIT_LIST_HEAD(&pchan->xfers_list); in scpi_probe()
737 spin_lock_init(&pchan->rx_lock); in scpi_probe()
738 mutex_init(&pchan->xfers_lock); in scpi_probe()
740 ret = scpi_alloc_xfer_list(dev, pchan); in scpi_probe()
742 pchan->chan = mbox_request_channel(cl, idx); in scpi_probe()
743 if (!IS_ERR(pchan->chan)) in scpi_probe()
745 ret = PTR_ERR(pchan->chan); in scpi_probe()