Merge tag 'tty-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 20 Mar 2012 18:24:39 +0000 (11:24 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 20 Mar 2012 18:24:39 +0000 (11:24 -0700)
Pull TTY/serial patches from Greg KH:
 "tty and serial merge for 3.4-rc1

  Here's the big serial and tty merge for the 3.4-rc1 tree.

  There's loads of fixes and reworks in here from Jiri for the tty
  layer, and a number of patches from Alan to help try to wrestle the vt
  layer into a sane model.

  Other than that, lots of driver updates and fixes, and other minor
  stuff, all detailed in the shortlog."

* tag 'tty-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (132 commits)
  serial: pxa: add clk_prepare/clk_unprepare calls
  TTY: Wrong unicode value copied in con_set_unimap()
  serial: PL011: clear pending interrupts
  serial: bfin-uart: Don't access tty circular buffer in TX DMA interrupt after it is reset.
  vt: NULL dereference in vt_do_kdsk_ioctl()
  tty: serial: vt8500: fix annotations for probe/remove
  serial: remove back and forth conversions in serial_out_sync
  serial: use serial_port_in/out vs serial_in/out in 8250
  serial: introduce generic port in/out helpers
  serial: reduce number of indirections in 8250 code
  serial: delete useless void casts in 8250.c
  serial: make 8250's serial_in shareable to other drivers.
  serial: delete last unused traces of pausing I/O in 8250
  pch_uart: Add module parameter descriptions
  pch_uart: Use existing default_baud in setup_console
  pch_uart: Add user_uartclk parameter
  pch_uart: Add Fish River Island II uart clock quirks
  pch_uart: Use uartclk instead of base_baud
  mpc5200b/uart: select more tolerant uart prescaler on low baudrates
  tty: moxa: fix bit test in moxa_start()
  ...

1  2 
MAINTAINERS
drivers/net/usb/hso.c
drivers/s390/char/con3215.c

diff --combined MAINTAINERS
@@@ -269,6 -269,7 +269,6 @@@ S: Orpha
  F:    drivers/platform/x86/wmi.c
  
  AD1889 ALSA SOUND DRIVER
 -M:    Kyle McMartin <kyle@mcmartin.ca>
  M:    Thibaut Varene <T-Bone@parisc-linux.org>
  W:    http://wiki.parisc-linux.org/AD1889
  L:    linux-parisc@vger.kernel.org
