OK, here is the console patch ;)
It introduces a new kernel config option which should then NOT be set in
order to avoid VT switch upon suspend.
The defconfig-gta01 in the source tarball seems to be a little outdated
and that's why I cannot really give a good new defconfig.

Feel free to push that patch upstream (or tell me where best to push
it). This patch is against

git_git.openmoko.org.git.kernel.git_fb42ce6724576fc173faf8abfb04aa2c36d213b7.tar.gz

(which is the 2.6.24 shipped with MS5.1).

Cheers
  nils

Michael 'Mickey' Lauer schrieb:
> Am Dienstag, den 03.03.2009, 00:53 +0100 schrieb Nils Faerber:
>> Michael 'Mickey' Lauer schrieb:
>>> Am Dienstag, den 03.03.2009, 00:36 +0100 schrieb Nils Faerber:
>>>>> I agree and I'd love to see that as well. It's a ... drum-roll... kernel
>>>>> thing :) At some time in kernel 2.5 the console suspend/resume code
>>>>> gained the infamous property to change to a dedicated VT where the
>>>>> suspend/resume progress gets output. Garmin once released sources for
>>>>> one of their Linux-based PMN devices where they patches this away --
>>>>> perhaps you find this or can patch it out on your own. We'd be
>>>>> interested.
>>>> OK, I can confirm now that the VT switch disappears with the kernel
>>>> config change I posted earlier.
>>>> Though of course this also eliminates the kernel startup messages on the
>>>> screen. But well, they are flying by that fast that I doubt anyone is
>>>> really able to read them. Suspend/resume is much faster now.
>>> That sounds pretty cool, although it means we also have to give up on
>>> the VT consoles at all, which is not quite what I had in mind.
>>>
>>> Can't we just have the VT consoles without the switching on
>>> suspend/resume?
>> The VT terminals are still there, just not the console.
> 
> Sure, but I really mean the console. I have systems with hardware
> keyboards where the VT console with a login prompt comes in handy.
> 
>> Of course we could also introduce a new kernel config option for just
>> disabling the console suspend but that would mean a real kernel patch.
> 
> Don't be shy ;)
> 
>> As you like, I can surely also create such a new kernel config option -
>> should be pretty easy but brings the kernel a bit more away from mainline.
> 
> I don't think that's a problem. First, I think it's a patch that would
> be welcome upstream, since all Linux-based polished devices have to
> worry about that. Second, have a look how many custom patches we carry
> in andy-tracking... one more won't hurt ;)
> 
>> BTW: Could you briefly explain the battery class problem? Probably I can
>> fix that too...
> 
> mwester did a power class supply driver for the GTA01's dumb batteries
> once -- I'm not sure whether this needs adjusting for 2.6.28. 
> 
> To make it more complicated, GTA02 can work with both the new ones (for
> which we have a power class supply driver), but also with the old ones.
> Since GTA02 has a different PMU, we need a completely different driver
> for GTA01's dumb batteries in GTA02.
> 
> I don't know whether mike is still interested in working on that.
> 


-- 
kernel concepts GbR      Tel: +49-271-771091-12
Sieghuetter Hauptweg 48  Fax: +49-271-771091-19
D-57072 Siegen           Mob: +49-176-21024535
--
--- git/kernel/power/Kconfig-o  2009-03-03 01:34:28.000000000 +0100
+++ git/kernel/power/Kconfig    2009-03-03 01:34:10.000000000 +0100
@@ -61,6 +61,17 @@
        CAUTION: this option will cause your machine's real-time clock to be
        set to an invalid time after a resume.
 
+config PM_SUSPEND_CONSOLE
+       bool "Switch to a virtual console upon suspend"
+       default y
+       ---help---
+       If console on virtual terminal support is available then the kernel
+       will switch to a free virtual terminal upon suspend and return to
+       the current virtual terminal after resume.
+       This might make some suspend debug or error output visible to the
+       user but might incur the additional delay of VT switch and probably
+       also switch away from a running GUI on the framebuffer etc.
+
 config PM_SLEEP_SMP
        bool
        depends on SUSPEND_SMP_POSSIBLE || HIBERNATION_SMP_POSSIBLE
--- git/kernel/power/console.c-o        2009-03-03 01:34:47.000000000 +0100
+++ git/kernel/power/console.c  2009-03-03 01:26:55.000000000 +0100
@@ -20,12 +20,17 @@
 
        orig_fgconsole = fg_console;
 
+#if defined(CONFIG_PM_SUSPEND_CONSOLE)
        if (vc_allocate(SUSPEND_CONSOLE)) {
          /* we can't have a free VC for now. Too bad,
           * we don't want to mess the screen for now. */
                release_console_sem();
                return 1;
        }
+#else
+       release_console_sem();
+       return 1;
+#endif
 
        if (set_console(SUSPEND_CONSOLE)) {
                /*
_______________________________________________
Smartphones-userland mailing list
Smartphones-userland@linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/smartphones-userland

Reply via email to