Re: -mm: PM=y, VT=n doesn't compile

From: Rafael J. Wysocki
Date: Sat Mar 18 2006 - 14:35:10 EST


On Saturday 18 March 2006 02:50, Andrew Morton wrote:
> Adrian Bunk <bunk@xxxxxxxxx> wrote:
> >
> > swsusp-pm-refuse-to-suspend-devices-if-wrong-console-is-active.patch
> > causes the following compile error with CONFIG_PM=y, CONFIG_VT=n:
> >
> > <-- snip -->
> >
> > ...
> > LD .tmp_vmlinux1
> > drivers/built-in.o: In function `device_suspend': undefined reference to `fg_console'
> > drivers/built-in.o: In function `device_suspend': undefined reference to `vc_cons'
> > make: *** [.tmp_vmlinux1] Error 1
>
> Right, thanks. I'll drop that patch.
>
> Guys, please don't go poking around in the vt subsystems's internal data
> structures from within power management code.
>
> Write a nice little helper function, put that in vt.c, give it a static
> inline `return 0' stub in the header file, then call that.

OK, I will, but the changes in kernel/power/user.c in that patch are necessary
for the userland suspend we're working on right now.

Could you please accept the following patch instead of that one?

---
From: "Rafael J. Wysocki" <rjw@xxxxxxx>

Remove the console-switching code from the suspend part of the swsusp
userland interface and let the userland tools switch the console.

Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
---
kernel/power/user.c | 3 ---
1 files changed, 3 deletions(-)

Index: linux-2.6.16-rc6-mm2/kernel/power/user.c
===================================================================
--- linux-2.6.16-rc6-mm2.orig/kernel/power/user.c
+++ linux-2.6.16-rc6-mm2/kernel/power/user.c
@@ -138,12 +138,10 @@ static int snapshot_ioctl(struct inode *
if (data->frozen)
break;
down(&pm_sem);
- pm_prepare_console();
disable_nonboot_cpus();
if (freeze_processes()) {
thaw_processes();
enable_nonboot_cpus();
- pm_restore_console();
error = -EBUSY;
}
up(&pm_sem);
@@ -157,7 +155,6 @@ static int snapshot_ioctl(struct inode *
down(&pm_sem);
thaw_processes();
enable_nonboot_cpus();
- pm_restore_console();
up(&pm_sem);
data->frozen = 0;
break;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/