Re: [PATCH/RFC] soc: bcm2835: Make !RASPBERRYPI_FIRMWARE dummies return failure

From: Eric Anholt
Date: Mon Apr 09 2018 - 15:39:46 EST


Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> writes:

> If CONFIG_RASPBERRYPI_FIRMWARE=n:
>
> drivers/gpio/gpio-raspberrypi-exp.c: In function ârpi_exp_gpio_get_polarityâ:
> drivers/gpio/gpio-raspberrypi-exp.c:71: warning: âget.polarityâ is used uninitialized in this function
> drivers/gpio/gpio-raspberrypi-exp.c: In function ârpi_exp_gpio_get_directionâ:
> drivers/gpio/gpio-raspberrypi-exp.c:150: warning: âget.directionâ is used uninitialized in this function
>
> The dummy firmware interface functions return 0, which means success,
> causing subsequent code to make use of the never initialized output
> parameter.
>
> Fix this by making the dummy functions return an error code (-ENOSYS)
> instead.
>
> Note that this assumes the firmware always fills in the requested data
> in the CONFIG_RASPBERRYPI_FIRMWARE=y case.
>
> Fixes: d45f1a563b92dac7 ("staging: vc04_services: fix up rpi firmware functions")
> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>

You should definitely not be calling these if rpi_firmware_get() failed,
so this seems like a good solution.

Reviewed-by: Eric Anholt <eric@xxxxxxxxxx>

Attachment: signature.asc
Description: PGP signature