Commit 22d9d8e8 authored by Russell King's avatar Russell King

DMA-API: usb: 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.
Acked-by: default avatarFelipe Balbi <balbi@ti.com>
Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 93b11b25
...@@ -123,8 +123,9 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev) ...@@ -123,8 +123,9 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
if (!pdev->dev.dma_mask) if (!pdev->dev.dma_mask)
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
if (!pdev->dev.coherent_dma_mask) ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); if (ret)
goto err_clk;
if (data->usbmisc_data) { if (data->usbmisc_data) {
ret = imx_usbmisc_init(data->usbmisc_data); ret = imx_usbmisc_init(data->usbmisc_data);
......
...@@ -121,8 +121,9 @@ static int dwc3_exynos_probe(struct platform_device *pdev) ...@@ -121,8 +121,9 @@ static int dwc3_exynos_probe(struct platform_device *pdev)
*/ */
if (!dev->dma_mask) if (!dev->dma_mask)
dev->dma_mask = &dev->coherent_dma_mask; dev->dma_mask = &dev->coherent_dma_mask;
if (!dev->coherent_dma_mask) ret = dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
dev->coherent_dma_mask = DMA_BIT_MASK(32); if (ret)
goto err1;
platform_set_drvdata(pdev, exynos); platform_set_drvdata(pdev, exynos);
......
...@@ -3078,7 +3078,9 @@ static int __init lpc32xx_udc_probe(struct platform_device *pdev) ...@@ -3078,7 +3078,9 @@ static int __init lpc32xx_udc_probe(struct platform_device *pdev)
udc->isp1301_i2c_client->addr); udc->isp1301_i2c_client->addr);
pdev->dev.dma_mask = &lpc32xx_usbd_dmamask; pdev->dev.dma_mask = &lpc32xx_usbd_dmamask;
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); retval = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
if (retval)
goto resource_fail;
udc->board = &lpc32xx_usbddata; udc->board = &lpc32xx_usbddata;
......
...@@ -92,8 +92,9 @@ static int ehci_atmel_drv_probe(struct platform_device *pdev) ...@@ -92,8 +92,9 @@ static int ehci_atmel_drv_probe(struct platform_device *pdev)
*/ */
if (!pdev->dev.dma_mask) if (!pdev->dev.dma_mask)
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
if (!pdev->dev.coherent_dma_mask) retval = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); if (retval)
goto fail_create_hcd;
hcd = usb_create_hcd(driver, &pdev->dev, dev_name(&pdev->dev)); hcd = usb_create_hcd(driver, &pdev->dev, dev_name(&pdev->dev));
if (!hcd) { if (!hcd) {
......
...@@ -116,8 +116,10 @@ static int ehci_octeon_drv_probe(struct platform_device *pdev) ...@@ -116,8 +116,10 @@ static int ehci_octeon_drv_probe(struct platform_device *pdev)
* We can DMA from anywhere. But the descriptors must be in * We can DMA from anywhere. But the descriptors must be in
* the lower 4GB. * the lower 4GB.
*/ */
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
pdev->dev.dma_mask = &ehci_octeon_dma_mask; pdev->dev.dma_mask = &ehci_octeon_dma_mask;
ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
if (ret)
return ret;
hcd = usb_create_hcd(&ehci_octeon_hc_driver, &pdev->dev, "octeon"); hcd = usb_create_hcd(&ehci_octeon_hc_driver, &pdev->dev, "octeon");
if (!hcd) if (!hcd)
......
...@@ -104,7 +104,7 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev) ...@@ -104,7 +104,7 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev)
struct resource *res; struct resource *res;
struct usb_hcd *hcd; struct usb_hcd *hcd;
void __iomem *regs; void __iomem *regs;
int ret = -ENODEV; int ret;
int irq; int irq;
int i; int i;
struct omap_hcd *omap; struct omap_hcd *omap;
...@@ -146,9 +146,11 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev) ...@@ -146,9 +146,11 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev)
*/ */
if (!dev->dma_mask) if (!dev->dma_mask)
dev->dma_mask = &dev->coherent_dma_mask; dev->dma_mask = &dev->coherent_dma_mask;
if (!dev->coherent_dma_mask) ret = dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
dev->coherent_dma_mask = DMA_BIT_MASK(32); if (ret)
return ret;
ret = -ENODEV;
hcd = usb_create_hcd(&ehci_omap_hc_driver, dev, hcd = usb_create_hcd(&ehci_omap_hc_driver, dev,
dev_name(dev)); dev_name(dev));
if (!hcd) { if (!hcd) {
......
...@@ -182,8 +182,9 @@ static int ehci_orion_drv_probe(struct platform_device *pdev) ...@@ -182,8 +182,9 @@ static int ehci_orion_drv_probe(struct platform_device *pdev)
*/ */
if (!pdev->dev.dma_mask) if (!pdev->dev.dma_mask)
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
if (!pdev->dev.coherent_dma_mask) err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); if (err)
goto err1;
if (!request_mem_region(res->start, resource_size(res), if (!request_mem_region(res->start, resource_size(res),
ehci_orion_hc_driver.description)) { ehci_orion_hc_driver.description)) {
......
...@@ -78,7 +78,7 @@ static int ehci_platform_probe(struct platform_device *dev) ...@@ -78,7 +78,7 @@ static int ehci_platform_probe(struct platform_device *dev)
struct resource *res_mem; struct resource *res_mem;
struct usb_ehci_pdata *pdata; struct usb_ehci_pdata *pdata;
int irq; int irq;
int err = -ENOMEM; int err;
if (usb_disabled()) if (usb_disabled())
return -ENODEV; return -ENODEV;
...@@ -91,8 +91,9 @@ static int ehci_platform_probe(struct platform_device *dev) ...@@ -91,8 +91,9 @@ static int ehci_platform_probe(struct platform_device *dev)
dev->dev.platform_data = &ehci_platform_defaults; dev->dev.platform_data = &ehci_platform_defaults;
if (!dev->dev.dma_mask) if (!dev->dev.dma_mask)
dev->dev.dma_mask = &dev->dev.coherent_dma_mask; dev->dev.dma_mask = &dev->dev.coherent_dma_mask;
if (!dev->dev.coherent_dma_mask) err = dma_set_coherent_mask(&dev->dev, DMA_BIT_MASK(32));
dev->dev.coherent_dma_mask = DMA_BIT_MASK(32); if (err)
return err;
pdata = dev_get_platdata(&dev->dev); pdata = dev_get_platdata(&dev->dev);
......
...@@ -91,8 +91,9 @@ static int s5p_ehci_probe(struct platform_device *pdev) ...@@ -91,8 +91,9 @@ static int s5p_ehci_probe(struct platform_device *pdev)
*/ */
if (!pdev->dev.dma_mask) if (!pdev->dev.dma_mask)
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
if (!pdev->dev.coherent_dma_mask) err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); if (err)
return err;
s5p_setup_vbus_gpio(pdev); s5p_setup_vbus_gpio(pdev);
......
...@@ -83,8 +83,9 @@ static int spear_ehci_hcd_drv_probe(struct platform_device *pdev) ...@@ -83,8 +83,9 @@ static int spear_ehci_hcd_drv_probe(struct platform_device *pdev)
*/ */
if (!pdev->dev.dma_mask) if (!pdev->dev.dma_mask)
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
if (!pdev->dev.coherent_dma_mask) retval = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); if (retval)
goto fail;
usbh_clk = devm_clk_get(&pdev->dev, NULL); usbh_clk = devm_clk_get(&pdev->dev, NULL);
if (IS_ERR(usbh_clk)) { if (IS_ERR(usbh_clk)) {
......
...@@ -364,8 +364,9 @@ static int tegra_ehci_probe(struct platform_device *pdev) ...@@ -364,8 +364,9 @@ static int tegra_ehci_probe(struct platform_device *pdev)
*/ */
if (!pdev->dev.dma_mask) if (!pdev->dev.dma_mask)
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
if (!pdev->dev.coherent_dma_mask) err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); if (err)
return err;
hcd = usb_create_hcd(&tegra_ehci_hc_driver, &pdev->dev, hcd = usb_create_hcd(&tegra_ehci_hc_driver, &pdev->dev,
dev_name(&pdev->dev)); dev_name(&pdev->dev));
......
...@@ -524,7 +524,7 @@ MODULE_DEVICE_TABLE(of, at91_ohci_dt_ids); ...@@ -524,7 +524,7 @@ MODULE_DEVICE_TABLE(of, at91_ohci_dt_ids);
static int ohci_at91_of_init(struct platform_device *pdev) static int ohci_at91_of_init(struct platform_device *pdev)
{ {
struct device_node *np = pdev->dev.of_node; struct device_node *np = pdev->dev.of_node;
int i, gpio; int i, gpio, ret;
enum of_gpio_flags flags; enum of_gpio_flags flags;
struct at91_usbh_data *pdata; struct at91_usbh_data *pdata;
u32 ports; u32 ports;
...@@ -538,8 +538,9 @@ static int ohci_at91_of_init(struct platform_device *pdev) ...@@ -538,8 +538,9 @@ static int ohci_at91_of_init(struct platform_device *pdev)
*/ */
if (!pdev->dev.dma_mask) if (!pdev->dev.dma_mask)
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
if (!pdev->dev.coherent_dma_mask) ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); if (ret)
return ret;
pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL); pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
if (!pdata) if (!pdata)
......
...@@ -116,8 +116,9 @@ static int exynos_ohci_probe(struct platform_device *pdev) ...@@ -116,8 +116,9 @@ static int exynos_ohci_probe(struct platform_device *pdev)
*/ */
if (!pdev->dev.dma_mask) if (!pdev->dev.dma_mask)
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
if (!pdev->dev.coherent_dma_mask) err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); if (err)
return err;
exynos_ohci = devm_kzalloc(&pdev->dev, sizeof(struct exynos_ohci_hcd), exynos_ohci = devm_kzalloc(&pdev->dev, sizeof(struct exynos_ohci_hcd),
GFP_KERNEL); GFP_KERNEL);
......
...@@ -226,8 +226,10 @@ static int usb_hcd_nxp_probe(struct platform_device *pdev) ...@@ -226,8 +226,10 @@ static int usb_hcd_nxp_probe(struct platform_device *pdev)
return -EPROBE_DEFER; return -EPROBE_DEFER;
} }
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
if (ret)
goto fail_disable;
dev_dbg(&pdev->dev, "%s: " DRIVER_DESC " (nxp)\n", hcd_name); dev_dbg(&pdev->dev, "%s: " DRIVER_DESC " (nxp)\n", hcd_name);
if (usb_disabled()) { if (usb_disabled()) {
......
...@@ -127,8 +127,10 @@ static int ohci_octeon_drv_probe(struct platform_device *pdev) ...@@ -127,8 +127,10 @@ static int ohci_octeon_drv_probe(struct platform_device *pdev)
} }
/* Ohci is a 32-bit device. */ /* Ohci is a 32-bit device. */
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
if (ret)
return ret;
hcd = usb_create_hcd(&ohci_octeon_hc_driver, &pdev->dev, "octeon"); hcd = usb_create_hcd(&ohci_octeon_hc_driver, &pdev->dev, "octeon");
if (!hcd) if (!hcd)
......
...@@ -132,7 +132,7 @@ static int ohci_hcd_omap3_probe(struct platform_device *pdev) ...@@ -132,7 +132,7 @@ static int ohci_hcd_omap3_probe(struct platform_device *pdev)
struct usb_hcd *hcd = NULL; struct usb_hcd *hcd = NULL;
void __iomem *regs = NULL; void __iomem *regs = NULL;
struct resource *res; struct resource *res;
int ret = -ENODEV; int ret;
int irq; int irq;
if (usb_disabled()) if (usb_disabled())
...@@ -168,9 +168,11 @@ static int ohci_hcd_omap3_probe(struct platform_device *pdev) ...@@ -168,9 +168,11 @@ static int ohci_hcd_omap3_probe(struct platform_device *pdev)
*/ */
if (!dev->dma_mask) if (!dev->dma_mask)
dev->dma_mask = &dev->coherent_dma_mask; dev->dma_mask = &dev->coherent_dma_mask;
if (!dev->coherent_dma_mask) ret = dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
dev->coherent_dma_mask = DMA_BIT_MASK(32); if (ret)
goto err_io;
ret = -ENODEV;
hcd = usb_create_hcd(&ohci_omap3_hc_driver, dev, hcd = usb_create_hcd(&ohci_omap3_hc_driver, dev,
dev_name(dev)); dev_name(dev));
if (!hcd) { if (!hcd) {
......
...@@ -287,6 +287,7 @@ static int ohci_pxa_of_init(struct platform_device *pdev) ...@@ -287,6 +287,7 @@ static int ohci_pxa_of_init(struct platform_device *pdev)
struct device_node *np = pdev->dev.of_node; struct device_node *np = pdev->dev.of_node;
struct pxaohci_platform_data *pdata; struct pxaohci_platform_data *pdata;
u32 tmp; u32 tmp;
int ret;
if (!np) if (!np)
return 0; return 0;
...@@ -297,8 +298,9 @@ static int ohci_pxa_of_init(struct platform_device *pdev) ...@@ -297,8 +298,9 @@ static int ohci_pxa_of_init(struct platform_device *pdev)
*/ */
if (!pdev->dev.dma_mask) if (!pdev->dev.dma_mask)
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
if (!pdev->dev.coherent_dma_mask) ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); if (ret)
return ret;
pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL); pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
if (!pdata) if (!pdata)
......
...@@ -113,8 +113,9 @@ static int spear_ohci_hcd_drv_probe(struct platform_device *pdev) ...@@ -113,8 +113,9 @@ static int spear_ohci_hcd_drv_probe(struct platform_device *pdev)
*/ */
if (!pdev->dev.dma_mask) if (!pdev->dev.dma_mask)
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
if (!pdev->dev.coherent_dma_mask) retval = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); if (retval)
goto fail;
usbh_clk = devm_clk_get(&pdev->dev, NULL); usbh_clk = devm_clk_get(&pdev->dev, NULL);
if (IS_ERR(usbh_clk)) { if (IS_ERR(usbh_clk)) {
......
...@@ -77,8 +77,9 @@ static int uhci_hcd_platform_probe(struct platform_device *pdev) ...@@ -77,8 +77,9 @@ static int uhci_hcd_platform_probe(struct platform_device *pdev)
*/ */
if (!pdev->dev.dma_mask) if (!pdev->dev.dma_mask)
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
if (!pdev->dev.coherent_dma_mask) ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32); if (ret)
return ret;
hcd = usb_create_hcd(&uhci_platform_hc_driver, &pdev->dev, hcd = usb_create_hcd(&uhci_platform_hc_driver, &pdev->dev,
pdev->name); pdev->name);
......
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