[POWERPC] via-pmu: Kill sleep notifiers completely
authorJohannes Berg <johannes@sipsolutions.net>
Tue, 11 Dec 2007 14:21:26 +0000 (01:21 +1100)
committerPaul Mackerras <paulus@samba.org>
Wed, 19 Dec 2007 04:00:59 +0000 (15:00 +1100)
This kills off the remnants of the old sleep notifiers now that they
are no longer used.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
drivers/macintosh/via-pmu.c
include/linux/pmu.h

index 35e1f22..6df3f35 100644 (file)
@@ -174,7 +174,6 @@ static struct proc_dir_entry *proc_pmu_batt[PMU_MAX_BATTERIES];
 
 int __fake_sleep;
 int asleep;
-BLOCKING_NOTIFIER_HEAD(sleep_notifier_list);
 
 #ifdef CONFIG_ADB
 static int adb_dev_map;
@@ -1719,67 +1718,7 @@ pmu_present(void)
        return via != 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
-
-static LIST_HEAD(sleep_notifiers);
-
-int
-pmu_register_sleep_notifier(struct pmu_sleep_notifier *n)
-{
-       struct list_head *list;
-       struct pmu_sleep_notifier *notifier;
-
-       for (list = sleep_notifiers.next; list != &sleep_notifiers;
-            list = list->next) {
-               notifier = list_entry(list, struct pmu_sleep_notifier, list);
-               if (n->priority > notifier->priority)
-                       break;
-       }
-       __list_add(&n->list, list->prev, list);
-       return 0;
-}
-EXPORT_SYMBOL(pmu_register_sleep_notifier);
-
-int
-pmu_unregister_sleep_notifier(struct pmu_sleep_notifier* n)
-{
-       if (n->list.next == 0)
-               return -ENOENT;
-       list_del(&n->list);
-       n->list.next = NULL;
-       return 0;
-}
-EXPORT_SYMBOL(pmu_unregister_sleep_notifier);
-#endif /* CONFIG_PM_SLEEP */
-
 #if defined(CONFIG_PM_SLEEP) && defined(CONFIG_PPC32)
-
-/* Sleep is broadcast last-to-first */
-static void broadcast_sleep(int when)
-{
-       struct list_head *list;
-       struct pmu_sleep_notifier *notifier;
-
-       for (list = sleep_notifiers.prev; list != &sleep_notifiers;
-            list = list->prev) {
-               notifier = list_entry(list, struct pmu_sleep_notifier, list);
-               notifier->notifier_call(notifier, when);
-       }
-}
-
-/* Wake is broadcast first-to-last */
-static void broadcast_wake(void)
-{
-       struct list_head *list;
-       struct pmu_sleep_notifier *notifier;
-
-       for (list = sleep_notifiers.next; list != &sleep_notifiers;
-            list = list->next) {
-               notifier = list_entry(list, struct pmu_sleep_notifier, list);
-               notifier->notifier_call(notifier, PBOOK_WAKE);
-       }
-}
-
 /*
  * This struct is used to store config register values for
  * PCI devices which may get powered off when we sleep.
@@ -1962,9 +1901,6 @@ pmac_suspend_devices(void)
 
        pm_prepare_console();
        
-       /* Notify old-style device drivers */
-       broadcast_sleep(PBOOK_SLEEP_REQUEST);
-
        /* Sync the disks. */
        /* XXX It would be nice to have some way to ensure that
         * nobody is dirtying any new buffers while we wait. That
@@ -1973,12 +1909,9 @@ pmac_suspend_devices(void)
         */
        sys_sync();
 
-       broadcast_sleep(PBOOK_SLEEP_NOW);
-
        /* Send suspend call to devices, hold the device core's dpm_sem */
        ret = device_suspend(PMSG_SUSPEND);
        if (ret) {
-               broadcast_wake();
                printk(KERN_ERR "Driver sleep failed\n");
                return -EBUSY;
        }
@@ -2019,7 +1952,6 @@ pmac_suspend_devices(void)
                local_irq_enable();
                preempt_enable();
                device_resume();
-               broadcast_wake();
                printk(KERN_ERR "Driver powerdown failed\n");
                return -EBUSY;
        }
@@ -2073,9 +2005,6 @@ pmac_wakeup_devices(void)
        /* Resume devices */
        device_resume();
 
-       /* Notify old style drivers */
-       broadcast_wake();
-
        pm_restore_console();
 
        return 0;
index b7824c2..177ae48 100644 (file)
@@ -159,42 +159,6 @@ extern void pmu_unlock(void);
 extern int pmu_present(void);
 extern int pmu_get_model(void);
 
-#ifdef CONFIG_PM
-/*
- * Stuff for putting the powerbook to sleep and waking it again.
- *
- */
-#include <linux/list.h>
-
-struct pmu_sleep_notifier
-{
-       void (*notifier_call)(struct pmu_sleep_notifier *self, int when);
-       int priority;
-       struct list_head list;
-};
-
-/* Code values for calling sleep/wakeup handlers
- */
-#define PBOOK_SLEEP_REQUEST    1
-#define PBOOK_SLEEP_NOW                2
-#define PBOOK_WAKE             3
-
-/* priority levels in notifiers */
-#define SLEEP_LEVEL_VIDEO      100     /* Video driver (first wake) */
-#define SLEEP_LEVEL_MEDIABAY   90      /* Media bay driver */
-#define SLEEP_LEVEL_BLOCK      80      /* IDE, SCSI */
-#define SLEEP_LEVEL_NET                70      /* bmac, gmac */
-#define SLEEP_LEVEL_MISC       60      /* Anything else */
-#define SLEEP_LEVEL_USERLAND   55      /* Reserved for apm_emu */
-#define SLEEP_LEVEL_ADB                50      /* ADB (async) */
-#define SLEEP_LEVEL_SOUND      40      /* Sound driver (blocking) */
-
-/* special register notifier functions */
-int pmu_register_sleep_notifier(struct pmu_sleep_notifier* notifier);
-int pmu_unregister_sleep_notifier(struct pmu_sleep_notifier* notifier);
-
-#endif /* CONFIG_PM */
-
 #define PMU_MAX_BATTERIES      2
 
 /* values for pmu_power_flags */