On Wed, Apr 24, 2024 at 5:24 PM quic_zijuhu <quic_zijuhu@xxxxxxxxxxx> wrote: > > On 4/24/2024 10:52 PM, Bartosz Golaszewski wrote: > > On Wed, 24 Apr 2024 at 16:46, Krzysztof Kozlowski > > <krzysztof.kozlowski@xxxxxxxxxx> wrote: > >> > >> On 24/04/2024 14:29, Bartosz Golaszewski wrote: > >>> From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > >>> > >> > >>> 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 >