[PATCH] drm: bridge: thc63lvd1024: Print error message when DT parsing fails

Neil Armstrong neil.armstrong at linaro.org
Tue Mar 19 15:49:02 UTC 2024


On 18/03/2024 20:23, Sui Jingfeng wrote:
> Hi,
> 
> 
> On 2024/3/19 02:04, Laurent Pinchart wrote:
>> Improving core helpers is certainly a good idea, and if we do so, we can
>> simplify drivers. What I'm concerned is that commit 00084f0c01bf creates
>> a silent probe failure path,
> 
> 
> No, I can't agree here. It doesn't creates a silent probe failure path.

It doesn't _in debug mode_, I agree with Laurent, having a verbose probe error should be kept.

Neil

> 
> Simply because
> 
> 1) It is NOT silent.
> 2) It should be exist at product level kernel.
> 
> 
>> which didn't exist before it.
> 
> 
> Again, it shouldn't be exist.
> 
> Otherwise it hints us that there is ill-behavior-ed DT in the mainstream kernel
> or a specific product(or development board). If I were you, I would like to fix
> the boot failure first.
> 
> In the earlier stage of my attempt to contribute, I also would like to enable
> debug output as much as possible. Just like you, the benefit is obvious: It really
> eliminate the pain on developing stage and when bugs happens.
> 
> But I was told many many times that mainstream kernel is not for debug, it is
> for sound products. I bet you have seen some product level drivers print very less.
> I'm not understand why in the past, but I think I could understand something now.
> Probably because professional programmers really confident about what they have
> wrote. As they have been tested and/or reviewed thousands or ten thousands times.
> 
> Enable this debug output by default can only prove to the community that you are
> not confident about something, either the community's reviewing power on DTS or
> your debug techniques.
> 
> 
>> This is why
>> this patch references it in the Fixes: tag, making sure that this patch
>> will get backported to any stable kernel that includes commit
>> 00084f0c01bf.
> 
> 
> No, I keep insist on my judgement. A fixes tag is only meant for cases where your
> patch fixes a bug. The bug should really be happened. All of the discussion ongoing
> here are just things imaginary about the *debug* phase and development phase.
> 
> 
>>   As far as I understand, this is business as usual. There's
>> nothing personal here, and no judgement on the quality of your code.
>>
> Please don't misunderstanding, I do cares the quality of my code.
> If it is really introduce a bug, I will responsible and help to solve.
> But this is not the case. Sorry.
> 
> 
>>>> Signed-off-by: Laurent Pinchart<laurent.pinchart+renesas at ideasonboard.com>
>>>> ---
>>>>    drivers/gpu/drm/bridge/thc63lvd1024.c | 5 ++++-
>>>>    1 file changed, 4 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/bridge/thc63lvd1024.c b/drivers/gpu/drm/bridge/thc63lvd1024.c
>>>> index 5f99f9724081..674efc489e3a 100644
>>>> --- a/drivers/gpu/drm/bridge/thc63lvd1024.c
>>>> +++ b/drivers/gpu/drm/bridge/thc63lvd1024.c
>>>> @@ -125,8 +125,11 @@ static int thc63_parse_dt(struct thc63_dev *thc63)
>>>>        remote = of_graph_get_remote_node(thc63->dev->of_node,
>>>>                          THC63_RGB_OUT0, -1);
>>>> -    if (!remote)
>>>> +    if (!remote) {
>>>> +        dev_err(thc63->dev, "No remote endpoint for port@%u\n",
>>>> +            THC63_RGB_OUT0);
>>>>            return -ENODEV;
>>>> +    }
> 
> An side effect of this patch is that we will add one more extra error message in the console.
> As the of_graph_get_remote_node() function already print one for us if I add '#define DEBUG 1'
> on the top of this source file. What's worse, it does not really tell us what's really the
> error is.
> 
> It could be no valid endpoint or no valid remote node because of bad coding in DT, or It is
> also simply because the remove node(or device) is being disabled intentionally by adding
> 'status = "disabled"' clause. Therefore, the error printing code added here is very confusing
> in practice. It cannot really help for locating the root cause of the problem.
> 
> After think about this more than twice, either help to improve the core of_graph_get_remote_node()
> function or just to drop this. This what I can tell as a ordinary reviewer. Despite you and/or
> other more advanced programmer & reviewer could override what I said though.
> 



More information about the dri-devel mailing list