<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/video/console/fbcon.c, branch linux-2.6.24.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.24.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.24.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2007-10-16T16:43:23Z</updated>
<entry>
<title>fbcon: delay the start of the cursor timer until a con_switch()</title>
<updated>2007-10-16T16:43:23Z</updated>
<author>
<name>Antonino Daplas</name>
</author>
<published>2007-10-16T08:29:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4d8a2d986d3ee3ece9c3cefbb23425a22132492c'/>
<id>urn:sha1:4d8a2d986d3ee3ece9c3cefbb23425a22132492c</id>
<content type='text'>
As reported in Bugzilla Bug 9093, upon switching to X, a small rectangular
cursor can still be seen blinking in the upper left part of the screen.  It is
fbcon's text cursor.  This is caused by a strange ioctl(..., KDSETMODE,
KD_TEXT) call done by something in userspace, perhaps by X itself, while the
tty is still in graphics mode.  And when the tty is in KD_TEXT mode, the
cursor timer is restarted.

Although this is a userspace problem, we can work around it by delaying the
restart of the cursor timer until an fbcon_switch() is called.  In other
words, the cursor timer will not be restarted even if a KD_TEXT mode switch is
requested.

Regression potential: Present but low

Signed-off-by: Antonino Daplas &lt;adaplas@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>vt/vgacon: Check if screen resize request comes from userspace</title>
<updated>2007-10-16T16:43:20Z</updated>
<author>
<name>Antonino A. Daplas</name>
</author>
<published>2007-10-16T08:29:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e400b6ec4ede4dc0aa8e5640425df5b29796fe0e'/>
<id>urn:sha1:e400b6ec4ede4dc0aa8e5640425df5b29796fe0e</id>
<content type='text'>
Various console drivers are able to resize the screen via the con_resize()
hook.  This hook is also visible in userspace via the TIOCWINSZ, VT_RESIZE and
VT_RESIZEX ioctl's.  One particular utility, SVGATextMode, expects that
con_resize() of the VGA console will always return success even if the
resulting screen is not compatible with the hardware.  However, this
particular behavior of the VGA console, as reported in Kernel Bugzilla Bug
7513, can cause undefined behavior if the user starts with a console size
larger than 80x25.

To work around this problem, add an extra parameter to con_resize().  This
parameter is ignored by drivers except for vgacon.  If this parameter is
non-zero, then the resize request came from a VT_RESIZE or VT_RESIZEX ioctl
and vgacon will always return success.  If this parameter is zero, vgacon will
return -EINVAL if the requested size is not compatible with the hardware.  The
latter is the more correct behavior.

With this change, SVGATextMode should still work correctly while in-kernel and
stty resize calls can expect correct behavior from vgacon.

Signed-off-by: Antonino Daplas &lt;adaplas@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fbdev: change asm/uaccess.h to linux/uaccess.h</title>
<updated>2007-10-16T16:43:17Z</updated>
<author>
<name>Krzysztof Helt</name>
</author>
<published>2007-10-16T08:29:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=84902b7af642c86a518c17629c0dbe705a4b6d14'/>
<id>urn:sha1:84902b7af642c86a518c17629c0dbe705a4b6d14</id>
<content type='text'>
This patch replaces &lt;asm/uaccess.h&gt; with &lt;linux/uaccess.h&gt; after the
checkpatch.pl hint.  The include of &lt;asm/uaccess.h&gt; is removed if the driver
does not use it.

Signed-off-by: Krzysztof Helt &lt;krzysztof.h1@wp.pl&gt;
Signed-off-by: Antonino Daplas &lt;adaplas@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fbcon: Kill compile warning</title>
<updated>2007-08-11T22:47:40Z</updated>
<author>
<name>Antonino A. Daplas</name>
</author>
<published>2007-08-10T20:00:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4769a9a53b39f3b6a7e4d0b3c5e6b9598560818d'/>
<id>urn:sha1:4769a9a53b39f3b6a7e4d0b3c5e6b9598560818d</id>
<content type='text'>
Fix compile warning ('map_override unused') if fbcon is compiled as a module
and CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=n.

[akpm@linux-foundation.org: cleanup]
Signed-off-by: Antonino Daplas &lt;adaplas@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fbdev: fbcon: console unregistration from unregister_framebuffer</title>
<updated>2007-07-17T17:23:11Z</updated>
<author>
<name>Jesse Barnes</name>
</author>
<published>2007-07-17T11:05:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cfafca8067c6defbaeb28cb898b7b3f8abdfe20d'/>
<id>urn:sha1:cfafca8067c6defbaeb28cb898b7b3f8abdfe20d</id>
<content type='text'>
This allows for proper console unregistration via the VT layer, and updates
the FB layer to use it.  This makes debugging new console drivers much easier,
since you can properly clean them up before unloading.

