On 19/04/2024 01:17, quic_zijuhu wrote: > On 4/19/2024 6:37 AM, Krzysztof Kozlowski wrote: >> On 18/04/2024 23:16, quic_zijuhu wrote: >>> On 4/19/2024 12:52 AM, Krzysztof Kozlowski wrote: >>>> On 18/04/2024 16:06, Zijun Hu wrote: >>>>> This reverts commit 56d074d26c5828773b00b2185dd7e1d08273b8e8. >>>>> >>>>> Commit 56d074d26c58 ("Bluetooth: hci_qca: don't use IS_ERR_OR_NULL() >>>>> with gpiod_get_optional()") will cause serious regression issue for >>>>> several QCA controllers such as QCA_WCN6750,QCA_WCN6855,QCA_ROME, >>>> >>>> The pin is required on 6750, 6855 and maybe others. You cannot not have >>>> the GPIO. >>>> >>>> This is no correct fix. You provide wrong DTS and, instead fixing it, >>>> try to revert kernel code. >>>> >>>> No, fix your DTS first. >>>> >>> no. your point is not right. >>> >>> 1) do you have any evidence that the hci_qca driver must use reset GPIO? >> >> I think we talk here about enable-gpios, right? Then the evidence are >> bindings. >> > yes. properties within bindings only means driver supporting it, don't means user must > config it. the gpio is got by devm_gpiod_get_optional() variant. that means it is optional > about if user need to config it. No. Read writing bindings and other presentations explaining what are Devicetree bindings. You miss entirely the point and use downstream narrative. This won't work and it was told so many times, that I expect you to do the homework first. Use "go/upstream" before posting more on this topic. >>> 2) why does original design do error return when get GPIO error if GPIO is mandatory? >> >> If GPIO is mandatory, then it is expected to return error. What is the >> problem here? >> > sorry, i miss a NOT for my question. my question is that > 2) why does original design NOT do error return when get GPIO error if GPIO is mandatory? >> >>> 3) i meet many customer cases that BT are working fine without hci_qca operating the GPIO, >>> there is why HCI_QUIRK_NON_PERSISTENT_SETUP are introduced. >> >> Bindings tell different story and nothing in the commit msg explained >> this. You did not correct bindings either. >> > don't need to correct bindings. i believe bindings does not say enable gpio > must be configured. They say. Read the bindings. Test your DTS. Or better: upstream your DTS and prove to us that dtbs_check allows lack of enable-gpios. >> >>> 4) does the reverted change solve the issue your mentioned ? >> >> ??? I did not mention any issue. I am saying that your rationale is >> either not complete or not correct. >> > do you suggest about how to make it complete? Yes, read what are bindings and then describe your change including that: what is the issue, how it can be reproduced, what is the hardware, why the bindings are not correct (if they are not correct) etc. Best regards, Krzysztof