Hi,

Merged. Thanks,
Inki Dae

2026년 7월 16일 (목) 오후 10:18, Johan Hovold <[email protected]>님이 작성:
>
> The i2c subsystem currently blocks during adapter deregistration
> whenever there are consumers holding a reference.
>
> Switch to using of_get_i2c_adapter_by_node() which also takes a
> reference to the adapter module so that an attempt to unload the module
> while in use fails gracefully instead of blocking uninterruptibly.
>
> Signed-off-by: Johan Hovold <[email protected]>
> ---
>  drivers/gpu/drm/exynos/exynos_hdmi.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c 
> b/drivers/gpu/drm/exynos/exynos_hdmi.c
> index 09b2cabb236f..b971b7098a4d 100644
> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
> @@ -1913,7 +1913,7 @@ static int hdmi_get_ddc_adapter(struct hdmi_context 
> *hdata)
>                 return -ENODEV;
>         }
>
> -       adpt = of_find_i2c_adapter_by_node(np);
> +       adpt = of_get_i2c_adapter_by_node(np);
>         of_node_put(np);
>
>         if (!adpt) {
> @@ -2069,7 +2069,7 @@ static int hdmi_probe(struct platform_device *pdev)
>         if (hdata->regs_hdmiphy)
>                 iounmap(hdata->regs_hdmiphy);
>  err_ddc:
> -       put_device(&hdata->ddc_adpt->dev);
> +       i2c_put_adapter(hdata->ddc_adpt);
>
>         return ret;
>  }
> @@ -2094,7 +2094,7 @@ static void hdmi_remove(struct platform_device *pdev)
>         if (hdata->regs_hdmiphy)
>                 iounmap(hdata->regs_hdmiphy);
>
> -       put_device(&hdata->ddc_adpt->dev);
> +       i2c_put_adapter(hdata->ddc_adpt);
>
>         drm_bridge_put(hdata->bridge);
>
> --
> 2.54.0
>
>

Reply via email to