[adaplas]
unregister_framebuffer() is typically called as part of the driver's
module_exit(). Doing so otherwise will freeze the machine as the VT layer is
holding reference counts on fbcon, and fbcon on the driver.  With this change,
it allows unregister_framebuffer() to be called safely anywhere as needed.

Additions from the original:  If multiple drivers are used by fbcon, and if
one of them unregisters, a driver will take over the consoles vacated by the
outgoing one (via set_con2fb_map).   Once only the outgoing driver remains,
then fbcon will unbind from the VT layer (if CONFIG_HW_CONSOLE_UNBINDING is
set to y).

It is important that these drivers implement fb_open() and fb_release()
just to ensure that no other process is using the driver. Likewise, these
drivers _must_ check the return value of unregister_framebuffer().

[akpm@linux-foundation.org: make fbcon_unbind() stub inline]
Signed-off-by: Jesse Barnes &lt;jesse.barnes@intel.com&gt;
Signed-off-by: Antonino Daplas &lt;adaplas@gmail.com&gt;
Cc: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fbcon: Revise primary device selection</title>
<updated>2007-07-17T17:23:11Z</updated>
<author>
<name>Antonino A. Daplas</name>
</author>
<published>2007-07-17T11:05:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=afd1db1632c3f8f95cbc2786bfa122cead79db58'/>
<id>urn:sha1:afd1db1632c3f8f95cbc2786bfa122cead79db58</id>
<content type='text'>
Use set_con2fb_map() to select the primary display driver instead of using
unbind_con_driver() and bind_con_driver().  Using the former is much simpler
and safer than the current one.

Signed-off-by: Antonino Daplas &lt;adaplas@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fbcon: set_con2fb_map fixes</title>
<updated>2007-07-17T17:23:11Z</updated>
<author>
<name>Antonino A. Daplas</name>
</author>
<published>2007-07-17T11:05:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d1baa4ffa677bf6986c460fcfd4cdaf8bfe66f0e'/>
<id>urn:sha1:d1baa4ffa677bf6986c460fcfd4cdaf8bfe66f0e</id>
<content type='text'>
set_con2fb_map() has regressed for some time.  Using fbcon=map:01, for
example, works only if there is only 1 working framebuffer. Trying to do a
set_con2fb_map() on a non-allocated vc will freeze the system.

- ensure that succeeding drivers after the first gets mapped to the console
- remove fbcon_preset_display() and modify fbcon_set_display() to include the
  former's functionality
- ensure that binding and unbinding succeeds if multiple drivers are mapped to
  the console

Signed-off-by: Antonino Daplas &lt;adaplas@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fbcon: allow fbcon to use the primary display driver</title>
<updated>2007-07-17T17:23:11Z</updated>
<author>
<name>Antonino A. Daplas</name>
</author>
<published>2007-07-17T11:05:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=623e71b035cb5271028500720b3622ba76db42bb'/>
<id>urn:sha1:623e71b035cb5271028500720b3622ba76db42bb</id>
<content type='text'>
Allow fbcon to select the primary display adapter using the
fb_is_primary_device() arch-specific helper.  If a a primary adapter is
detected, fbcon will unbind the old adapter from the VT layer, then rebind
using the new adapter.  This requires that bind_/unbind_con_driver() be made
public.

Because this feature may produce unexpected behavior (from the user's POV),
this must be explicitly enabled in Kconfig.

[akpm@linux-foundation.org: export unbind_con_driver]
Signed-off-by: Antonino Daplas &lt;adaplas@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fbcon: use struct device instead of struct class_device</title>
<updated>2007-07-17T17:23:11Z</updated>
<author>
<name>Antonino A. Daplas</name>
</author>
<published>2007-07-17T11:05:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0c6c1ce079082ddde9ba5636c352c235cd395aa1'/>
<id>urn:sha1:0c6c1ce079082ddde9ba5636c352c235cd395aa1</id>
<content type='text'>
Port fbcon.c to use struct device from using struct class_device

Signed-off-by: Antonino Daplas &lt;adaplas@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fbcon: cursor blink control</title>
<updated>2007-07-17T17:23:11Z</updated>
<author>
<name>Antonino A. Daplas</name>
</author>
<published>2007-07-17T11:05:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=acba9cd01974353294ecd0c750581a6707d1ebe1'/>
<id>urn:sha1:acba9cd01974353294ecd0c750581a6707d1ebe1</id>
<content type='text'>
Add sysfs attribute to enable or disable cursor blinking.  This will also
disable cursor blinking if the VT layer's softcursor is active.  These changes
are required to enable some machines to enter low-power states properly.

Signed-off-by: Antonino Daplas &lt;adaplas@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
