#include <linux/platform_data/intel-mid_wdt.h>
 
 #include <asm/intel-mid.h>
-#include <asm/intel_scu_ipc.h>
 #include <asm/io_apic.h>
 #include <asm/hw_irq.h>
 
        .probe = tangier_probe,
 };
 
-static int wdt_scu_status_change(struct notifier_block *nb,
-                                unsigned long code, void *data)
-{
-       if (code == SCU_DOWN) {
-               platform_device_unregister(&wdt_dev);
-               return 0;
-       }
-
-       return platform_device_register(&wdt_dev);
-}
-
-static struct notifier_block wdt_scu_notifier = {
-       .notifier_call  = wdt_scu_status_change,
-};
-
 static int __init register_mid_wdt(void)
 {
        if (intel_mid_identify_cpu() != INTEL_MID_CPU_CHIP_TANGIER)
                return -ENODEV;
 
        wdt_dev.dev.platform_data = &tangier_pdata;
-
-       /*
-        * We need to be sure that the SCU IPC is ready before watchdog device
-        * can be registered:
-        */
-       intel_scu_notifier_add(&wdt_scu_notifier);
-
-       return 0;
+       return platform_device_register(&wdt_dev);
 }
 arch_initcall(register_mid_wdt);
+
+static void __exit unregister_mid_wdt(void)
+{
+       platform_device_unregister(&wdt_dev);
+}
+__exitcall(unregister_mid_wdt);