pv-on-hvm: Fix panic-handler code to work on wider range of kernels.
authorKeir Fraser <keir.fraser@citrix.com>
Fri, 13 Jun 2008 14:31:35 +0000 (15:31 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Fri, 13 Jun 2008 14:31:35 +0000 (15:31 +0100)
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
unmodified_drivers/linux-2.6/platform-pci/panic-handler.c

index 91bc03549b8e0cfc0f854e63ba770d0b7de3fcde..7564d0c7d965965c595358403faf85f1e5913213 100644 (file)
@@ -3,6 +3,10 @@
 #include <linux/notifier.h>
 #include <asm/hypervisor.h>
 
+#ifdef HAVE_XEN_PLATFORM_COMPAT_H
+#include <xen/platform-compat.h>
+#endif
+
 MODULE_LICENSE("GPL");
 
 #ifdef __ia64__
@@ -26,29 +30,13 @@ xen_panic_event(struct notifier_block *this, unsigned long event, void *ptr)
        /* we're never actually going to get here... */
        return NOTIFY_DONE;
 }
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
-static struct notifier_block xen_panic_block = {
-       xen_panic_event, NULL, 0 /* try to go last */
-};
-#else
+
 static struct notifier_block xen_panic_block = {
-       .notifier_call= xen_panic_event,
-       .next= NULL,
-       .priority= 0/* try to go last */
+       .notifier_call = xen_panic_event
 };
-#endif /*LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)*/
 
-static int __init setup_panic_event(void)
+int xen_panic_handler_init(void)
 {
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
-       notifier_chain_register(&panic_notifier_list, &xen_panic_block);
-#else
        atomic_notifier_chain_register(&panic_notifier_list, &xen_panic_block);
-#endif /*LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)*/
        return 0;
 }
-
-int xen_panic_handler_init(void)
-{
-       return setup_panic_event();
-}