OSDN Git Service

firmware: raspberrypi: Keep count of all consumers
authorNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Mon, 18 Jan 2021 12:32:34 +0000 (13:32 +0100)
committerNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Mon, 22 Mar 2021 16:59:51 +0000 (17:59 +0100)
commit1e7c57355a3bc617fc220234889e49fe722a6305
tree7dd59e11b9f2c8790928cb1c5672948d51d5df42
parenta38fd8748464831584a19438cbb3082b5a2dab15
firmware: raspberrypi: Keep count of all consumers

When unbinding the firmware device we need to make sure it has no
consumers left. Otherwise we'd leave them with a firmware handle
pointing at freed memory.

Keep a reference count of all consumers and introduce rpi_firmware_put()
which will permit automatically decrease the reference count upon
unbinding consumer drivers.

Suggested-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Reviewed-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
drivers/firmware/raspberrypi.c
include/soc/bcm2835/raspberrypi-firmware.h