- 22 Oct, 2010 40 commits
-
-
Daniel Drake authored
Running a serial console, if too many kernel messages are generated within a short time causing a lot of serial I/O, the 8250 driver will generate another kernel message reporting this, which just adds to the I/O. It has a cascading effect and quickly results the system being brought to its knees by a flood of "too much work" messages. Ratelimit the error message to avoid this. [akpm@linux-foundation.org: use the superior printk_ratelimited()] [akpm@linux-foundation.org: printk_ratelimited() needs ratelimit.h] Signed-off-by: Daniel Drake <dsd@laptop.org> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Sonic Zhang authored
The actual uart baud rate of devices vary between +/-2% of what is asked. The SPORT RX sample rate should be faster than double of the worst case. Otherwise, wrong data may be received. So set SPORT RX clock to be 3% faster in general. Reported-by: Olivier STOCK <ostockemer@ereca.fr> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Alan Cox authored
Not every platform that has generic legacy 8250 ports manages to have them clocked the right way or without errata. Provide a generic interface to allow platforms to override the default behaviour in a manner that dumps the complexity in *their* code not the 8250 driver. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dirk Brandewie <dirk.brandewie@gmail.com> Acked-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Volker Ernst authored
The .start_tx callback (imx_start_tx here) isn't only called when the buffer is non-empty. E.g. after resume or when handshaking is enabled and the other side starts to signal being ready. So check for an empty puffer already before sending the first character. This prevents sending out stale (or uninitialised) data. Signed-off-by: Volker Ernst <volker.ernst@txtr.com> Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Andy Green <andy@warmcat.com> [ukl: reword commit log, put check in while condition] Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Feng Tang authored
Add more baud rates support referring the baud_table[] defined in drivers/char/tty_ioctl.c: 3000000/2000000/1000000/500000 Signed-off-by: Feng Tang <feng.tang@intel.com> Acked-by: Alan Cox <alan.cox@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Breno Leitao authored
If kzmalloc fails, the uart port is not removed causing a leak. This patch just add another label that removes the uart when the kzmalloc fails. Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Manuel Lauss authored
Custom UART PM hook for Alchemy chips: do standard UART pm and additionally en/disable uart block clocks as needed. This allows to get rid of a debug port PM hack in the Alchemy pm code. Tested on Db1200. Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Manuel Lauss authored
Add a hook for platforms to specify custom pm methods. Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Anton Vorontsov authored
Fixes sparse warning. Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com> Cc: Alan Cox <alan@linux.intel.com> Acked-by: Tobias Klauser <tklauser@distanz.ch>
-
Anton Vorontsov authored
Simply add an early_altera_uart_setup() prototype declaration, otherwise platform code have to do it in .c files, which is ugly. Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com> Acked-by: Tobias Klauser <tklauser@distanz.ch> Cc: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Anton Vorontsov authored
port->flags is of type upf_t, which corresponds to UPF_* flags. ASYNC_BOOT_AUTOCONF is an unsigned integer, which happen to be the same as UPF_BOOT_AUTOCONF. Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com> Acked-by: Tobias Klauser <tklauser@distanz.ch> Cc: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Anton Vorontsov authored
This fixes tty name, major and minor numbers. The major number 204 is used across many platform-specific serial drivers, so we use that. Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com> Acked-by: Tobias Klauser <tklauser@distanz.ch> Cc: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Anton Vorontsov authored
Some controllers implement registers with a stride, to support those we must implement the proper IO accessors. Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com> Acked-by: Tobias Klauser <tklauser@distanz.ch> Cc: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Anton Vorontsov authored
This makes it much easier to integrate the driver with the rest of the Linux (e.g. MFD subsystem). The old method is still supported though. Also, from now on, there is one platform device per port (no changes are needed for the platform code, as no one registers the devices anywhere in-tree yet). Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com> Acked-by: Tobias Klauser <tklauser@distanz.ch> Cc: Alan Cox <alan@linux.intel.com>, Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Anton Vorontsov authored
Some Altera UART implementations doesn't route the IRQ line, so we have to work in polling mode. Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com> Acked-by: Tobias Klauser <tklauser@distanz.ch> Cc: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Anton Vorontsov authored
Soon we will use that handy function in the altera_uart driver. Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com> Cc: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Greg Kroah-Hartman authored
Clearly I have gone insane, so I might as well tell the world about it. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
David Daney authored
The loop in wait_for_xmitr() is delaying one extra uS after the ready condition has been met. Rewrite the loop to only delay if the transmitter is not ready. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Breno Leitao authored
Soott Kilau is handing off the maintainership of the jsm serial driver to me, and this patch just add the driver as maintained. Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Nicolas Pitre authored
A notifier chain is called whenever the vt code modifies a terminal content, except for one case which is when the modification comes through writes to /dev/vcs* devices. Let's add the missing notifier invocation at the end of vcs_write() for that case too. Signed-off-by: Nicolas Pitre <nicolas.pitre@canonical.com> Cc: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Nicolas Pitre authored
The /dev/vcs* devices are used, amongst other things, by accessibility applications such as BRLTTY to display the screen content onto refreshable braille displays. Currently this is performed by constantly reading from /dev/vcsa0 whether or not the screen content has changed. Given the default braille refresh rate of 25 times per second, this easily qualifies as the biggest source of wake-up events preventing laptops from entering deeper power saving states. To avoid this periodic polling, let's add support for select()/poll() and SIGIO with the /dev/vcs* devices. The implemented semantic is to report data availability whenever the corresponding vt has seen some update after the last read() operation. The application still has to lseek() back as usual in order to read() the new data. Not to create unwanted overhead, the needed data structure is allocated and the vt notification callback is registered only when the poll or fasync method is invoked for the first time per file instance. Signed-off-by: Nicolas Pitre <nicolas.pitre@canonical.com> Cc: Andrew Morton <akpm@linux-foundation.org> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Dr. Werner Fink authored
Add a new file /proc/tty/consoles to be able to determine the registered system console lines. If the reading process holds /dev/console open at the regular standard input stream the active device will be marked by an asterisk. Show possible operations and also decode the used flags of the listed console lines. Signed-off-by: Werner Fink <werner@suse.de> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Alan Cox authored
Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Alan Cox authored
Again basically cut and paste Convert the main driver set to use the hooks for GICOUNT Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Alan Cox authored
Simple pasting job using the new ops function. Also fix a couple of devices directly returning the internal struct (which happens at this point to match for the fields that matter but isn't correct or futureproof) Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Alan Cox authored
Dan Rosenberg noted that various drivers return the struct with uncleared fields. Instead of spending forever trying to stomp all the drivers that get it wrong (and every new driver) do the job in one place. This first patch adds the needed operations and hooks them up, including the needed USB midlayer and serial core plumbing. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Davidlohr Bueso authored
Fix memory leaks in max3107_probe() when returning on error. Signed-off-by: Davidlohr Bueso <dave@gnu.org> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Alan Cox authored
And while we are at it allow it to fail to find one. Without this the IRQ option will cause the 3110 driver to fail on 0.7 SFI firmware. Acked-by: Feng Tang <feng.tang@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Feng Tang authored
The cleanup for mrst_max3110 includes: * remove unneeded head files * make the spi_transfer dma safe, so that driver is more portable * add more check for error return value * use mutex_trylock for read thread Signed-off-by: Feng Tang <feng.tang@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Vasiliy Kulikov authored
Function tty_register_device may return ERR_PTR(...). Check for it. Signed-off-by: Vasiliy Kulikov <segooon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Jiri Slaby authored
Vasiliy found that pci_disable_device is not called on fail paths in mxser_probe. Actually, it is called from nowhere in the driver. There are three changes needed: 1) don't use pseudo-generic mxser_release_res. Let's use it only from ISA paths from now on. All the pci stuff is moved to probe and remove PCI-related functions. 2) reorder fail-paths in the probe function so that it makes sense and we can call them from the sequential code naturally (the further we are the earlier label we go to). 3) add pci_disable_device both to mxser_probe and mxser_remove. There is a nit of adding CONFIG_PCI ifdef to mxser_remove. it is because this driver supports ISA-only compilations and it would choke up on the newly added calls now. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Cc: Kulikov Vasiliy <segooon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Samo Pogacnik authored
Ttyprintk is a pseudo TTY driver, which allows users to make printk messages, via output to ttyprintk device. It is possible to store "console" messages inline with kernel messages for better analyses of the boot process, for example. Signed-off-by: Samo Pogacnik <samo_pogacnik@t-2.net> Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Jason Wang authored
The commit 4547be78 rewrites suspend and resume functions. According to this rewrite, when a serial port is a printk console device and can suspend(without set no_console_suspend flag), it will definitely call set_termios function during its resume, but parameter termios isn't initialized, this will pass an unpredictable config to the serial port. If this serial port is not a userspace opened tty device , a suspend and resume action will make this serial port unusable. I.E. ttyS0 is a printk console device, ttyS1 or keyboard+display is userspace tty device, a suspend/resume action will make ttyS0 unusable. If a serial port is both a printk console device and an opened tty device, this issue can be overcome because it will call set_termios again with the correct parameter in the uart_change_speed function. Refer to the deleted content of commit 4547be78, revert parts relate to restore settings into parameter termios. It is safe because if a serial port is a printk console only device, the only meaningful field in termios is c_cflag and its old config is saved in uport->cons->cflag, if this port is also an opened tty device, it will clear uport->cons->cflag in the uart_open and the old config is saved in tty->termios. Signed-off-by: Jason Wang <jason77.wang@gmail.com> Acked-by: Stanislav Brabec <sbrabec@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Jason Wang authored
The commit 4547be78 rewrites suspend and resume functions, this introduces a problem on the OMAP3EVM platoform. when the kernel boots with no_console_suspend and we suspend the kernel, then resume it, the serial console will be not usable. This problem should be common for all platforms. The cause for this problem is that when enter suspend, if we choose no_console_suspend, the console_stop will be skiped. But in resume function, the console port will be set to uninitialized state by calling set_termios function and the console_start is called without checking whether the no_console_suspend is set, Now fix it. Signed-off-by: Jason Wang <jason77.wang@gmail.com> Acked-by: Stanislav Brabec <sbrabec@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Jeff Mahoney authored
This patch converts s390 to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - S390 defines its own value for FIOQSIZE, asm-generic/ioctls.h keeps it - The generic version adds TIOCGRS485 and TIOCGRS485, which are unused by any driver available on this architecture - The generic version adds support for termiox Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Jeff Mahoney authored
This patch converts mn10300 to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - The generic version provides TIOCGRS485 and TIOCSRS485 but they are unused by any driver available for this architecture. - The generic version adds support for termiox Cc: David Howells <dhowells@redhat.com> Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com> Signed-off-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Jeff Mahoney authored
This patch converts m68k to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - m68k defines its own value for FIOQSIZE, asm-generic/ioctls.h keeps it - The generic version adds TIOCSRS485 and TIOCGRS485m which are unused by any driver available on this architecture. - The generic version adds support for termiox Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Jeff Mahoney authored
This patch converts m32r to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - The generic version adds TIOCGRS485 and TIOCGRS485, which are unused by any driver available on this architecture. - The generic version adds support for termiox Cc: Hirokazu Takata <takata@linux-m32r.org> Cc: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Jeff Mahoney authored
This patch converts ia64 to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - The generic version adds TIOCSRS485 and TIOCGRS485, which are unused by any driver available on this architecture. - The generic version adds support for termiox Cc: Tony Luck <tony.luck@intel.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
Jeff Mahoney authored
This patch converts h8300 to use asm-generic/ioctls.h instead of its own version. The differences between the arch-specific version and the generic version are as follows: - H8300 defines its own value for FIOQSIZE, asm-generic/ioctls.h keeps it - The generic version adds TIOCSRS485 and TIOGSRS485, but are unused by any driver available on this architecture. - The generic version adds support for termiox Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-