Hi CK, On Fri, Jul 14, 2023 at 5:27 PM CK Hu (胡俊光) <ck.hu@xxxxxxxxxxxx> wrote: > > Hi, Nancy: > > On Fri, 2023-04-21 at 10:16 +0800, Nancy.Lin wrote: snip > > In line 566, the statement is > > if (nodo) { > comp_pdev = ... > } > > The comment says that only ovl_adaptoer has no device node, so the > checking should be > > if (type != MTK_DISP_OVL_ADAPTOR) { > comp_pdev = ... > } > > and later it would return when type = MTK_DISP_OVL_ADAPTOR, > so there would be no problem of uninitialized symbol. That sounds fair, but IIUC what Nancy tries to resolve here is the false-positive Smatch warning. How about this: given the `if (node)` block was exclusively added for ovl_adaptor in [1], plus the init function will immediately return after that in this case, it should be safe to do the following ``` /* Not all drm components have a DTS device node... */ if (node == NULL) return 0; comp_pdev = of_find_device_by_node(node); ... if (type == MTK_DISP_AAL || ... ``` which is equivalent to adding a `node == NULL` check before [1]. This should suppress the Smatch warning because `comp_pdev` will be (again) unconditionally assigned to something, and the `type == MTK_DISP_OVL_ADAPTOR` line can be dropped also (optional?). [1]: commit 0d9eee9118b7 ("drm/mediatek: Add drm ovl_adaptor sub driver for MT8195") Regards, Fei