diff options
Diffstat (limited to 'drivers/firmware/raspberrypi.c')
-rw-r--r-- | drivers/firmware/raspberrypi.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c index a13558154ac3..61be15d9df7d 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c | |||
@@ -238,6 +238,16 @@ static int rpi_firmware_probe(struct platform_device *pdev) | |||
238 | return 0; | 238 | return 0; |
239 | } | 239 | } |
240 | 240 | ||
241 | static void rpi_firmware_shutdown(struct platform_device *pdev) | ||
242 | { | ||
243 | struct rpi_firmware *fw = platform_get_drvdata(pdev); | ||
244 | |||
245 | if (!fw) | ||
246 | return; | ||
247 | |||
248 | rpi_firmware_property(fw, RPI_FIRMWARE_NOTIFY_REBOOT, NULL, 0); | ||
249 | } | ||
250 | |||
241 | static int rpi_firmware_remove(struct platform_device *pdev) | 251 | static int rpi_firmware_remove(struct platform_device *pdev) |
242 | { | 252 | { |
243 | struct rpi_firmware *fw = platform_get_drvdata(pdev); | 253 | struct rpi_firmware *fw = platform_get_drvdata(pdev); |
@@ -278,6 +288,7 @@ static struct platform_driver rpi_firmware_driver = { | |||
278 | .of_match_table = rpi_firmware_of_match, | 288 | .of_match_table = rpi_firmware_of_match, |
279 | }, | 289 | }, |
280 | .probe = rpi_firmware_probe, | 290 | .probe = rpi_firmware_probe, |
291 | .shutdown = rpi_firmware_shutdown, | ||
281 | .remove = rpi_firmware_remove, | 292 | .remove = rpi_firmware_remove, |
282 | }; | 293 | }; |
283 | module_platform_driver(rpi_firmware_driver); | 294 | module_platform_driver(rpi_firmware_driver); |