tree 62848d0bd0ad4bf6915a6eb462ee7ca4a159a2de
parent 0b1eff5152b3646c9e33b7e0e5dd6f0f2006b06c
author Christophe JAILLET <christophe.jaillet@wanadoo.fr> 1630084667 +0200
committer Greg Kroah-Hartman <gregkh@linuxfoundation.org> 1631610776 +0200

char: xillybus: Remove usage of remaining deprecated pci_ API

'struct xilly_endpoint' has a 'dev' field which is a 'struct device *' and
a 'pdev' field which is 'struct pci_dev *'.

Both fields are initialized by 'xillybus_init_endpoint()' and in
'xillybus_pcie.c', we have:
	xillybus_init_endpoint(pdev, &pdev->dev, &pci_hw);
                                 ^       ^
        xilly_endpoint.pdev = ___|       |___ = xilly_endpoint.dev
So the modification from pci_ to dma_ function is straightforward.

Update all remaining deprecated pci_ function calls to equivalent
dma_ API function.
Switching from 'ep->pdev' to 'ep->dev' makes the transformation
straightforward.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/19d67ac0208a609aef1e28278b3f2477aa714029.1630083668.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
