On Wed, Apr 24, 2024 at 5:24 PM quic_zijuhu <[email protected]> wrote:
>
> On 4/24/2024 10:52 PM, Bartosz Golaszewski wrote:
> > On Wed, 24 Apr 2024 at 16:46, Krzysztof Kozlowski
> > <[email protected]> wrote:
> >>
> >> On 24/04/2024 14:29, Bartosz Golaszewski wrote:
> >>> From: Bartosz Golaszewski <[email protected]>
> >>>
> >>
> >>> qcadev->susclk = devm_clk_get_optional(&serdev->dev, NULL);
> >>> if (IS_ERR(qcadev->susclk)) {
> >>> @@ -2355,10 +2360,13 @@ static int qca_serdev_probe(struct serdev_device *serdev)
> >>> qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable",
> >>> GPIOD_OUT_LOW);
> >>> if (IS_ERR(qcadev->bt_en)) {
> >>> - dev_warn(&serdev->dev, "failed to acquire enable gpio\n");
> >>> - power_ctrl_enabled = false;
> >>> + dev_err(&serdev->dev, "failed to acquire enable gpio\n");
> >>> + return PTR_ERR(qcadev->bt_en);
> please think about for QCA2066. if it is returned from here. BT will
> not working at all. if you don't return here. i will be working fine
> for every BT functionality.
> NAK again by me.
>
Luiz,
This in turn is an example of Zijun making a claim that looks like a
legitimate review but is simply untrue. He's done it several times.
I'm afraid that it may affect your judgment due to the confidence the
claims are made with. As Krzysztof said multiple times: the
device-tree bindings for QCA2066 are very clear: the enable-gpios
property is *required* and so returning an error on failure here is
correct. Even changing gpiod_get_optional() to just gpiod_get() would
be in line with what the contract in the binding document says. Even
if we relaxed the bindings, returning here stil *IS CORRECT* as if the
enable-gpios is not defined, GPIOLIB will return NULL and we will NOT
return.
Bartosz
> >>> }
> >>>
> >>> + if (!qcadev->bt_en)
> >>> + power_ctrl_enabled = false;
> >>
> >> This looks duplicated - you already have such check earlier.
> >>
> >
> > It's under a different switch case!
> >
> > Bartosz
>