On Mon, Feb 02, 2026 at 03:54:10PM +0800, Chen Ni wrote:
> The devm_gpiod_get_optional() function may return an ERR_PTR in case of
> genuine GPIO acquisition errors, not just NULL which indicates the
> legitimate absence of an optional GPIO.
>
> Add an IS_ERR() check after the call in sky81452_bl_parse_dt(). On
> error, return the error code to ensure proper failure handling rather
> than proceeding with invalid pointers.
>
> Fixes: e1915eec54a6 ("backlight: sky81452: Convert to GPIO descriptors")
> Signed-off-by: Chen Ni <[email protected]>
> ---
> drivers/video/backlight/sky81452-backlight.c | 4 ++++
> 1 file changed, 4 insertions(+)
Thanks for the fix.
Small review comment below:
> diff --git a/drivers/video/backlight/sky81452-backlight.c
> b/drivers/video/backlight/sky81452-backlight.c
> index 2749231f0385..e3e5306fab84 100644
> --- a/drivers/video/backlight/sky81452-backlight.c
> +++ b/drivers/video/backlight/sky81452-backlight.c
> @@ -202,6 +202,10 @@ static struct sky81452_bl_platform_data
> *sky81452_bl_parse_dt(
> pdata->dpwm_mode = of_property_read_bool(np, "skyworks,dpwm-mode");
> pdata->phase_shift = of_property_read_bool(np, "skyworks,phase-shift");
> pdata->gpiod_enable = devm_gpiod_get_optional(dev, NULL,
> GPIOD_OUT_HIGH);
> + if (IS_ERR(pdata->gpiod_enable)) {
> + dev_err(dev, "failed to get gpio\n");
> + return ERR_CAST(pdata->gpiod_enable);
> + }
Using dev_err_cast_probe() would make this change more compact and give
a better error message for the user.
>
> ret = of_property_count_u32_elems(np, "led-sources");
> if (ret < 0) {
Daniel.