1. 18 4月, 2008 1 次提交
  2. 14 2月, 2008 1 次提交
  3. 09 2月, 2008 1 次提交
  4. 30 11月, 2007 1 次提交
  5. 24 10月, 2007 1 次提交
  6. 17 10月, 2007 1 次提交
    • G
      wake up from a serial port · b3b708fa
      Guennadi Liakhovetski 提交于
      Enable wakeup from serial ports, make it run-time configurable over sysfs,
      e.g.,
      
      echo enabled > /sys/devices/platform/serial8250.0/tty/ttyS0/power/wakeup
      
      Requires
      
      # CONFIG_SYSFS_DEPRECATED is not set
      
      Following suggestions from Alan and Russell moved the may_wake_up checks
      to serial_core.c. This time actually tested - it does even work. Could
      someone, please, verify, that put_device after device_find_child is
      correct?
      
      Also would be nice to test with a Natsemi UART, that can wake up the system,
      if such systems exist.
      
      For this you just have to apply the patch below, issue the above "echo"
      command to one of your Natsemi port, suspend and resume your system, and
      verify that your Natsemi port still works.  If you are actually capable of
      waking up the system from that port, would be nice to test that as well.
      Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b3b708fa
  7. 25 7月, 2007 1 次提交
  8. 18 7月, 2007 2 次提交
    • M
      zs: move to the serial subsystem · 8b4a4080
      Maciej W. Rozycki 提交于
      This is a reimplementation of the zs driver for the serial subsystem.  Any
      resemblance to the old driver is purely coincidential.  ;-) I do hope I got
      the handling of modem lines right -- better do not tackle me about the
      issue unless you feel too good...
      
      Any users of the old driver: please note the numbers of the serial lines
      have now been swapped, i.e.  ttyS0 <-> ttyS1 and ttyS2 <-> ttyS3.  It has
      to do with the modem lines mentioned above; basically the port A in a given
      chip has to be initialised before the port B if you want to use the latter
      as the serial console (which is usually the case), as operations on modem
      lines of the serial line associated with the port B access both ports (see
      the comment at the top of the driver for the details of wiring used).
      Please update your scripts.
      
      This is also the reason each SCC now requests an IRQ once only (as seen in
      "/proc/interrupts") -- the handler takes care of both ports at once as the
      line associated with the port B has to take status update interrupts from
      both ports (and yet the line of the port A takes its own for itself too).
      The old driver never got it right...
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8b4a4080
    • M
      sb1250-duart.c: SB1250 DUART serial support · b45d5279
      Maciej W. Rozycki 提交于
      This is a driver for the SB1250 DUART, a dual serial port implementation
      included in the Broadcom family of SOCs descending from the SiByte SB1250
      MIPS64 chip multiprocessor.  It is a new implementation replacing the
      old-fashioned driver currently present in the linux-mips.org tree.  It
      supports all the usual features one would expect from a(n asynchronous)
      serial driver, including modem line control (as far as hardware supports it
      -- there is edge detection logic missing from the DCD and RI lines and the
      driver does not implement polling of these lines at the moment), the serial
      console, BREAK transmission and reception, including the magic SysRq.  The
      receive FIFO threshold is not maintained though.
      
      The driver was tested with a SWARM board which uses a BCM1250 SOC (which is
      dual MIPS64 CMP) and has both ports of the single DUART implemented wired
      externally.  Both were tested.  Testing included using the ports as
      terminal lines at 1200bps (which is the ports minimum), 115200bps and a
      couple of random speeds inbetween.  The modem lines were verified to
      operate correctly.  No testing was performed with a use as a network
      interface, like with SLIP or PPP.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Acked-by: NRalf Baechle <ralf@linux-mips.org>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b45d5279
  9. 01 6月, 2007 1 次提交
  10. 12 5月, 2007 1 次提交
  11. 08 5月, 2007 4 次提交
    • B
      blackfin: serial driver · 194de561
      Bryan Wu 提交于
      This patch implements the driver necessary use the Analog Devices Blackfin
      processor's Serial Port.
      Signed-off-by: NBryan Wu <bryan.wu@analog.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Russell King <rmk+lkml@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      194de561
    • D
      serial: define FIXED_PORT flag for serial_core · abb4a239
      David Gibson 提交于
      At present, the serial core always allows setserial in userspace to change the
      port address, irq and base clock of any serial port.  That makes sense for
      legacy ISA ports, but not for (say) embedded ns16550 compatible serial ports
      at peculiar addresses.  In these cases, the kernel code configuring the ports
      must know exactly where they are, and their clocking arrangements (which can
      be unusual on embedded boards).  It doesn't make sense for userspace to change
      these settings.
      
      Therefore, this patch defines a UPF_FIXED_PORT flag for the uart_port
      structure.  If this flag is set when the serial port is configured, any
      attempts to alter the port's type, io address, irq or base clock with
      setserial are ignored.
      
      In addition this patch uses the new flag for on-chip serial ports probed in
      arch/powerpc/kernel/legacy_serial.c, and for other hard-wired serial ports
      probed by drivers/serial/of_serial.c.
      Signed-off-by: NDavid Gibson <dwg@au1.ibm.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      abb4a239
    • T
      RM9000 serial driver · bd71c182
      Thomas Koeller 提交于
      Add support for the integrated serial ports of the MIPS RM9122 processor
      and its relatives.
      
      The patch also does some whitespace cleanup.
      
      [akpm@linux-foundation.org: cleanups]
      Signed-off-by: NThomas Koeller <thomas.koeller@baslerweb.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bd71c182
    • M
      serial driver PMC MSP71xx · beab697a
      Marc St-Jean 提交于
      Serial driver patch for the PMC-Sierra MSP71xx devices.
      
      There are three different fixes:
      
      1 Fix for DesignWare APB THRE errata: In brief, this is a non-standard
        16550 in that the THRE interrupt will not re-assert itself simply by
        disabling and re-enabling the THRI bit in the IER, it is only re-enabled
        if a character is actually sent out.
      
        It appears that the "8250-uart-backup-timer.patch" in the "mm" tree
        also fixes it so we have dropped our initial workaround.  This patch now
        needs to be applied on top of that "mm" patch.
      
      2 Fix for Busy Detect on LCR write: The DesignWare APB UART has a feature
        which causes a new Busy Detect interrupt to be generated if it's busy
        when the LCR is written.  This fix saves the value of the LCR and
        rewrites it after clearing the interrupt.
      
      3 Workaround for interrupt/data concurrency issue: The SoC needs to
        ensure that writes that can cause interrupts to be cleared reach the UART
        before returning from the ISR.  This fix reads a non-destructive register
        on the UART so the read transaction completion ensures the previously
        queued write transaction has also completed.
      Signed-off-by: NMarc St-Jean <Marc_St-Jean@pmc-sierra.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      beab697a
  12. 15 2月, 2007 1 次提交
  13. 09 12月, 2006 1 次提交
    • A
      [PATCH] tty: switch to ktermios · 606d099c
      Alan Cox 提交于
      This is the grungy swap all the occurrences in the right places patch that
      goes with the updates.  At this point we have the same functionality as
      before (except that sgttyb() returns speeds not zero) and are ready to
      begin turning new stuff on providing nobody reports lots of bugs
      
      If you are a tty driver author converting an out of tree driver the only
      impact should be termios->ktermios name changes for the speed/property
      setting functions from your upper layers.
      
      If you are implementing your own TCGETS function before then your driver
      was broken already and its about to get a whole lot more painful for you so
      please fix it 8)
      
      Also fill in c_ispeed/ospeed on init for most devices, although the current
      code will do this for you anyway but I'd like eventually to lose that extra
      paranoia
      
      [akpm@osdl.org: bluetooth fix]
      [mp3@de.ibm.com: sclp fix]
      [mp3@de.ibm.com: warning fix for tty3270]
      [hugh@veritas.com: fix tty_ioctl powerpc build]
      [jdike@addtoit.com: uml: fix ->set_termios declaration]
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NMartin Peschke <mp3@de.ibm.com>
      Acked-by: NPeter Oberparleiter <oberpar@de.ibm.com>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NHugh Dickins <hugh@veritas.com>
      Signed-off-by: NJeff Dike <jdike@addtoit.com>
      Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      606d099c
  14. 08 12月, 2006 1 次提交
  15. 05 10月, 2006 2 次提交
    • D
      IRQ: Maintain regs pointer globally rather than passing to IRQ handlers · 7d12e780
      David Howells 提交于
      Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
      of passing regs around manually through all ~1800 interrupt handlers in the
      Linux kernel.
      
      The regs pointer is used in few places, but it potentially costs both stack
      space and code to pass it around.  On the FRV arch, removing the regs parameter
      from all the genirq function results in a 20% speed up of the IRQ exit path
      (ie: from leaving timer_interrupt() to leaving do_IRQ()).
      
      Where appropriate, an arch may override the generic storage facility and do
      something different with the variable.  On FRV, for instance, the address is
      maintained in GR28 at all times inside the kernel as part of general exception
      handling.
      
      Having looked over the code, it appears that the parameter may be handed down
      through up to twenty or so layers of functions.  Consider a USB character
      device attached to a USB hub, attached to a USB controller that posts its
      interrupts through a cascaded auxiliary interrupt controller.  A character
      device driver may want to pass regs to the sysrq handler through the input
      layer which adds another few layers of parameter passing.
      
      I've build this code with allyesconfig for x86_64 and i386.  I've runtested the
      main part of the code on FRV and i386, though I can't test most of the drivers.
      I've also done partial conversion for powerpc and MIPS - these at least compile
      with minimal configurations.
      
      This will affect all archs.  Mostly the changes should be relatively easy.
      Take do_IRQ(), store the regs pointer at the beginning, saving the old one:
      
      	struct pt_regs *old_regs = set_irq_regs(regs);
      
      And put the old one back at the end:
      
      	set_irq_regs(old_regs);
      
      Don't pass regs through to generic_handle_irq() or __do_IRQ().
      
      In timer_interrupt(), this sort of change will be necessary:
      
      	-	update_process_times(user_mode(regs));
      	-	profile_tick(CPU_PROFILING, regs);
      	+	update_process_times(user_mode(get_irq_regs()));
      	+	profile_tick(CPU_PROFILING);
      
      I'd like to move update_process_times()'s use of get_irq_regs() into itself,
      except that i386, alone of the archs, uses something other than user_mode().
      
      Some notes on the interrupt handling in the drivers:
      
       (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in
           the input_dev struct.
      
       (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does
           something different depending on whether it's been supplied with a regs
           pointer or not.
      
       (*) Various IRQ handler function pointers have been moved to type
           irq_handler_t.
      Signed-Off-By: NDavid Howells <dhowells@redhat.com>
      (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
      7d12e780
    • H
      [PATCH] serial: Rename PORT_AT91 -> PORT_ATMEL · 9ab4f88b
      Haavard Skinnemoen 提交于
      The at91_serial driver can be used with both AT32 and AT91 devices
      from Atmel and has therefore been renamed atmel_serial. The only
      thing left is to rename PORT_AT91 PORT_ATMEL.
      Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      Acked-by: NAndrew Victor <andrew@sanpeople.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9ab4f88b
  16. 02 10月, 2006 2 次提交
  17. 10 7月, 2006 1 次提交
    • Z
      [SERIAL] 8250: add tsi108 serial support · 3be91ec7
      Zang Roy-r61911 提交于
      The following patch gets rid of CONFIG_TSI108_BRIDGE.  I add UPIO_TSI to
      handle IIR and IER register in serial_in and serial_out.
      
      (1) the reason to rewrite serial_in:
      
          TSI108 rev Z1 version ERRATA.  Reading the UART's Interrupt
          Identification Register (IIR) clears the Transmit Holding Register
          Empty (THRE) and Transmit buffer Empty (TEMP) interrupts even if they
          are not enabled in the Interrupt Enable Register (IER).  This leads to
          loss of the interrupts.  Interrupts are not cleared when reading UART
          registers as 32-bit word.
      
      (2) the reason to rewrite serial_out:
      
          Check for UART_IER_UUE bit in the autoconfig routine.  This section
          of autoconfig is excluded for Tsi108/109 because bits 7 and 6 are
          reserved for internal use.  They are R/W bits.  In addition to
          incorrect identification, changing these bits (from 00) will make
          Tsi108/109 UART non-functional.
      Signed-off-by: NRoy Zang <tie-fei.zang@freescale.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      3be91ec7
  18. 03 7月, 2006 1 次提交
    • R
      [SERIAL] Convert fifosize to an unsigned int · 947deee8
      Russell King 提交于
      Some UARTs have more than 255 bytes of FIFO, which can't be
      represented by an unsigned char.  Change the kernel's internal
      structure to be an unsigned int, but still export an unsigned char
      via the TIOCGSERIAL ioctl.  If the TIOCSSERIAL ioctl provides a
      fifo size of 0, assume this means "don't change" otherwise we'll
      corrupt the larger fifo sizes.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      947deee8
  19. 27 6月, 2006 1 次提交
  20. 25 6月, 2006 1 次提交
  21. 20 6月, 2006 1 次提交
    • A
      [ARM] 3592/1: AT91RM9200 Serial driver update · afefc415
      Andrew Victor 提交于
      Patch from Andrew Victor
      
      This patch includes a number of updates to the AT91RM9200 serial driver.
      
      Changes include:
      1. Conversion to a platform_driver.  [Ivan Kokshaysky]
      2. Replaced all references to AT91RM9200 with AT91.  This driver can now
      also be used for the AT91SAM9216.
      3. Allow TIOCM_LOOP to configure local loopback mode.
      4. Cleaned up the 'read_status_mask' usage and interrupt handler code.
      [Chip Coldwell]
      5. Suspend/resume support.  [David Brownell]
      
      There are a few 'unused variable' warning when compiling this - I
      removed the new DMA support to keep this first patch simpler.
      Signed-off-by: NAndrew Victor <andrew@sanpeople.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      afefc415
  22. 30 4月, 2006 1 次提交
  23. 26 4月, 2006 1 次提交
  24. 21 3月, 2006 1 次提交
  25. 20 3月, 2006 1 次提交
  26. 22 1月, 2006 5 次提交
  27. 14 1月, 2006 1 次提交
  28. 11 1月, 2006 1 次提交
  29. 29 11月, 2005 1 次提交
  30. 06 11月, 2005 1 次提交