+ vt-binding-update-documentation.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     VT binding: Update documentation

has been added to the -mm tree.  Its filename is

     vt-binding-update-documentation.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: VT binding: Update documentation
From: "Antonino A. Daplas" <adaplas@xxxxxxxxx>


Update Documentation/fb/fbcon.txt and Documentatin/console/console.txt to
reflect the following changes:

1. sysfs attributes are relocated to /sys/class/vtconsole

2. feature is selectable in Kconfig

3. add sample scripts to fbcon.txt

Signed-off-by: Antonino Daplas <adaplas@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 Documentation/console/console.txt |   83 ++++++++++++++++------------
 Documentation/fb/fbcon.txt        |   67 ++++++++++++++++++++--
 2 files changed, 111 insertions(+), 39 deletions(-)

diff -puN Documentation/console/console.txt~vt-binding-update-documentation Documentation/console/console.txt
--- a/Documentation/console/console.txt~vt-binding-update-documentation
+++ a/Documentation/console/console.txt
@@ -27,45 +27,62 @@ In newer kernels, the following are also
 	 register_con_driver()
 	 unregister_con_driver()
 
-If sysfs is enabled, the contents of /sys/class/tty/console/backend can be
-examined. This shows the console drivers currently registered by the system. On
-an x86 system with the framebuffer console enabled, the contents of this
-attribute may be like this:
-
-cat /sys/class/tty/console/backend
-0 S: VGA+
-1 B: frame buffer device
-
-The first line shows the VGA console driver, while the second line shows
-the framebuffer console driver.
-
-The leftmost numeric character is the driver ID.  The middle character with
-the colon describes the status of the driver.
-
-    S: - system driver (binding unspecified)
-    B: - bound modular driver
-    U: - unbound modular driver
-
-The last column is the description of the driver.
-
-Under /sys/class/tty/console are two other attributes, 'bind' and
-'unbind'. What does these 2 attributes do? As their name implies, echo'ing the
-driver ID to 'bind' will bind an unbound modular driver, and to 'unbind' will
-unbind a bound modular driver. Echo'ing the ID of a system driver to either
-attribute will do nothing.
-
-Thus:
-
-echo 1 > /sys/class/tty/console/unbind
-cat /sys/class/tty/console/backend
-0 S: VGA+
-1 U: frame buffer device
+If sysfs is enabled, the contents of /sys/class/vtconsole can be
+examined. This shows the console backends currently registered by the
+system which are named vtcon<n> where <n> is an integer fro 0 to 15. Thus:
+
+       ls /sys/class/vtconsole
+       .  ..  vtcon0  vtcon1
+
+Each directory in /sys/class/vtconsole has 3 files:
+
+     ls /sys/class/vtconsole/vtcon0
+     .  ..  bind  name  uevent
+
+What do these files signify?
+
+     1. bind - this is a read/write file. It shows the status of the driver if
+        read, or acts to bind or unbind the driver to the virtual consoles
+        when written to. The possible values are:
+
+	0 - means the driver is not bound and if echo'ed, commands the driver
+	    to unbind
+
+        1 - means the driver is bound and if echo'ed, commands the driver to
+	    bind
+
+     2. name - read-only file. Shows the name of the driver in this format:
+
+	cat /sys/class/vtconsole/vtcon0/name
+	(S) VGA+
+
+	    '(S)' stands for a (S)ystem driver, ie, it cannot be directly
+	    commanded to bind or unbind
+
+	    'VGA+' is the name of the driver
+
+	cat /sys/class/vtconsole/vtcon1/name
+	(M) frame buffer device
+
+	    In this case, '(M)' stands for a (M)odular driver, one that can be
+	    directly commanded to bind or unbind.
+
+     3. uevent - ignore this file
 
 When unbinding, the modular driver is detached first, and then the system
 driver takes over the consoles vacated by the driver. Binding, on the other
 hand, will bind the driver to the consoles that are currently occupied by a
 system driver.
 
+NOTE1: Binding and binding must be selected in Kconfig. It's under:
+
+Device Drivers -> Character devices -> Support for binding and unbinding
+console drivers
+
+NOTE2: If any of the virtual consoles are in KD_GRAPHICS mode, then binding or
+unbinding will not succeed. An example of an application that sets the console
+to KD_GRAPHICS is X.
+
 How useful is this feature? This is very useful for console driver
 developers. By unbinding the driver from the console layer, one can unload the
 driver, make changes, recompile, reload and rebind the driver without any need
diff -puN Documentation/fb/fbcon.txt~vt-binding-update-documentation Documentation/fb/fbcon.txt
--- a/Documentation/fb/fbcon.txt~vt-binding-update-documentation
+++ a/Documentation/fb/fbcon.txt
@@ -180,10 +180,13 @@ fbcon.
 So, how do we unbind fbcon from the console? Part of the answer is in
 Documentation/console/console.txt. To summarize:
 
-Echo the ID number of the 'frame buffer driver' to:
+Echo a value to the bind file that represents the framebuffer console
+driver. So assuming vtcon1 represents fbcon, then:
 
-sys/class/tty/console/bind - attach framebuffer console to console layer
-sys/class/tty/console/unbind - detach framebuffer console from console layer
+echo 1 > sys/class/vtconsole/vtcon1/bind - attach framebuffer console to
+                                           console layer
+echo 0 > sys/class/vtconsole/vtcon1/bind - detach framebuffer console from
+                                           console layer
 
 If fbcon is detached from the console layer, your boot console driver (which is
 usually VGA text mode) will take over.  A few drivers (rivafb and i810fb) will
