usb: host: ohci-tmio: init genalloc for local memory
In preparation for dropping the existing "coherent" dma mem declaration APIs, replace the current dma_declare_coherent_memory() based mechanism with the creation of a genalloc pool that will be used in the OHCI subsystem as replacement for the DMA APIs. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
7d9e6f5aeb
commit
7d99532955
@ -224,11 +224,6 @@ static int ohci_hcd_tmio_drv_probe(struct platform_device *dev)
|
|||||||
goto err_ioremap_regs;
|
goto err_ioremap_regs;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = dma_declare_coherent_memory(&dev->dev, sram->start, sram->start,
|
|
||||||
resource_size(sram));
|
|
||||||
if (ret)
|
|
||||||
goto err_dma_declare;
|
|
||||||
|
|
||||||
if (cell->enable) {
|
if (cell->enable) {
|
||||||
ret = cell->enable(dev);
|
ret = cell->enable(dev);
|
||||||
if (ret)
|
if (ret)
|
||||||
@ -239,6 +234,11 @@ static int ohci_hcd_tmio_drv_probe(struct platform_device *dev)
|
|||||||
ohci = hcd_to_ohci(hcd);
|
ohci = hcd_to_ohci(hcd);
|
||||||
ohci_hcd_init(ohci);
|
ohci_hcd_init(ohci);
|
||||||
|
|
||||||
|
ret = usb_hcd_setup_local_mem(hcd, sram->start, sram->start,
|
||||||
|
resource_size(sram));
|
||||||
|
if (ret < 0)
|
||||||
|
goto err_enable;
|
||||||
|
|
||||||
ret = usb_add_hcd(hcd, irq, 0);
|
ret = usb_add_hcd(hcd, irq, 0);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_add_hcd;
|
goto err_add_hcd;
|
||||||
@ -254,8 +254,6 @@ static int ohci_hcd_tmio_drv_probe(struct platform_device *dev)
|
|||||||
if (cell->disable)
|
if (cell->disable)
|
||||||
cell->disable(dev);
|
cell->disable(dev);
|
||||||
err_enable:
|
err_enable:
|
||||||
dma_release_declared_memory(&dev->dev);
|
|
||||||
err_dma_declare:
|
|
||||||
iounmap(hcd->regs);
|
iounmap(hcd->regs);
|
||||||
err_ioremap_regs:
|
err_ioremap_regs:
|
||||||
iounmap(tmio->ccr);
|
iounmap(tmio->ccr);
|
||||||
@ -276,7 +274,6 @@ static int ohci_hcd_tmio_drv_remove(struct platform_device *dev)
|
|||||||
tmio_stop_hc(dev);
|
tmio_stop_hc(dev);
|
||||||
if (cell->disable)
|
if (cell->disable)
|
||||||
cell->disable(dev);
|
cell->disable(dev);
|
||||||
dma_release_declared_memory(&dev->dev);
|
|
||||||
iounmap(hcd->regs);
|
iounmap(hcd->regs);
|
||||||
iounmap(tmio->ccr);
|
iounmap(tmio->ccr);
|
||||||
usb_put_hcd(hcd);
|
usb_put_hcd(hcd);
|
||||||
|
Loading…
Reference in New Issue
Block a user