• Geert Uytterhoeven's avatar
    soc: bcm2835: Make !RASPBERRYPI_FIRMWARE dummies return failure · 144345a4
    Geert Uytterhoeven authored
    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: d45f1a56 ("staging: vc04_services: fix up rpi firmware functions")
    Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
    Reviewed-by: default avatarEric Anholt <eric@anholt.net>
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    144345a4
raspberrypi-firmware.h 7.49 KB