@@@ -962,7 -963,7 +962,7 @@@ F: drivers/tty/serial/msm_serial.
  F:    drivers/platform/msm/
  F:    drivers/*/pm8???-*
  F:    include/linux/mfd/pm8xxx/
 -T:    git git://codeaurora.org/quic/kernel/davidb/linux-msm.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git
  S:    Maintained
  
  ARM/TOSA MACHINE SUPPORT
@@@ -1310,7 -1311,7 +1310,7 @@@ F:      drivers/atm
  F:    include/linux/atm*
  
  ATMEL AT91 MCI DRIVER
 -M:    Nicolas Ferre <nicolas.ferre@atmel.com>
 +M:    Ludovic Desroches <ludovic.desroches@atmel.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.atmel.com/products/AT91/
  W:    http://www.at91.com/
@@@ -1318,7 -1319,7 +1318,7 @@@ S:      Maintaine
  F:    drivers/mmc/host/at91_mci.c
  
  ATMEL AT91 / AT32 MCI DRIVER
 -M:    Nicolas Ferre <nicolas.ferre@atmel.com>
 +M:    Ludovic Desroches <ludovic.desroches@atmel.com>
  S:    Maintained
  F:    drivers/mmc/host/atmel-mci.c
  F:    drivers/mmc/host/atmel-mci-regs.h
@@@ -1513,23 -1514,19 +1513,23 @@@ F:   drivers/mtd/devices/block2mtd.
  
  BLUETOOTH DRIVERS
  M:    Marcel Holtmann <marcel@holtmann.org>
 -M:    "Gustavo F. Padovan" <padovan@profusion.mobi>
 +M:    Gustavo Padovan <gustavo@padovan.org>
 +M:    Johan Hedberg <johan.hedberg@gmail.com>
  L:    linux-bluetooth@vger.kernel.org
  W:    http://www.bluez.org/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jh/bluetooth.git
  S:    Maintained
  F:    drivers/bluetooth/
  
  BLUETOOTH SUBSYSTEM
  M:    Marcel Holtmann <marcel@holtmann.org>
 -M:    "Gustavo F. Padovan" <padovan@profusion.mobi>
 +M:    Gustavo Padovan <gustavo@padovan.org>
 +M:    Johan Hedberg <johan.hedberg@gmail.com>
  L:    linux-bluetooth@vger.kernel.org
  W:    http://www.bluez.org/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jh/bluetooth.git
  S:    Maintained
  F:    net/bluetooth/
  F:    include/net/bluetooth/
@@@ -1721,14 -1718,6 +1721,14 @@@ F:    include/linux/can/error.
  F:    include/linux/can/netlink.h
  F:    include/linux/can/platform/
  
 +CAPABILITIES
 +M:    Serge Hallyn <serge.hallyn@canonical.com>
 +L:    linux-security-module@vger.kernel.org
 +S:    Supported       
 +F:    include/linux/capability.h
 +F:    security/capability.c
 +F:    security/commoncap.c 
 +
  CELL BROADBAND ENGINE ARCHITECTURE
  M:    Arnd Bergmann <arnd@arndb.de>
  L:    linuxppc-dev@lists.ozlabs.org
@@@ -2363,15 -2352,6 +2363,15 @@@ S:    Supporte
  F:    drivers/gpu/drm/exynos
  F:    include/drm/exynos*
  
 +EXYNOS MIPI DISPLAY DRIVERS
 +M:    Inki Dae <inki.dae@samsung.com>
 +M:    Donghwa Lee <dh09.lee@samsung.com>
 +M:    Kyungmin Park <kyungmin.park@samsung.com>
 +L:    linux-fbdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/video/exynos/exynos_mipi*
 +F:    include/video/exynos_mipi*
 +
  DSCC4 DRIVER
  M:    Francois Romieu <romieu@fr.zoreil.com>
  L:    netdev@vger.kernel.org
@@@ -2866,12 -2846,6 +2866,12 @@@ S:    Maintaine
  F:    drivers/media/video/m5mols/
  F:    include/media/m5mols.h
  
 +FUJITSU TABLET EXTRAS
 +M:    Robert Gerlach <khnz@gmx.de>
 +L:    platform-driver-x86@vger.kernel.org
 +S:    Maintained
 +F:    drivers/platform/x86/fujitsu-tablet.c
 +
  FUSE: FILESYSTEM IN USERSPACE
  M:    Miklos Szeredi <miklos@szeredi.hu>
  L:    fuse-devel@lists.sourceforge.net
@@@ -3073,6 -3047,7 +3073,6 @@@ F:      drivers/hwspinlock/hwspinlock_
  F:    include/linux/hwspinlock.h
  
  HARMONY SOUND DRIVER
 -M:    Kyle McMartin <kyle@mcmartin.ca>
  L:    linux-parisc@vger.kernel.org
  S:    Maintained
  F:    sound/parisc/harmony.*
@@@ -3807,7 -3782,7 +3807,7 @@@ F:      Documentation/kdump
  
  KERNEL AUTOMOUNTER v4 (AUTOFS4)
  M:    Ian Kent <raven@themaw.net>
 -L:    autofs@linux.kernel.org
 +L:    autofs@vger.kernel.org
  S:    Maintained
  F:    fs/autofs4/
  
@@@ -4712,7 -4687,7 +4712,7 @@@ NTFS FILESYSTE
  M:    Anton Altaparmakov <anton@tuxera.com>
  L:    linux-ntfs-dev@lists.sourceforge.net
  W:    http://www.tuxera.com/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs-2.6.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs.git
  S:    Supported
  F:    Documentation/filesystems/ntfs.txt
  F:    fs/ntfs/
@@@ -5025,8 -5000,9 +5025,8 @@@ F:      Documentation/blockdev/paride.tx
  F:    drivers/block/paride/
  
  PARISC ARCHITECTURE
 -M:    Kyle McMartin <kyle@mcmartin.ca>
 -M:    Helge Deller <deller@gmx.de>
  M:    "James E.J. Bottomley" <jejb@parisc-linux.org>
 +M:    Helge Deller <deller@gmx.de>
  L:    linux-parisc@vger.kernel.org
  W:    http://www.parisc-linux.org/
  Q:    http://patchwork.kernel.org/project/linux-parisc/list/
@@@ -5880,13 -5856,12 +5880,13 @@@ F:   drivers/mmc/host/sdhci-s3c.
  
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
  M:    Viresh Kumar <viresh.kumar@st.com>
 +L:    spear-devel@list.st.com
  L:    linux-mmc@vger.kernel.org
  S:    Maintained
  F:    drivers/mmc/host/sdhci-spear.c
  
  SECURITY SUBSYSTEM
 -M:    James Morris <jmorris@namei.org>
 +M:    James Morris <james.l.morris@oracle.com>
  L:    linux-security-module@vger.kernel.org (suggested Cc:)
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security.git
  W:    http://security.wiki.kernel.org/
@@@ -5899,7 -5874,7 +5899,7 @@@ S:      Supporte
  
  SELINUX SECURITY MODULE
  M:    Stephen Smalley <sds@tycho.nsa.gov>
 -M:    James Morris <jmorris@namei.org>
 +M:    James Morris <james.l.morris@oracle.com>
  M:    Eric Paris <eparis@parisplace.org>
  L:    selinux@tycho.nsa.gov (subscribers-only, general discussion)
  W:    http://selinuxproject.org
@@@ -6212,8 -6187,8 +6212,8 @@@ L:      sparclinux@vger.kernel.or
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git
  S:    Maintained
+ F:    include/linux/sunserialcore.h
  F:    drivers/tty/serial/suncore.c
- F:    drivers/tty/serial/suncore.h
  F:    drivers/tty/serial/sunhv.c
  F:    drivers/tty/serial/sunsab.c
  F:    drivers/tty/serial/sunsab.h
@@@ -6223,32 -6198,24 +6223,32 @@@ F:   drivers/tty/serial/sunzilog.
  
  SPEAR PLATFORM SUPPORT
  M:    Viresh Kumar <viresh.kumar@st.com>
 +L:    spear-devel@list.st.com
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.st.com/spear
  S:    Maintained
  F:    arch/arm/plat-spear/
  
  SPEAR3XX MACHINE SUPPORT
  M:    Viresh Kumar <viresh.kumar@st.com>
 +L:    spear-devel@list.st.com
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.st.com/spear
  S:    Maintained
  F:    arch/arm/mach-spear3xx/
  
  SPEAR6XX MACHINE SUPPORT
  M:    Rajeev Kumar <rajeev-dlh.kumar@st.com>
 +L:    spear-devel@list.st.com
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.st.com/spear
  S:    Maintained
  F:    arch/arm/mach-spear6xx/
  
  SPEAR CLOCK FRAMEWORK SUPPORT
  M:    Viresh Kumar <viresh.kumar@st.com>
 +L:    spear-devel@list.st.com
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.st.com/spear
  S:    Maintained
  F:    arch/arm/mach-spear*/clock.c
@@@ -6257,8 -6224,6 +6257,8 @@@ F:      arch/arm/plat-spear/include/plat/clo
  
  SPEAR PAD MULTIPLEXING SUPPORT
  M:    Viresh Kumar <viresh.kumar@st.com>
 +L:    spear-devel@list.st.com
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.st.com/spear
  S:    Maintained
  F:    arch/arm/plat-spear/include/plat/padmux.h
@@@ -6395,11 -6360,6 +6395,11 @@@ W:    http://wiki.laptop.org/go/DCO
  S:    Odd Fixes
  F:    drivers/staging/olpc_dcon/
  
 +STAGING - OZMO DEVICES USB OVER WIFI DRIVER
 +M:    Chris Kelly <ckelly@ozmodevices.com>
 +S:    Maintained
 +F:    drivers/staging/ozwpan/
 +
  STAGING - PARALLEL LCD/KEYPAD PANEL DRIVER
  M:    Willy Tarreau <willy@meta-x.org>
  S:    Odd Fixes
@@@ -7314,7 -7274,7 +7314,7 @@@ WATCHDOG DEVICE DRIVER
  M:    Wim Van Sebroeck <wim@iguana.be>
  L:    linux-watchdog@vger.kernel.org
  W:    http://www.linux-watchdog.org/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog.git
 +T:    git git://www.linux-watchdog.org/linux-watchdog.git
  S:    Maintained
  F:    Documentation/watchdog/
  F:    drivers/watchdog/
diff --combined drivers/net/usb/hso.c
@@@ -1632,7 -1632,7 +1632,7 @@@ static int hso_get_count(struct tty_str
        struct hso_serial *serial = get_serial_by_tty(tty);
        struct hso_tiocmget  *tiocmget = serial->tiocmget;
  
 -      memset(&icount, 0, sizeof(struct serial_icounter_struct));
 +      memset(icount, 0, sizeof(struct serial_icounter_struct));
  
        if (!tiocmget)
                 return -ENOENT;
@@@ -3313,7 -3313,6 +3313,6 @@@ static int __init hso_init(void
  
        /* fill in all needed values */
        tty_drv->magic = TTY_DRIVER_MAGIC;
-       tty_drv->owner = THIS_MODULE;
        tty_drv->driver_name = driver_name;
        tty_drv->name = tty_filename;
  
                tty_drv->major = tty_major;
  
        tty_drv->minor_start = 0;
-       tty_drv->num = HSO_SERIAL_TTY_MINORS;
        tty_drv->type = TTY_DRIVER_TYPE_SERIAL;
        tty_drv->subtype = SERIAL_TYPE_NORMAL;
        tty_drv->flags = TTY_DRIVER_REAL_RAW | TTY_DRIVER_DYNAMIC_DEV;
@@@ -87,7 -87,6 +87,7 @@@ struct raw3215_info 
        struct tty_struct *tty;       /* pointer to tty structure if present */
        struct raw3215_req *queued_read; /* pointer to queued read requests */
        struct raw3215_req *queued_write;/* pointer to queued write requests */
 +      struct tasklet_struct tlet;   /* tasklet to invoke tty_wakeup */
        wait_queue_head_t empty_wait; /* wait queue for flushing */
        struct timer_list timer;      /* timer for delayed output */
        int line_pos;                 /* position on the line (for tabs) */
@@@ -335,23 -334,19 +335,23 @@@ static inline void raw3215_try_io(struc
  }
  
  /*
 + * Call tty_wakeup from tasklet context
 + */
 +static void raw3215_wakeup(unsigned long data)
 +{
 +      struct raw3215_info *raw = (struct raw3215_info *) data;
 +      tty_wakeup(raw->tty);
 +}
 +
 +/*
   * Try to start the next IO and wake up processes waiting on the tty.
   */
  static void raw3215_next_io(struct raw3215_info *raw)
  {
 -      struct tty_struct *tty;
 -
        raw3215_mk_write_req(raw);
        raw3215_try_io(raw);
 -      tty = raw->tty;
 -      if (tty != NULL &&
 -          RAW3215_BUFFER_SIZE - raw->count >= RAW3215_MIN_SPACE) {
 -              tty_wakeup(tty);
 -      }
 +      if (raw->tty && RAW3215_BUFFER_SIZE - raw->count >= RAW3215_MIN_SPACE)
 +              tasklet_schedule(&raw->tlet);
  }
  
  /*
@@@ -687,7 -682,6 +687,7 @@@ static int raw3215_probe (struct ccw_de
                return -ENOMEM;
        }
        init_waitqueue_head(&raw->empty_wait);
 +      tasklet_init(&raw->tlet, raw3215_wakeup, (unsigned long) raw);
  
        dev_set_drvdata(&cdev->dev, raw);
        cdev->handler = raw3215_irq;
@@@ -907,7 -901,6 +907,7 @@@ static int __init con3215_init(void
  
        raw->flags |= RAW3215_FIXED;
        init_waitqueue_head(&raw->empty_wait);
 +      tasklet_init(&raw->tlet, raw3215_wakeup, (unsigned long) raw);
  
        /* Request the console irq */
        if (raw3215_startup(raw) != 0) {
@@@ -933,13 -926,9 +933,9 @@@ console_initcall(con3215_init)
  static int tty3215_open(struct tty_struct *tty, struct file * filp)
  {
        struct raw3215_info *raw;
-       int retval, line;
+       int retval;
  
-       line = tty->index;
-       if ((line < 0) || (line >= NR_3215))
-               return -ENODEV;
-       raw = raw3215[line];
+       raw = raw3215[tty->index];
        if (raw == NULL)
                return -ENODEV;
  
@@@ -973,7 -962,6 +969,7 @@@ static void tty3215_close(struct tty_st
        tty->closing = 1;
        /* Shutdown the terminal */
        raw3215_shutdown(raw);
 +      tasklet_kill(&raw->tlet);
        tty->closing = 0;
        raw->tty = NULL;
  }
@@@ -1145,7 -1133,6 +1141,6 @@@ static int __init tty3215_init(void
         * proc_entry, set_termios, flush_buffer, set_ldisc, write_proc
         */
  
-       driver->owner = THIS_MODULE;
        driver->driver_name = "tty3215";
        driver->name = "ttyS";
        driver->major = TTY_MAJOR;