Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:

Pre-existing issues:
- [High] The driver attempts to communicate with the chip via I2C before 
acquiring and enabling the hardware via its enable GPIO.
--

commit a2f8eb8bf399f54262cbf37acb4512885c65a3b6
Author: Junjie Cao <[email protected]>

backlight: aw99706: Fix DT property names to match binding

The driver reads four tuning properties without the unit suffixes that
the binding mandates. As a result, device_property_read_u32() never finds
these properties in a binding-conformant device tree and silently falls back
to the compiled-in defaults. This patch fixes the property name strings in
aw99706_dt_props[] to match the binding.

> diff --git a/drivers/video/backlight/aw99706.c 
> b/drivers/video/backlight/aw99706.c
> index 18299faf06ad4..e130f164303a2 100644
> --- a/drivers/video/backlight/aw99706.c
> +++ b/drivers/video/backlight/aw99706.c
> @@ -130,23 +130,23 @@ static const struct aw99706_dt_prop aw99706_dt_props[] 
> = {

[ ... ]

This is a pre-existing issue, but I noticed something concerning in the
initialization sequence within aw99706_probe() in the same file:

drivers/video/backlight/aw99706.c:aw99706_probe() {
    ...
        ret = aw99706_chip_id_read(aw);
        if (ret != AW99706_ID)
                return dev_err_probe(dev, -ENODEV,
                                     "Unknown chip id 0x%02x\n", ret);

        aw99706_dt_parse(aw, &props);

        aw->hwen_gpio = devm_gpiod_get(aw->dev, "enable", GPIOD_OUT_LOW);
        if (IS_ERR(aw->hwen_gpio))
                return dev_err_probe(dev, PTR_ERR(aw->hwen_gpio),
                                     "Failed to get enable gpio\n");

        ret = aw99706_hw_init(aw);
    ...
}

[Severity: High]
Does this sequence result in unconditional probe failure on platforms where the
bootloader does not pre-enable the backlight hardware?

The driver attempts to communicate with the chip via I2C during
aw99706_chip_id_read() before the hardware enable GPIO is acquired and
asserted in aw99706_hw_init().

Because the hardware is likely powered down when aw99706_chip_id_read() is
called, it will not acknowledge the I2C transaction and will return an error.

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=1

Reply via email to