Re: [PATCH 2/7] meson: ao-cec: use new cec_notifier_find_hdmi_dev helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/04/2019 13:03, Hans Verkuil wrote:
> The meson CEC driver increased the HDMI device refcount when
> it shouldn't. Use the new helper function to ensure that that
> doesn't happen and to simplify the driver code.
> 
> Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
> ---
>  drivers/media/platform/meson/ao-cec.c | 16 +++++-----------
>  1 file changed, 5 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/media/platform/meson/ao-cec.c b/drivers/media/platform/meson/ao-cec.c
> index cd4be38ab5ac..c8b374741a7c 100644
> --- a/drivers/media/platform/meson/ao-cec.c
> +++ b/drivers/media/platform/meson/ao-cec.c
> @@ -601,20 +601,14 @@ static const struct cec_adap_ops meson_ao_cec_ops = {
>  static int meson_ao_cec_probe(struct platform_device *pdev)
>  {
>  	struct meson_ao_cec_device *ao_cec;
> -	struct platform_device *hdmi_dev;
> -	struct device_node *np;
> +	struct device *hdmi_dev;
>  	struct resource *res;
>  	int ret, irq;
>  
> -	np = of_parse_phandle(pdev->dev.of_node, "hdmi-phandle", 0);
> -	if (!np) {
> -		dev_err(&pdev->dev, "Failed to find hdmi node\n");
> -		return -ENODEV;
> -	}
> +	hdmi_dev = cec_notifier_find_hdmi_dev(&pdev->dev);
>  
> -	hdmi_dev = of_find_device_by_node(np);
> -	if (hdmi_dev == NULL)
> -		return -EPROBE_DEFER;
> +	if (IS_ERR(hdmi_dev))
> +		return PTR_ERR(hdmi_dev);
>  
>  	ao_cec = devm_kzalloc(&pdev->dev, sizeof(*ao_cec), GFP_KERNEL);
>  	if (!ao_cec)
> @@ -622,7 +616,7 @@ static int meson_ao_cec_probe(struct platform_device *pdev)
>  
>  	spin_lock_init(&ao_cec->cec_reg_lock);
>  
> -	ao_cec->notify = cec_notifier_get(&hdmi_dev->dev);
> +	ao_cec->notify = cec_notifier_get(hdmi_dev);
>  	if (!ao_cec->notify)
>  		return -ENOMEM;
>  
> 

Acked-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx>

Thanks,
Neil



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux