1. 18 Oct, 2007 1 commit
    • Andres Salomon's avatar
      serial: turn serial console suspend a boot rather than compile time option · 8f4ce8c3
      Andres Salomon authored
      Currently, there's a CONFIG_DISABLE_CONSOLE_SUSPEND that allows one to stop
      the serial console from being suspended when the rest of the machine goes
      to sleep.  This is incredibly useful for debugging power management-related
      things; however, having it as a compile-time option has proved to be
      incredibly inconvenient for us (OLPC).  There are plenty of times that we
      want serial console to not suspend, but for the most part we'd like serial
      console to be suspended.
      
      This drops CONFIG_DISABLE_CONSOLE_SUSPEND, and replaces it with a kernel
      boot parameter (no_console_suspend).  By default, the serial console will
      be suspended along with the rest of the system; by passing
      'no_console_suspend' to the kernel during boot, serial console will remain
      alive during suspend.
      
      For now, this is pretty serial console specific; further fixes could be
      applied to make this work for things like netconsole.
      Signed-off-by: default avatarAndres Salomon <dilinger@debian.org>
      Acked-by: default avatar"Rafael J. Wysocki" <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Cc: Nigel Cunningham <nigel@suspend2.net>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8f4ce8c3
  2. 16 Oct, 2007 1 commit
    • Antonino A. Daplas's avatar
      vt/vgacon: Check if screen resize request comes from userspace · e400b6ec
      Antonino A. Daplas authored
      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: default avatarAntonino Daplas <adaplas@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e400b6ec
  3. 16 Jul, 2007 2 commits
    • Robert P. J. Day's avatar
      Remove unnecessary includes of spinlock.h under include/linux · 0a3021f4
      Robert P. J. Day authored
      Remove the obviously unnecessary includes of <linux/spinlock.h> under the
      include/linux/ directory, and fix the couple errors that are introduced as
      a result of that.
      Signed-off-by: default avatarRobert P. J. Day <rpjday@mindspring.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0a3021f4
    • Yinghai Lu's avatar
      serial: convert early_uart to earlycon for 8250 · 18a8bd94
      Yinghai Lu authored
      Beacuse SERIAL_PORT_DFNS is removed from include/asm-i386/serial.h and
      include/asm-x86_64/serial.h.  the serial8250_ports need to be probed late in
      serial initializing stage.  the console_init=>serial8250_console_init=>
      register_console=>serial8250_console_setup will return -ENDEV, and console
      ttyS0 can not be enabled at that time.  need to wait till uart_add_one_port in
      drivers/serial/serial_core.c to call register_console to get console ttyS0.
      that is too late.
      
      Make early_uart to use early_param, so uart console can be used earlier.  Make
      it to be bootconsole with CON_BOOT flag, so can use console handover feature.
      and it will switch to corresponding normal serial console automatically.
      
      new command line will be:
      	console=uart8250,io,0x3f8,9600n8
      	console=uart8250,mmio,0xff5e0000,115200n8
      or
      	earlycon=uart8250,io,0x3f8,9600n8
      	earlycon=uart8250,mmio,0xff5e0000,115200n8
      
      it will print in very early stage:
      	Early serial console at I/O port 0x3f8 (options '9600n8')
      	console [uart0] enabled
      later for console it will print:
      	console handover: boot [uart0] -> real [ttyS0]
      
      Signed-off-by: <yinghai.lu@sun.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Gerd Hoffmann <kraxel@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      18a8bd94
  4. 08 May, 2007 2 commits
  5. 11 Feb, 2007 1 commit
  6. 03 Oct, 2006 1 commit
  7. 26 Sep, 2006 1 commit
  8. 26 Jun, 2006 1 commit
    • Antonino A. Daplas's avatar
      [PATCH] VT binding: Add binding/unbinding support for the VT console · 3e795de7
      Antonino A. Daplas authored
      The framebuffer console is now able to dynamically bind and unbind from the VT
      console layer.  Due to the way the VT console layer works, the drivers
      themselves decide when to bind or unbind.  However, it was decided that
      binding must be controlled, not by the drivers themselves, but by the VT
      console layer.  With this, dynamic binding is possible for all VT console
      drivers, not just fbcon.
      
      Thus, the VT console layer will impose the following to all VT console
      drivers:
      
      - all registered VT console drivers will be entered in a private list
      - drivers can register themselves to the VT console layer, but they cannot
        decide when to bind or unbind. (Exception: To maintain backwards
        compatibility, take_over_console() will automatically bind the driver after
        registration.)
      - drivers can remove themselves from the list by unregistering from the VT
        console layer. A prerequisite for unregistration is that the driver must not
        be bound.
      
      The following functions are new in the vt.c:
      
      register_con_driver() - public function, this function adds the VT console
      driver to an internal list maintained by the VT console
      
      bind_con_driver() - private function, it binds the driver to the console
      
      take_over_console() is changed to call register_con_driver() followed by a
      bind_con_driver().  This is the only time drivers can decide when to bind to
      the VT layer.  This is to maintain backwards compatibility.
      
      unbind_con_driver() - private function, it unbinds the driver from its
      console.  The vacated consoles will be taken over by the default boot console
      driver.
      
      unregister_con_driver() - public function, removes the driver from the
      internal list maintained by the VT console.  It will only succeed if the
      driver is currently unbound.
      
      con_is_bound() checks if the driver is currently bound or not
      
      give_up_console() is just a wrapper to unregister_con_driver().
      
      There are also 3 additional functions meant to be called only by the tty layer
      for sysfs control:
      
      	vt_bind() - calls bind_con_driver()
      	vt_unbind() - calls unbind_con_driver()
      	vt_show_drivers() - shows the list of registered drivers
      
      Most VT console drivers will continue to work as is, but might have problems
      when unbinding or binding which should be fixable with minimal changes.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3e795de7
  9. 25 Jun, 2006 1 commit
    • Michael Ellerman's avatar
      [PATCH] Make printk work for really early debugging · 76a8ad29
      Michael Ellerman authored
      Currently printk is no use for early debugging because it refuses to
      actually print anything to the console unless
      cpu_online(smp_processor_id()) is true.
      
      The stated explanation is that console drivers may require per-cpu
      resources, or otherwise barf, because the system is not yet setup
      correctly.  Fair enough.
      
      However some console drivers might be quite happy running early during
      boot, in fact we have one, and so it'd be nice if printk understood that.
      
      So I added a flag (which I would have called CON_BOOT, but that's taken)
      called CON_ANYTIME, which indicates that a console is happy to be called
      anytime, even if the cpu is not yet online.
      
      Tested on a Power 5 machine, with both a CON_ANYTIME driver and a bogus
      console driver that BUG()s if called while offline.  No problems AFAICT.
      Built for i386 UP & SMP.
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      76a8ad29
  10. 19 Jun, 2006 1 commit
  11. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4