diff options
Diffstat (limited to 'drivers/media/platform/stm32')
| -rw-r--r-- | drivers/media/platform/stm32/stm32-cec.c | 10 | ||||
| -rw-r--r-- | drivers/media/platform/stm32/stm32-dcmi.c | 13 | 
2 files changed, 16 insertions, 7 deletions
| diff --git a/drivers/media/platform/stm32/stm32-cec.c b/drivers/media/platform/stm32/stm32-cec.c index 8a86b2cc22fa..ea4b1ebfca99 100644 --- a/drivers/media/platform/stm32/stm32-cec.c +++ b/drivers/media/platform/stm32/stm32-cec.c @@ -291,7 +291,9 @@ static int stm32_cec_probe(struct platform_device *pdev)  	cec->clk_cec = devm_clk_get(&pdev->dev, "cec");  	if (IS_ERR(cec->clk_cec)) { -		dev_err(&pdev->dev, "Cannot get cec clock\n"); +		if (PTR_ERR(cec->clk_cec) != -EPROBE_DEFER) +			dev_err(&pdev->dev, "Cannot get cec clock\n"); +  		return PTR_ERR(cec->clk_cec);  	} @@ -302,10 +304,14 @@ static int stm32_cec_probe(struct platform_device *pdev)  	}  	cec->clk_hdmi_cec = devm_clk_get(&pdev->dev, "hdmi-cec"); +	if (IS_ERR(cec->clk_hdmi_cec) && +	    PTR_ERR(cec->clk_hdmi_cec) == -EPROBE_DEFER) +		return -EPROBE_DEFER; +  	if (!IS_ERR(cec->clk_hdmi_cec)) {  		ret = clk_prepare(cec->clk_hdmi_cec);  		if (ret) { -			dev_err(&pdev->dev, "Unable to prepare hdmi-cec clock\n"); +			dev_err(&pdev->dev, "Can't prepare hdmi-cec clock\n");  			return ret;  		}  	} diff --git a/drivers/media/platform/stm32/stm32-dcmi.c b/drivers/media/platform/stm32/stm32-dcmi.c index 9392e3409fba..b8931490b83b 100644 --- a/drivers/media/platform/stm32/stm32-dcmi.c +++ b/drivers/media/platform/stm32/stm32-dcmi.c @@ -1910,10 +1910,13 @@ static int dcmi_probe(struct platform_device *pdev)  		return PTR_ERR(mclk);  	} -	chan = dma_request_slave_channel(&pdev->dev, "tx"); -	if (!chan) { -		dev_info(&pdev->dev, "Unable to request DMA channel, defer probing\n"); -		return -EPROBE_DEFER; +	chan = dma_request_chan(&pdev->dev, "tx"); +	if (IS_ERR(chan)) { +		ret = PTR_ERR(chan); +		if (ret != -EPROBE_DEFER) +			dev_err(&pdev->dev, +				"Failed to request DMA channel: %d\n", ret); +		return ret;  	}  	spin_lock_init(&dcmi->irqlock); @@ -1971,7 +1974,7 @@ static int dcmi_probe(struct platform_device *pdev)  	}  	dcmi->vdev->entity.flags |= MEDIA_ENT_FL_DEFAULT; -	ret = video_register_device(dcmi->vdev, VFL_TYPE_GRABBER, -1); +	ret = video_register_device(dcmi->vdev, VFL_TYPE_VIDEO, -1);  	if (ret) {  		dev_err(dcmi->dev, "Failed to register video device\n");  		goto err_media_entity_cleanup; |