Hi, Dafna: Dafna Hirschfeld <dafna.hirschfeld@xxxxxxxxxxxxx> 於 2021年7月13日 週二 上午2:12寫道: > > The initialization is currently tested in a later stage in > the function for no reason. > In addition, the test '!comp' will never fail since comp is > set with the '&' operator. Instead, test if a comp was not > initialized by testing "!comp->dev". Applied to mediatek-drm-next [1], thanks. [1] https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/linux.git/log/?h=mediatek-drm-next Regards, Chun-Kuang. > > Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@xxxxxxxxxxxxx> > --- > drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > index 474efb844249..06f40e589922 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > @@ -755,14 +755,22 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev, > for (i = 0; i < path_len; i++) { > enum mtk_ddp_comp_id comp_id = path[i]; > struct device_node *node; > + struct mtk_ddp_comp *comp; > > node = priv->comp_node[comp_id]; > + comp = &priv->ddp_comp[comp_id]; > + > if (!node) { > dev_info(dev, > "Not creating crtc %d because component %d is disabled or missing\n", > pipe, comp_id); > return 0; > } > + > + if (!comp->dev) { > + dev_err(dev, "Component %pOF not initialized\n", node); > + return -ENODEV; > + } > } > > mtk_crtc = devm_kzalloc(dev, sizeof(*mtk_crtc), GFP_KERNEL); > @@ -787,16 +795,8 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev, > for (i = 0; i < mtk_crtc->ddp_comp_nr; i++) { > enum mtk_ddp_comp_id comp_id = path[i]; > struct mtk_ddp_comp *comp; > - struct device_node *node; > > - node = priv->comp_node[comp_id]; > comp = &priv->ddp_comp[comp_id]; > - if (!comp) { > - dev_err(dev, "Component %pOF not initialized\n", node); > - ret = -ENODEV; > - return ret; > - } > - > mtk_crtc->ddp_comp[i] = comp; > > if (comp->funcs) { > -- > 2.17.1 >