]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/misc/pvpanic.c
Fix up remaining devm_ioremap_nocache() in SGI IOC3 8250 UART driver
[linux.git] / drivers / misc / pvpanic.c
index 95ff7c5a1dfb62c1363006b5a0919562572cfbce..a6e1a8983e1fcc6201f50140672babe34a9613c7 100644 (file)
 
 #include <linux/acpi.h>
 #include <linux/kernel.h>
+#include <linux/kexec.h>
 #include <linux/module.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/platform_device.h>
 #include <linux/types.h>
+#include <uapi/misc/pvpanic.h>
 
 static void __iomem *base;
 
-#define PVPANIC_PANICKED        (1 << 0)
-
 MODULE_AUTHOR("Hu Tao <hutao@cn.fujitsu.com>");
 MODULE_DESCRIPTION("pvpanic device driver");
 MODULE_LICENSE("GPL");
@@ -34,7 +34,13 @@ static int
 pvpanic_panic_notify(struct notifier_block *nb, unsigned long code,
                     void *unused)
 {
-       pvpanic_send_event(PVPANIC_PANICKED);
+       unsigned int event = PVPANIC_PANICKED;
+
+       if (kexec_crash_loaded())
+               event = PVPANIC_CRASH_LOADED;
+
+       pvpanic_send_event(event);
+
        return NOTIFY_DONE;
 }