From: Pavel Machek This kills unused macro and write-only variable, and adds messages where something goes wrong with suspending devices. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton --- 25-akpm/include/linux/suspend.h | 2 -- 25-akpm/kernel/power/main.c | 8 ++++++-- 25-akpm/kernel/power/swsusp.c | 7 +++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff -puN include/linux/suspend.h~swsusp-small-updates include/linux/suspend.h --- 25/include/linux/suspend.h~swsusp-small-updates 2005-03-20 16:56:30.000000000 -0800 +++ 25-akpm/include/linux/suspend.h 2005-03-20 16:56:30.000000000 -0800 @@ -34,8 +34,6 @@ typedef struct pbe { #define SWAP_FILENAME_MAXLENGTH 32 -#define SUSPEND_PD_PAGES(x) (((x)*sizeof(struct pbe))/PAGE_SIZE+1) - extern dev_t swsusp_resume_device; /* mm/vmscan.c */ diff -puN kernel/power/main.c~swsusp-small-updates kernel/power/main.c --- 25/kernel/power/main.c~swsusp-small-updates 2005-03-20 16:56:30.000000000 -0800 +++ 25-akpm/kernel/power/main.c 2005-03-20 16:56:30.000000000 -0800 @@ -79,8 +79,10 @@ static int suspend_prepare(suspend_state goto Thaw; } - if ((error = device_suspend(PMSG_SUSPEND))) + if ((error = device_suspend(PMSG_SUSPEND))) { + printk(KERN_ERR "Some devices failed to suspend\n"); goto Finish; + } return 0; Finish: if (pm_ops->finish) @@ -99,8 +101,10 @@ static int suspend_enter(suspend_state_t local_irq_save(flags); - if ((error = device_power_down(PMSG_SUSPEND))) + if ((error = device_power_down(PMSG_SUSPEND))) { + printk(KERN_ERR "Some devices failed to power down\n"); goto Done; + } error = pm_ops->enter(state); device_power_up(); Done: diff -puN kernel/power/swsusp.c~swsusp-small-updates kernel/power/swsusp.c --- 25/kernel/power/swsusp.c~swsusp-small-updates 2005-03-20 16:56:30.000000000 -0800 +++ 25-akpm/kernel/power/swsusp.c 2005-03-20 16:56:30.000000000 -0800 @@ -98,7 +98,6 @@ unsigned int nr_copy_pages __nosavedata */ suspend_pagedir_t *pagedir_nosave __nosavedata = NULL; static suspend_pagedir_t *pagedir_save; -static int pagedir_order __nosavedata = 0; #define SWSUSP_SIG "S1SUSPEND" @@ -920,7 +919,8 @@ int swsusp_resume(void) { int error; local_irq_disable(); - device_power_down(PMSG_FREEZE); + if (device_power_down(PMSG_FREEZE)) + printk(KERN_ERR "Some devices failed to power down, very bad\n"); /* We'll ignore saved state, but this gets preempt count (etc) right */ save_processor_state(); error = swsusp_arch_resume(); @@ -1219,7 +1219,6 @@ static int check_header(void) return -EPERM; } nr_copy_pages = swsusp_info.image_pages; - pagedir_order = get_bitmask_order(SUSPEND_PD_PAGES(nr_copy_pages)); return error; } @@ -1238,7 +1237,7 @@ static int check_sig(void) */ error = bio_write_page(0, &swsusp_header); } else { - pr_debug(KERN_ERR "swsusp: Suspend partition has wrong signature?\n"); + printk(KERN_ERR "swsusp: Suspend partition has wrong signature?\n"); return -EINVAL; } if (!error) _