soc: bcm2835: Make !RASPBERRYPI_FIRMWARE dummies return failure
authorGeert Uytterhoeven <geert@linux-m68k.org>
Sun, 8 Apr 2018 09:05:15 +0000 (11:05 +0200)
committerFlorian Fainelli <f.fainelli@gmail.com>
Mon, 16 Apr 2018 22:15:23 +0000 (15:15 -0700)
commit144345a4a8c3b497a3f60d3af9d6071a37660186
tree333e49ca8377ef983ba5c93b51cabba3951a401d
parent0a12e80ce4230434c2ed66ad0d65af0b7ccecea8
soc: bcm2835: Make !RASPBERRYPI_FIRMWARE dummies return failure

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@linux-m68k.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
include/soc/bcm2835/raspberrypi-firmware.h