Thread (33 messages) 33 messages, 3 authors, 2025-09-11

回复: 回复: 回复: 回复: [PATCH 1/3] pinctrl: cix: Add pin-controller support for sky1

From: Gary Yang <hidden>
Date: 2025-08-29 10:18:39
Also in: linux-gpio, lkml

Hi Krzysztof,
On 29/08/2025 06:33, Gary Yang wrote:
quoted
Hi Krzysztof,
quoted
On 28/08/2025 10:32, Gary Yang wrote:
quoted
Hi Krzysztof,
quoted
On 28/08/2025 08:44, Gary Yang wrote:
quoted
quoted
quoted
+     if (ret) {
+             dev_err(&pdev->dev, "fail to probe dt
+ properties\n");
You are printing same error twice. Drop this and just handle
error printing in sky1_pinctrl_probe_dt().
Especially that you now print errors on ENOMEM.
Sorry, this print message is only once, not twice, please give
more information
Trigger the error and check how many error messages you see. I see two.
You should know your code better than me...
There are two pin-controller on sky1. They share the same driver.
The probe
is called twice.
quoted
So we see the print message twice.

No, you don't really understand how this works. Test your code and
its error paths and you will see FOR ONE BIND more than one error
message.
quoted
quoted
Plus my second comment which you completely ignored.

I am sorry, but this is basic C.
In order to trigger a error, we add a sentence in sky1_pinctrl_probe_dt() as
follow:
quoted
static int sky1_pinctrl_probe_dt(struct platform_device *pdev,
                                 struct sky1_pinctrl *spctl) {

+         return -ENODEV;
          .......
}

dmesg shows as following:

[    0.812780] /soc@0/pinctrl@4170000: Fixed dependency cycle(s) with
/soc@0/pinctrl@4170000/hog-pins
quoted
[    0.821920] sky1-pinctrl 4170000.pinctrl: fail to probe dt properties
[    0.828503] /soc@0/pinctrl@16007000: Fixed dependency cycle(s) with
/soc@0/pinctrl@16007000/hog-s5-pins
quoted
[    0.838058] sky1-pinctrl 16007000.pinctrl: fail to probe dt properties

I don't see the error message twice per one. There are two pin-controller.
One is /soc@0/pinctrl@4170000. Other is /soc@0/pinctrl@16007000.

And the next error case from sky1_pinctrl_probe_dt? ... and then the next one?
And another one?

Really, either you didn't read your own code or you just push the same poor
code, regardless of review, because you want it to get merged?

This will lead you nowhere.

You have:

+static int sky1_pinctrl_probe_dt(struct platform_device *pdev,
+                               struct sky1_pinctrl *spctl)
...
+               if (!function)
+                       return -ENOMEM;
...
+       if (ret) {
+               dev_err(&pdev->dev, "fail to probe dt properties\n");
+               return ret;
+       }

That's a clear NAK.

Then you have:

+               if (nfuncs == 0) {
+                       dev_err(&pdev->dev, "no functions defined\n");
+                       return -EINVAL;
...
+       if (ret) {
+               dev_err(&pdev->dev, "fail to probe dt properties\n");
+               return ret;
+       }

that's useless duplicated message. TWICE.

You could easily spot it yourself instead of keep bugging the reviewer for such
trivial stuff.

NAK, please remember to never waste reviewers time.
quoted
So you see the twice, once per one pin-controller. BTW as you suggested
before, we will print the value of ret in the error message.
quoted
If I miss any information, please kindly remind me. Thanks
You still ignored my second comment.
First you wrote " You are printing same error twice ", please pay attention to the "same error" strings, it makes me confuse, I misunderstand your thinking 
until you took the example above. So the discussion is needed, not waste our time.

Second the return value of sky1_pinctrl_probe_dt() is not only ENOMEM, it can also return ENODEV and EINVAL. Although I don't think this is a bug, take our 
time consider, I will delete the print sentence in sky1_pinctrl_probe_dt(). It makes the error message only once.

Third Although the author is not me, I really read all driver codes before take my courage to submit this patch. Maybe the codes comes from old example, 
we can update these codes to support the newest standard.

Fourth I work as an kernel engineer many years. But I first push patches to Linux kernel. If I make some stupid mistake, please kindly remind me. Maybe your kind make me 
more courage on doing this valuable work. 

If miss any information, please let me know. Thanks for your understanding.
Best regards,
Krzysztof
Best wishes
Gary
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help