diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c index 14cb1c3f5201..686835c160be 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c @@ -3993,13 +3993,16 @@ static int vop2_extend_clk_init(struct vop2 *vop2) return 0; for (i = 0; i < ARRAY_SIZE(extend_clk_name); i++) { - clk = devm_clk_get(drm_dev->dev, extend_clk_name[i]); + clk = devm_clk_get_optional(drm_dev->dev, extend_clk_name[i]); if (IS_ERR(clk)) { dev_warn(drm_dev->dev, "failed to get %s: %ld\n", extend_clk_name[i], PTR_ERR(clk)); continue; } + if (!clk) + continue; + extend_pll = devm_kzalloc(drm_dev->dev, sizeof(*extend_pll), GFP_KERNEL); if (!extend_pll) return -ENOMEM;