@@ -211,19 +214,21 @@ restored properly. The following is one 
 
 5. Now to detach fbcon:
 
+	Assuming vtcon1 represents fbcon, then:
+
        'cat /sys/class/tty/console/backend' and take note of the ID
 
 The above is probably needed only once. Then:
 
        vbetool vbestate restore < <vga state file> && \
-       echo <ID> > /sys/class/tty/console/unbind
+       echo 0 > /sys/class/vtconsole/vtcon1/bind
 
 6. That's it, you're back to VGA mode. And if you compiled fbcon as a module,
    you can unload it by 'rmmod fbcon'
 
 7. To reattach fbcon:
 
-       echo <ID> > /sys/class/tty/console/bind
+       echo 1 > /sys/class/vtconsole/vtcon1/bind
 
 8. Once fbcon is unbound, all drivers registered to the system will also
 become unbound.  This means that fbcon and individual framebuffer drivers
@@ -254,6 +259,8 @@ Variation 1:
     c. Attach fbcon
 
         vbetool vbestate restore < <vesa state file> && \
+	echo 1 > /sys/class/vtconsole/vtcon1/bind
+
 Variation 2:
 
     a. Before detaching fbcon, do:
@@ -269,7 +276,55 @@ Variation 2:
     c. Attach fbcon:
 
        vbetool vbemode set <mode number> && \
-	echo <ID> > /sys/class/tty/console/bind
+       echo 1 > /sys/class/vtconsole/vtcon1/bind
+
+Samples:
+========
+
+Here are 2 sample bash scripts that you can use to bind or unbind the
+framebuffer console driver if you are in an X86 box:
+
+---------------------------------------------------------------------------
+#!/bin/bash
+# Unbind fbcon
+
+# Change this to where your actual vgastate file is located
+# Or Use VGASTATE=$1 to indicate the state file at runtime
+VGASTATE=/tmp/vgastate
+
+# path to vbetool
+VBETOOL=/usr/local/bin
+
+
+for (( i = 0; i < 16; i++))
+do
+  if test -x /sys/class/vtconsole/vtcon$i; then
+      if [ `cat /sys/class/vtconsole/vtcon$i/name | grep -c "frame buffer"` \
+           = 1 ]; then
+	    if text -x $VBETOOL/vbetool; then
+	       echo Unbinding vtcon$i
+	       $VBETOOL/vbetool vbestate restore < $VGASTATE
+	       echo 0 > /sys/class/vtconsole/vtcon$i/bind
+	    fi
+      fi
+  fi
+done
+
+---------------------------------------------------------------------------
+#!/bin/bash
+# Bind fbcon
+
+for (( i = 0; i < 16; i++))
+do
+  if test -x /sys/class/vtconsole/vtcon$i; then
+      if [ `cat /sys/class/vtconsole/vtcon$i/name | grep -c "frame buffer"` \
+           = 1 ]; then
+	  echo Unbinding vtcon$i
+	  echo 1 > /sys/class/vtconsole/vtcon$i/bind
+      fi
+  fi
+done
+---------------------------------------------------------------------------
 
 --
 Antonino Daplas <adaplas@xxxxxxx>
_

Patches currently in -mm which might be from adaplas@xxxxxxxxx are

git-intelfb.patch
savagefb-allocate-space-for-current-and-saved-register.patch
savagefb-add-state-save-and_restore-hooks.patch
savagefb-add-state-save-and_restore-hooks-fix.patch
fbdev-more-accurate-sync-range-extrapolation.patch
nvidiafb-revise-pci_device_id-table.patch
atyfb-fix-hardware-cursor-handling.patch
atyfb-remove-unneeded-calls-to-wait_for_idle.patch
atyfb-set-correct-acceleration-flags.patch
epson1355fb-update-platform-code.patch
vesafb-update-platform-code.patch
vfb-update-platform-code.patch
vga16fb-update-platform-code.patch
fbdev-static-pseudocolor-with-depth-less-than-4-does.patch
savagefb-whitespace-cleanup.patch
fbdev-firmware-edid-fixes.patch
nvidiafb-add-support-for-geforce-6100-and-related-chipsets.patch
vesafb-fix-return-code-of-vesafb_setcolreg.patch
vesafb-prefer-vga-registers-over-pmi.patch
atyfb-fix-dead-code.patch
fbdev-coverity-bug-85.patch
fbdev-coverity-bug-90.patch
backlight-fix-kconfig-dependency.patch
detaching-fbcon-fix-vgacon-to-allow-retaking-of-the.patch
detaching-fbcon-fix-give_up_console.patch
detaching-fbcon-remove-calls-to-pci_disable_device.patch
detaching-fbcon-add-sysfs-class-device-entry-for-fbcon.patch
detaching-fbcon-clean-up-exit-code.patch
detaching-fbcon-add-capability-to-attach-detach-fbcon.patch
detaching-fbcon-update-documentation.patch
vt-binding-add-binding-unbinding-support-for-the-vt.patch
vt-binding-update-fbcon-to-support-binding.patch
vt-binding-fbcon-update-documentation.patch
vt-binding-add-new-doc-file-describing-the-feature.patch
vt-binding-add-sysfs-control-to-the-vt-layer.patch
vt-binding-make-vt-binding-a-kconfig-option.patch
vt-binding-do-not-create-a-device-file-for-class-device.patch
vt-binding-update-documentation.patch
vt-binding-make-mdacon-support-binding.patch
vt-binding-make-newport_con-support-binding.patch
vt-binding-make-promcon-support-binding.patch
vt-binding-make-sticon-support-binding.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux