28 Sep, 2007

1 commit

  • in cpm_uart_cpm1.h, DPRAM_BASE is assigned an address derived from cpmp.
    On ARC=ppc, this is a physical address with 1:1 DMA mapping which can't
    be used for arithmetric compare operations with virtual addresses
    returned by cpm_dpram_addr. This patch changes the assignment to use
    cpm_dpram_addr as well, like in cpm_uart_cpm2.h.

    Signed-off-by: Jochen Friedrich
    Signed-off-by: Kumar Gala

    Jochen Friedrich
     

26 Sep, 2007

1 commit


18 Sep, 2007

1 commit

  • * don't register irq until ->startup() (and release in ->shutdown()).
    That avoids oopsen with the current tree when interrupt comes before we'd
    set up the data structures for ttyb.
    * handle console=ttyS... even when OBP talks to screen/keyboard
    * register irq handler for each port, let kernel/irq/handle.c
    call it for both if needed. Kills code duplication in sunsab_interrupt().
    BTW, there'd been bitrot in it - ttya handling had stopped calling
    check_status() on BRK (correctly), ttyb copy of that code had kept the
    bogus call in that case.

    Signed-off-by: Al Viro
    Signed-off-by: David S. Miller

    Al Viro
     

12 Sep, 2007

2 commits

  • SERIAL_BFIN=m or SERIAL_MUX=m shouldn't allow SERIAL_CORE_CONSOLE=y.

    Additionally, this patch fixes whitespace instead of tabs at the
    SERIAL_MUX_CONSOLE option.

    Signed-off-by: Adrian Bunk
    Cc: Bryan Wu
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Restores serial functionality for the BCM1480.

    Signed-off-by: Thiemo Seufer
    Signed-off-by: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thiemo Seufer
     

31 Aug, 2007

1 commit

  • This is triggered if PCI && !HOTPLUG.

    MODPOST vmlinux.o
    WARNING: vmlinux.o(.data+0xc910): Section mismatch: reference to .init.text:pci_ite887x_init (between 'pci_serial_quirks' and 'serial_pci_tbl')

    Signed-off-by: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     

27 Aug, 2007

1 commit


23 Aug, 2007

6 commits

  • Add PCI IDs for the onchip UARTs on PA Semi PWRficient.

    Signed-off-by: Olof Johansson
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olof Johansson
     
  • The serial_pci driver tries to guess serial ports on unknown devices based
    on the PCI class (modem or serial). On certain softmodems (AC'97 modems)
    this can lead to the recognition of non-existing serial ports.

    This patch adds a blacklist of PCI IDs that are to be ignored by the driver.

    [akpm@linux-foundation.org: cleanups]
    Signed-off-by: Christian Schmidt
    Cc: Bjorn Helgaas
    Cc: Russell King
    Cc: Yinghai Lu
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christian Schmidt
     
  • Reading the LSR clears the break, parity, frame error, and overrun bits in
    the 8250 chip, but these are not being saved in all places that read the
    LSR. Same goes for the MSR delta bits. Save the LSR bits off whenever the
    lsr is read so they can be handled later in the receive routine. Save the
    MSR bits to be handled in the modem status routine.

    Also, clear the stored bits and clear the interrupt registers before
    enabling interrupts, to avoid handling old values of the stored bits in the
    interrupt routines.

    [akpm@linux-foundation.org: clean up pre-existing code]
    Signed-off-by: Corey Minyard
    Cc: Russell King
    Cc: Yinghai Lu
    Cc: Bjorn Helgaas
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • This chip does not have modem control lines. Return TIOCM_CAR and
    TIOCM_DSR always on get_mctrl() and ajust some bits in termios cflag.

    Signed-off-by: Atsushi Nemoto
    Cc: Ralf Baechle
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     
  • Add support for the it887x-chips (PCI) manufactured by ITE.

    Signed-off-by: Niels de Vos
    Cc: Russell King
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Niels de Vos
     
  • The uart_set_termios() function will bail out early without bothering to
    touch the hardware, if it decides that nothing "relevant" has changed.
    Unfortunately, its idea of "relevant" doesn't include c_[io]speed. So if
    the baud rate bits are BOTHER and you just change the speed, the change
    gets optimised away.

    This patch makes it ignore the old Bfoo bits in c_cflag and just check
    whether c_ispeed and c_ospeed have changed. Those integers are always set
    appropriately for us by set_termios().

    Signed-off-by: David Woodhouse
    Acked-by: Alan Cox
    Cc: Russell King
    Cc: Mariusz Kozlowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Woodhouse
     

04 Aug, 2007

1 commit

  • the early setup function serial8250_console_early_setup() can be called
    from non __init code (eg. hotpluggable serial ports like serial_cs) so
    remove the __init from the call chain to avoid crashes.

    Signed-off-by: Daniel Ritz
    Cc: Yinghai Lu
    Signed-off-by: Linus Torvalds

    Daniel Ritz
     

01 Aug, 2007

11 commits

  • This is a set of small fixes addressing points raised with the original
    driver submission. In particular, __maybe_unused is used rather than a
    local hack and sbd_ops is made const. Additionally I have made two local
    string variables automatic as rodata space was wasted for pointers
    unnecessarily.

    Signed-off-by: Maciej W. Rozycki
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maciej W. Rozycki
     
  • Fix up mpsc.c to be aligned with Documentation/CodingStyle. Also fix up some
    whitespace issues.

    Signed-off-by: Mark A. Greer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark A. Greer
     
  • Remove the duplicate definition of SUPPORT_SYSRQ in mpsc driver.

    Signed-off-by: Mark A. Greer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark A. Greer
     
  • Currently, the MPSC driver doesn't stop recieving characters when the CREAD
    flag in termios->c_cflag is cleared. It should. Also, only start receiving
    if its not already started.

    Signed-off-by: Stephane Chazelas
    Signed-off-by: Mark A. Greer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephane Chazelas
     
  • The patch in commit ID f7232056bff5fe2d3bfeab35252a66ebaeb5bbde stops (aborts)
    the MPSC's receive engine just before restarting it. Unfortunately, it
    doesn't wait for the abort to complete before restarting it which creates a
    race between the abort and the restart. If the restart occurs first, the
    in-progress abort stops it again and the rx engine remains stopped.

    Instead, do the abort when the SDMA engine is being stopped. Make sure to
    wait for the abort to complete before continuing.

    Signed-off-by: Carlos Sanchez
    Signed-off-by: Mark A. Greer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Carlos Sanchez
     
  • The serial console can select only SERIAL_VR41XX=y.

    Signed-off-by: Yoichi Yuasa
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoichi Yuasa
     
  • only PORT_VR41XX_SIU can select interface.

    Signed-off-by: Yoichi Yuasa
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoichi Yuasa
     
  • Fix section mismatch vr41xx_siu.

    WARNING: drivers/built-in.o(.text+0x2ce4c): Section mismatch: reference to .init.text:uart_parse_options (between 'siu_console_setup' and 'siu_request_port')
    WARNING: drivers/built-in.o(.text+0x2ce70): Section mismatch: reference to .init.text:uart_set_options (between 'siu_console_setup' and 'siu_request_port')

    Signed-off-by: Yoichi Yuasa
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoichi Yuasa
     
  • Signed-off-by: Yoichi Yuasa
    Signed-off-by: Ralf Baechle
    Acked-by: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoichi Yuasa
     
  • Revert 7e92b4fc345f5b6f57585fbe5ffdb0f24d7c9b26. It broke Sébastien Dugué's
    machine and Jeff said (persuasively)

    This seems like it will break decades-long-working stuff, in favor of
    breaking new ground in our favorite area, "trusting the BIOS."

    It's just not worth it for serial ports, IMO. Serial ports are something
    that just shouldn't break at this late stage in the game. My new Intel
    platform boxes don't even have serial ports, so I question the value of
    messing with serial port probing even more... because... just wait a year,
    and your box won't have a serial port either! :)

    I certainly don't object to the use of platform devices (or isa_driver),
    but the probe change seems questionable. That's sorta analagous to
    rewriting the floppy driver probe routine. Sure you could do it... but why
    risk all that damage and go through debugging all over again?

    It seems clear from this report that we cannot, should not, trust BIOS for
    something (a) so simple and (b) that has been working for over a decade.

    Much discussion ensued and we've decided to have another go at all of this.

    Cc: Sébastien Dugué
    Cc: Bjorn Helgaas
    Cc: Len Brown
    Cc: Adam Belay
    Cc: Matthew Garrett
    Cc: Russell King
    Cc: Jeff Garzik
    Acked-by: Alan Cox
    Cc: Michal Piotrowski
    Cc: Sascha Sommer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Since the commit 4f640efb3170dbcf99a37a3cc99060647b95428c, "%lx" is not
    suitable for p->mapbase (resource_size_t) in 32-bit. This patch fixes a
    compiler warning caused by the mismatch.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     

31 Jul, 2007

1 commit

  • * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.23:
    sh: Fix fs.h removal from mm.h regressions.
    sh: fix get_wchan() for SH kernels without framepointers
    sh: arch/sh/boot - fix shell usage
    rtc: rtc-sh: Correct sh_rtc_set_time() for some SH-3 parts.
    sh: remove support for sh7300 and solution engine 7300
    sh: Add sh to the CC_OPTIMIZE_FOR_SIZE dependencies.
    sh: Kill off virt_to_bus()/bus_to_virt().
    sh: sh-sci - fix SH7708 support
    sh: Restrict DSP support to specific CPUs.
    sh: Silence sq compile warning on sh4 nommu.
    sh: Kill the rest of the SE73180 cruft.
    sh: remove support for sh73180 and solution engine 73180
    sh: remove old broken pint code
    sh: Reclaim beginning of P3 space for vmalloc area.
    sh: Fix Dreamcast DMA issues.
    sh: Add kmap_coherent()/kunmap_coherent() interface for SH-4.

    Linus Torvalds
     

26 Jul, 2007

4 commits


25 Jul, 2007

2 commits

  • This patch removes old dead code:
    - kill off sh73180 cpu support
    - get rid of broken solution engine 73180 board support

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • At present, various parts of the serial code use unsigned long to define
    resource addresses. This is a problem, because some 32-bit platforms have
    physical addresses larger than 32-bits, and have mmio serial uarts located
    above the 4GB point.

    This patch changes the type of mapbase in both struct uart_port and struct
    plat_serial8250_port to resource_size_t, which can be configured to be 64
    bits on such platforms. The mapbase in serial_struct can't safely be
    changed, because that structure is user visible.

    Signed-off-by: David Gibson
    Signed-off-by: Josh Boyer
    Cc: Russell King
    Cc: Paul Mackerras
    Cc: Jason Wessel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Josh Boyer
     

23 Jul, 2007

2 commits

  • * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (60 commits)
    [ARM] 4524/1: S3C: Move register out of include/asm-arm/arch-s3c2410
    [ARM] 4523/1: S3C: Remove FIFO_MAX from uncompression headers
    [ARM] 4522/1: S3C: split include/asm-arm/arch/memory.h
    [ARM] 4521/2: S3C: Reorganise VA mapping headers
    [ARM] 4520/1: S3C: Remove old VA values from static map
    [ARM] 4519/1: S3C: split S3C2400 values out of S3C24XX map.h
    [ARM] 4518/1: S3C: Rename watchdog configuration options
    [ARM] 4517/1: S3C: Fix debug macros for ARM926 output
    [ARM] 4516/1: S3C: Fix uncompressor serial output for ARM926
    [ARM] 4515/1: S3C: Move uncompress code to plat-s3c
    [ARM] 4514/1: S3C: Rename DEBUG_S3C2410_PORT and DEBUG_S3C_UART
    [ARM] 4513/1: S3C: Rename CONFIG_S3C2410_LOWLEVEL_UART_PORT
    [ARM] 4512/1: S3C: rename the debug macros for per-cpu updates
    [ARM] 4511/1: S3C: updated LLSERIAL Kconfig defines for CPU support
    [ARM] 4510/1: S3C: split debug-macro support into plat-s3c
    [ARM] 4509/1: S3C: Create initial arch/arm/plat-s3c
    [ARM] 4508/1: S3C: Move items to include/asm-arm/plat-s3c
    [ARM] 4461/1: MXC platform and i.MX31ADS core support
    [ARM] 4507/1: pxa2xx clock_event_device
    [ARM] 4497/1: Only allow safe cache configurations on ARMv6 and later
    ...

    Linus Torvalds
     
  • Russell King
     

22 Jul, 2007

1 commit

  • This patch moves items of the s3c24xx support into
    a new plat-s3c directory for items that use the
    s3c24xx support but are not directly s3c24xx
    compatible, such as the s3c2400 and s3c6400.

    git mv commands:
    git mv include/asm-arm/arch-s3c2410/iic.h include/asm-arm/plat-s3c/iic.h
    git mv include/asm-arm/arch-s3c2410/nand.h include/asm-arm/plat-s3c/nand.h
    git mv include/asm-arm/arch-s3c2410/regs-iic.h include/asm-arm/plat-s3c/regs-iic.h
    git mv include/asm-arm/arch-s3c2410/regs-nand.h include/asm-arm/plat-s3c/regs-nand.h
    git mv include/asm-arm/arch-s3c2410/regs-rtc.h include/asm-arm/plat-s3c/regs-rtc.h
    git mv include/asm-arm/arch-s3c2410/regs-serial.h include/asm-arm/plat-s3c/regs-serial.h
    git mv include/asm-arm/arch-s3c2410/regs-timer.h include/asm-arm/plat-s3c/regs-timer.h
    git mv include/asm-arm/arch-s3c2410/regs-watchdog.h include/asm-arm/plat-s3c/regs-watchdog.h

    Signed-off-by: Ben Dooks
    Signed-off-by: Russell King

    Ben Dooks
     

21 Jul, 2007

1 commit

  • The current scheme works on static interpretation of text names, which
    is wrong.

    The output-device setting, for example, must be resolved via an alias
    or similar to a full path name to the console device.

    Paths also contain an optional set of 'options', which starts with a
    colon at the end of the path. The option area is used to specify
    which of two serial ports ('a' or 'b') the path refers to when a
    device node drives multiple ports. 'a' is assumed if the option
    specification is missing.

    This was caught by the UltraSPARC-T1 simulator. The 'output-device'
    property was set to 'ttya' and we didn't pick upon the fact that this
    is an OBP alias set to '/virtual-devices/console'. Instead we saw it
    as the first serial console device, instead of the hypervisor console.

    The infrastructure is now there to take advantage of this to resolve
    the console correctly even in multi-head situations in fbcon too.

    Thanks to Greg Onufer for the bug report.

    Signed-off-by: David S. Miller

    David S. Miller
     

20 Jul, 2007

2 commits

  • Fix the unregistration order in the i.MX serial driver

    Signed-off-by: Sreekrishnan Venkateswaran
    Acked-by: Sascha Hauer
    Signed-off-by: Russell King

    Sascha Hauer
     
  • Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc).

    Here is a short excerpt of the semantic patch performing
    this transformation:

    @@
    type T2;
    expression x;
    identifier f,fld;
    expression E;
    expression E1,E2;
    expression e1,e2,e3,y;
    statement S;
    @@

    x =
    - kmalloc
    + kzalloc
    (E1,E2)
    ... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\)
    - memset((T2)x,0,E1);

    @@
    expression E1,E2,E3;
    @@

    - kzalloc(E1 * E2,E3)
    + kcalloc(E1,E2,E3)

    [akpm@linux-foundation.org: get kcalloc args the right way around]
    Signed-off-by: Yoann Padioleau
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Acked-by: Russell King
    Cc: Bryan Wu
    Acked-by: Jiri Slaby
    Cc: Dave Airlie
    Acked-by: Roland Dreier
    Cc: Jiri Kosina
    Acked-by: Dmitry Torokhov
    Cc: Benjamin Herrenschmidt
    Acked-by: Mauro Carvalho Chehab
    Acked-by: Pierre Ossman
    Cc: Jeff Garzik
    Cc: "David S. Miller"
    Acked-by: Greg KH
    Cc: James Bottomley
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoann Padioleau
     

18 Jul, 2007

2 commits

  • 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: Maciej W. Rozycki
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maciej W. Rozycki
     
  • early_serial_setup was removed from serial.h, but forgot to put in
    serial_8250.h

    Signed-off-by: Yinghai Lu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yinghai Lu