mirror of https://gitee.com/openkylin/linux.git
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: Felipe Balbi <balbi@ti.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
93b11b2584
commit
22d9d8e831
|
@ -123,8 +123,9 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
|
|||
|
||||
if (!pdev->dev.dma_mask)
|
||||
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
||||
if (!pdev->dev.coherent_dma_mask)
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
|
||||
if (ret)
|
||||
goto err_clk;
|
||||
|
||||
if (data->usbmisc_data) {
|
||||
ret = imx_usbmisc_init(data->usbmisc_data);
|
||||
|
|
|
@ -121,8 +121,9 @@ static int dwc3_exynos_probe(struct platform_device *pdev)
|
|||
*/
|
||||
if (!dev->dma_mask)
|
||||
dev->dma_mask = &dev->coherent_dma_mask;
|
||||
if (!dev->coherent_dma_mask)
|
||||
dev->coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
ret = dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
|
||||
if (ret)
|
||||
goto err1;
|
||||
|
||||
platform_set_drvdata(pdev, exynos);
|
||||
|
||||
|
|
|
@ -3078,7 +3078,9 @@ static int __init lpc32xx_udc_probe(struct platform_device *pdev)
|
|||
udc->isp1301_i2c_client->addr);
|
||||
|
||||
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;
|
||||
|
||||
|
|
|
@ -92,8 +92,9 @@ static int ehci_atmel_drv_probe(struct platform_device *pdev)
|
|||
*/
|
||||
if (!pdev->dev.dma_mask)
|
||||
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
||||
if (!pdev->dev.coherent_dma_mask)
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
retval = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
|
||||
if (retval)
|
||||
goto fail_create_hcd;
|
||||
|
||||
hcd = usb_create_hcd(driver, &pdev->dev, dev_name(&pdev->dev));
|
||||
if (!hcd) {
|
||||
|
|
|
@ -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
|
||||
* the lower 4GB.
|
||||
*/
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
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");
|
||||
if (!hcd)
|
||||
|
|
|
@ -104,7 +104,7 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev)
|
|||
struct resource *res;
|
||||
struct usb_hcd *hcd;
|
||||
void __iomem *regs;
|
||||
int ret = -ENODEV;
|
||||
int ret;
|
||||
int irq;
|
||||
int i;
|
||||
struct omap_hcd *omap;
|
||||
|
@ -146,9 +146,11 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev)
|
|||
*/
|
||||
if (!dev->dma_mask)
|
||||
dev->dma_mask = &dev->coherent_dma_mask;
|
||||
if (!dev->coherent_dma_mask)
|
||||
dev->coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
ret = dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = -ENODEV;
|
||||
hcd = usb_create_hcd(&ehci_omap_hc_driver, dev,
|
||||
dev_name(dev));
|
||||
if (!hcd) {
|
||||
|
|
|
@ -182,8 +182,9 @@ static int ehci_orion_drv_probe(struct platform_device *pdev)
|
|||
*/
|
||||
if (!pdev->dev.dma_mask)
|
||||
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
||||
if (!pdev->dev.coherent_dma_mask)
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
|
||||
if (err)
|
||||
goto err1;
|
||||
|
||||
if (!request_mem_region(res->start, resource_size(res),
|
||||
ehci_orion_hc_driver.description)) {
|
||||
|
|
|
@ -78,7 +78,7 @@ static int ehci_platform_probe(struct platform_device *dev)
|
|||
struct resource *res_mem;
|
||||
struct usb_ehci_pdata *pdata;
|
||||
int irq;
|
||||
int err = -ENOMEM;
|
||||
int err;
|
||||
|
||||
if (usb_disabled())
|
||||
return -ENODEV;
|
||||
|
@ -91,8 +91,9 @@ static int ehci_platform_probe(struct platform_device *dev)
|
|||
dev->dev.platform_data = &ehci_platform_defaults;
|
||||
if (!dev->dev.dma_mask)
|
||||
dev->dev.dma_mask = &dev->dev.coherent_dma_mask;
|
||||
if (!dev->dev.coherent_dma_mask)
|
||||
dev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
err = dma_set_coherent_mask(&dev->dev, DMA_BIT_MASK(32));
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
pdata = dev_get_platdata(&dev->dev);
|
||||
|
||||
|
|
|
@ -91,8 +91,9 @@ static int s5p_ehci_probe(struct platform_device *pdev)
|
|||
*/
|
||||
if (!pdev->dev.dma_mask)
|
||||
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
||||
if (!pdev->dev.coherent_dma_mask)
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
s5p_setup_vbus_gpio(pdev);
|
||||
|
||||
|
|
|
@ -83,8 +83,9 @@ static int spear_ehci_hcd_drv_probe(struct platform_device *pdev)
|
|||
*/
|
||||
if (!pdev->dev.dma_mask)
|
||||
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
||||
if (!pdev->dev.coherent_dma_mask)
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
retval = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
|
||||
if (retval)
|
||||
goto fail;
|
||||
|
||||
usbh_clk = devm_clk_get(&pdev->dev, NULL);
|
||||
if (IS_ERR(usbh_clk)) {
|
||||
|
|
|
@ -364,8 +364,9 @@ static int tegra_ehci_probe(struct platform_device *pdev)
|
|||
*/
|
||||
if (!pdev->dev.dma_mask)
|
||||
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
||||
if (!pdev->dev.coherent_dma_mask)
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
hcd = usb_create_hcd(&tegra_ehci_hc_driver, &pdev->dev,
|
||||
dev_name(&pdev->dev));
|
||||
|
|
|
@ -524,7 +524,7 @@ MODULE_DEVICE_TABLE(of, at91_ohci_dt_ids);
|
|||
static int ohci_at91_of_init(struct platform_device *pdev)
|
||||
{
|
||||
struct device_node *np = pdev->dev.of_node;
|
||||
int i, gpio;
|
||||
int i, gpio, ret;
|
||||
enum of_gpio_flags flags;
|
||||
struct at91_usbh_data *pdata;
|
||||
u32 ports;
|
||||
|
@ -538,8 +538,9 @@ static int ohci_at91_of_init(struct platform_device *pdev)
|
|||
*/
|
||||
if (!pdev->dev.dma_mask)
|
||||
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
||||
if (!pdev->dev.coherent_dma_mask)
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
|
||||
if (!pdata)
|
||||
|
|
|
@ -116,8 +116,9 @@ static int exynos_ohci_probe(struct platform_device *pdev)
|
|||
*/
|
||||
if (!pdev->dev.dma_mask)
|
||||
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
||||
if (!pdev->dev.coherent_dma_mask)
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
exynos_ohci = devm_kzalloc(&pdev->dev, sizeof(struct exynos_ohci_hcd),
|
||||
GFP_KERNEL);
|
||||
|
|
|
@ -226,8 +226,10 @@ static int usb_hcd_nxp_probe(struct platform_device *pdev)
|
|||
return -EPROBE_DEFER;
|
||||
}
|
||||
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
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);
|
||||
if (usb_disabled()) {
|
||||
|
|
|
@ -127,8 +127,10 @@ static int ohci_octeon_drv_probe(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
/* Ohci is a 32-bit device. */
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
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");
|
||||
if (!hcd)
|
||||
|
|
|
@ -132,7 +132,7 @@ static int ohci_hcd_omap3_probe(struct platform_device *pdev)
|
|||
struct usb_hcd *hcd = NULL;
|
||||
void __iomem *regs = NULL;
|
||||
struct resource *res;
|
||||
int ret = -ENODEV;
|
||||
int ret;
|
||||
int irq;
|
||||
|
||||
if (usb_disabled())
|
||||
|
@ -168,9 +168,11 @@ static int ohci_hcd_omap3_probe(struct platform_device *pdev)
|
|||
*/
|
||||
if (!dev->dma_mask)
|
||||
dev->dma_mask = &dev->coherent_dma_mask;
|
||||
if (!dev->coherent_dma_mask)
|
||||
dev->coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
ret = dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
|
||||
if (ret)
|
||||
goto err_io;
|
||||
|
||||
ret = -ENODEV;
|
||||
hcd = usb_create_hcd(&ohci_omap3_hc_driver, dev,
|
||||
dev_name(dev));
|
||||
if (!hcd) {
|
||||
|
|
|
@ -287,6 +287,7 @@ static int ohci_pxa_of_init(struct platform_device *pdev)
|
|||
struct device_node *np = pdev->dev.of_node;
|
||||
struct pxaohci_platform_data *pdata;
|
||||
u32 tmp;
|
||||
int ret;
|
||||
|
||||
if (!np)
|
||||
return 0;
|
||||
|
@ -297,8 +298,9 @@ static int ohci_pxa_of_init(struct platform_device *pdev)
|
|||
*/
|
||||
if (!pdev->dev.dma_mask)
|
||||
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
||||
if (!pdev->dev.coherent_dma_mask)
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
|
||||
if (!pdata)
|
||||
|
|
|
@ -113,8 +113,9 @@ static int spear_ohci_hcd_drv_probe(struct platform_device *pdev)
|
|||
*/
|
||||
if (!pdev->dev.dma_mask)
|
||||
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
||||
if (!pdev->dev.coherent_dma_mask)
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
retval = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
|
||||
if (retval)
|
||||
goto fail;
|
||||
|
||||
usbh_clk = devm_clk_get(&pdev->dev, NULL);
|
||||
if (IS_ERR(usbh_clk)) {
|
||||
|
|
|
@ -77,8 +77,9 @@ static int uhci_hcd_platform_probe(struct platform_device *pdev)
|
|||
*/
|
||||
if (!pdev->dev.dma_mask)
|
||||
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
|
||||
if (!pdev->dev.coherent_dma_mask)
|
||||
pdev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
|
||||
ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
hcd = usb_create_hcd(&uhci_platform_hc_driver, &pdev->dev,
|
||||
pdev->name);
|
||||
|
|
Loading…
Reference in New Issue