int ret, i;
drvdata = device_get_match_data(&pdev->dev);
- if (!drvdata) {
- dev_err(&pdev->dev, "unable to find driver data\n");
- return -EINVAL;
- }
+ if (!drvdata)
+ return dev_err_probe(&pdev->dev, -EINVAL,
+ "unable to find driver data\n");
ret = of_property_read_u32(np, "dma-channels", &chans);
- if (ret) {
- dev_err(&pdev->dev, "Can't get dma-channels.\n");
- return ret;
- }
+ if (ret)
+ return dev_err_probe(&pdev->dev, ret,
+ "Can't get dma-channels.\n");
fsl_edma = devm_kzalloc(&pdev->dev, struct_size(fsl_edma, chans, chans),
GFP_KERNEL);
if (drvdata->flags & FSL_EDMA_DRV_HAS_DMACLK) {
fsl_edma->dmaclk = devm_clk_get_enabled(&pdev->dev, "dma");
- if (IS_ERR(fsl_edma->dmaclk)) {
- dev_err(&pdev->dev, "Missing DMA block clock.\n");
- return PTR_ERR(fsl_edma->dmaclk);
- }
+ if (IS_ERR(fsl_edma->dmaclk))
+ return dev_err_probe(&pdev->dev,
+ PTR_ERR(fsl_edma->dmaclk),
+ "Missing DMA block clock.\n");
}
ret = of_property_read_variable_u32_array(np, "dma-channel-mask", chan_mask, 1, 2);
sprintf(clkname, "dmamux%d", i);
fsl_edma->muxclk[i] = devm_clk_get_enabled(&pdev->dev, clkname);
- if (IS_ERR(fsl_edma->muxclk[i])) {
- dev_err(&pdev->dev, "Missing DMAMUX block clock.\n");
- /* on error: disable all previously enabled clks */
- return PTR_ERR(fsl_edma->muxclk[i]);
- }
+ if (IS_ERR(fsl_edma->muxclk[i]))
+ return dev_err_probe(&pdev->dev,
+ PTR_ERR(fsl_edma->muxclk[i]),
+ "Missing DMAMUX block clock.\n");
}
fsl_edma->big_endian = of_property_read_bool(np, "big-endian");
platform_set_drvdata(pdev, fsl_edma);
ret = dmaenginem_async_device_register(&fsl_edma->dma_dev);
- if (ret) {
- dev_err(&pdev->dev,
- "Can't register Freescale eDMA engine. (%d)\n", ret);
- return ret;
- }
+ if (ret)
+ return dev_err_probe(&pdev->dev, ret,
+ "Can't register Freescale eDMA engine.\n");
ret = devm_of_dma_controller_register(&pdev->dev, np,
drvdata->dmamuxs ? fsl_edma_xlate : fsl_edma3_xlate,
fsl_edma);
- if (ret) {
- dev_err(&pdev->dev,
- "Can't register Freescale eDMA of_dma. (%d)\n", ret);
- return ret;
- }
+ if (ret)
+ return dev_err_probe(&pdev->dev, ret,
+ "Can't register Freescale eDMA of_dma.\n");
/* enable round robin arbitration */
if (!(drvdata->flags & FSL_EDMA_DRV_SPLIT_REG))