X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fbrcm2708%2Fpatches-4.19%2F950-0127-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch;fp=target%2Flinux%2Fbrcm2708%2Fpatches-4.19%2F950-0127-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch;h=0000000000000000000000000000000000000000;hb=c2308a7e4adbb2acc8ff149f91d1ca46801c135e;hp=8e06168f0602319cb685e9caff26f26781c27e4f;hpb=67dcc43f3a22dc3a7ac07a7065971b426feeb043;p=openwrt%2Fstaging%2Fdedeckeh.git diff --git a/target/linux/brcm2708/patches-4.19/950-0127-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch b/target/linux/brcm2708/patches-4.19/950-0127-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch deleted file mode 100644 index 8e06168f06..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0127-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 68aaa2f653c83f8fda6032153566b4f895dff524 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Sat, 12 May 2018 21:35:43 +0100 -Subject: [PATCH] firmware/raspberrypi: Notify firmware of a reboot - -Register for reboot notifications, sending RPI_FIRMWARE_NOTIFY_REBOOT -over the mailbox interface on reception. - -Signed-off-by: Phil Elwell ---- - drivers/firmware/raspberrypi.c | 40 +++++++++++++++++++++++++++++++++- - 1 file changed, 39 insertions(+), 1 deletion(-) - ---- a/drivers/firmware/raspberrypi.c -+++ b/drivers/firmware/raspberrypi.c -@@ -15,6 +15,7 @@ - #include - #include - #include -+#include - #include - #include - -@@ -175,6 +176,26 @@ int rpi_firmware_property(struct rpi_fir - } - EXPORT_SYMBOL_GPL(rpi_firmware_property); - -+static int rpi_firmware_notify_reboot(struct notifier_block *nb, -+ unsigned long action, -+ void *data) -+{ -+ struct rpi_firmware *fw; -+ struct platform_device *pdev = g_pdev; -+ -+ if (!pdev) -+ return 0; -+ -+ fw = platform_get_drvdata(pdev); -+ if (!fw) -+ return 0; -+ -+ (void)rpi_firmware_property(fw, RPI_FIRMWARE_NOTIFY_REBOOT, -+ 0, 0); -+ -+ return 0; -+} -+ - static void - rpi_firmware_print_firmware_revision(struct rpi_firmware *fw) - { -@@ -285,15 +306,32 @@ static struct platform_driver rpi_firmwa - .remove = rpi_firmware_remove, - }; - -+static struct notifier_block rpi_firmware_reboot_notifier = { -+ .notifier_call = rpi_firmware_notify_reboot, -+}; -+ - static int __init rpi_firmware_init(void) - { -- return platform_driver_register(&rpi_firmware_driver); -+ int ret = register_reboot_notifier(&rpi_firmware_reboot_notifier); -+ if (ret) -+ goto out1; -+ ret = platform_driver_register(&rpi_firmware_driver); -+ if (ret) -+ goto out2; -+ -+ return 0; -+ -+out2: -+ unregister_reboot_notifier(&rpi_firmware_reboot_notifier); -+out1: -+ return ret; - } - subsys_initcall(rpi_firmware_init); - - static void __init rpi_firmware_exit(void) - { - platform_driver_unregister(&rpi_firmware_driver); -+ unregister_reboot_notifier(&rpi_firmware_reboot_notifier); - } - module_exit(rpi_firmware_exit); -