Commit d6cfaaba authored by Russell King's avatar Russell King

DMA-API: others: use dma_set_coherent_mask()

The correct way for a driver to specify the coherent DMA mask is
not to directly access the field in the struct device, but to use
dma_set_coherent_mask().  Only arch and bus code should access this
member directly.

Convert all direct write accesses to using the correct API.
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 4cdbb4ff
...@@ -144,6 +144,7 @@ static int ixp4xx_pata_probe(struct platform_device *pdev) ...@@ -144,6 +144,7 @@ static int ixp4xx_pata_probe(struct platform_device *pdev)
struct ata_host *host; struct ata_host *host;
struct ata_port *ap; struct ata_port *ap;
struct ixp4xx_pata_data *data = dev_get_platdata(&pdev->dev); struct ixp4xx_pata_data *data = dev_get_platdata(&pdev->dev);
int ret;
cs0 = platform_get_resource(pdev, IORESOURCE_MEM, 0); cs0 = platform_get_resource(pdev, IORESOURCE_MEM, 0);
cs1 = platform_get_resource(pdev, IORESOURCE_MEM, 1); cs1 = platform_get_resource(pdev, IORESOURCE_MEM, 1);
...@@ -157,7 +158,9 @@ static int ixp4xx_pata_probe(struct platform_device *pdev) ...@@ -157,7 +158,9 @@ static int ixp4xx_pata_probe(struct platform_device *pdev)
return -ENOMEM; return -ENOMEM;
/* acquire resources and fill host */ /* acquire resources and fill host */
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
if (ret)
return ret;
data->cs0 = devm_ioremap(&pdev->dev, cs0->start, 0x1000); data->cs0 = devm_ioremap(&pdev->dev, cs0->start, 0x1000);
data->cs1 = devm_ioremap(&pdev->dev, cs1->start, 0x1000); data->cs1 = devm_ioremap(&pdev->dev, cs1->start, 0x1000);
......
...@@ -286,7 +286,11 @@ static struct drm_driver exynos_drm_driver = { ...@@ -286,7 +286,11 @@ static struct drm_driver exynos_drm_driver = {
static int exynos_drm_platform_probe(struct platform_device *pdev) static int exynos_drm_platform_probe(struct platform_device *pdev)
{ {
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); int ret;
ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
if (ret)
return ret;
return drm_platform_init(&exynos_drm_driver, pdev); return drm_platform_init(&exynos_drm_driver, pdev);
} }
......
...@@ -664,8 +664,9 @@ static int omap_dmm_probe(struct platform_device *dev) ...@@ -664,8 +664,9 @@ static int omap_dmm_probe(struct platform_device *dev)
} }
/* set dma mask for device */ /* set dma mask for device */
/* NOTE: this is a workaround for the hwmod not initializing properly */ ret = dma_set_coherent_mask(&dev->dev, DMA_BIT_MASK(32));
dev->dev.coherent_dma_mask = DMA_BIT_MASK(32); if (ret)
goto fail;
omap_dmm->dummy_pa = page_to_phys(omap_dmm->dummy_page); omap_dmm->dummy_pa = page_to_phys(omap_dmm->dummy_page);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment