Re: [PATCH v2] leds: max8997: Don't error if there is no pdata

From: Pavel Machek
Date: Fri Oct 21 2022 - 09:12:29 EST


On Thu 2022-10-20 12:44:42, Paul Cercueil wrote:
> The driver works just fine if no platform data is supplied.
>
> Signed-off-by: Paul Cercueil <paul@xxxxxxxxxxxxxxx>
> Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>

Does it? Bad Paul, bad Andy.

> +++ b/drivers/leds/leds-max8997.c
> @@ -238,11 +238,6 @@ static int max8997_led_probe(struct platform_device *pdev)
> char name[20];
> int ret = 0;
>
> - if (pdata == NULL) {
> - dev_err(&pdev->dev, "no platform data\n");
> - return -ENODEV;
> - }
> -
> led = devm_kzalloc(&pdev->dev, sizeof(*led), GFP_KERNEL);
> if (led == NULL)
> return -ENOMEM;
> @@ -258,7 +253,7 @@ static int max8997_led_probe(struct platform_device *pdev)
> led->iodev = iodev;
>
> /* initialize mode and brightness according to platform_data */
> - if (pdata->led_pdata) {
> + if (pdata && pdata->led_pdata) {
> u8 mode = 0, brightness = 0;
>
> mode = pdata->led_pdata->mode[led->id];

I see pdata being dereferenced here.
Pavel
--
People of Russia, stop Putin before his war on Ukraine escalates.

Attachment: signature.asc
Description: PGP signature