aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Merge branch 'tty-next' of ↵Linus Torvalds2011-01-07
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 * 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (36 commits) serial: apbuart: Fixup apbuart_console_init() TTY: Add tty ioctl to figure device node of the system console. tty: add 'active' sysfs attribute to tty0 and console device drivers: serial: apbuart: Handle OF failures gracefully Serial: Avoid unbalanced IRQ wake disable during resume tty: fix typos/errors in tty_driver.h comments pch_uart : fix warnings for 64bit compile 8250: fix uninitialized FIFOs ip2: fix compiler warning on ip2main_pci_tbl specialix: fix compiler warning on specialix_pci_tbl rocket: fix compiler warning on rocket_pci_ids 8250: add a UPIO_DWAPB32 for 32 bit accesses 8250: use container_of() instead of casting serial: omap-serial: Add support for kernel debugger serial: fix pch_uart kconfig & build drivers: char: hvc: add arm JTAG DCC console support RS485 documentation: add 16C950 UART description serial: ifx6x60: fix memory leak serial: ifx6x60: free IRQ on error Serial: EG20T: add PCH_UART driver ... Fixed up conflicts in drivers/serial/apbuart.c with evil merge that makes the code look fairly sane (unlike either side).
| * serial: apbuart: Fixup apbuart_console_init()Thomas Gleixner2011-01-06
| | | | | | | | | | | | | | | | | | | | | | | | commit 35c64e5d (drivers: serial: apbuart: Handle OF failures gracefully) missed that the modified grlib_apbuart_configure() function is called from apbuart_console_init() as well. Fix the fallout. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * TTY: Add tty ioctl to figure device node of the system console.Werner Fink2010-12-16
| | | | | | | | | | | | | | This has been in the SuSE kernels for a very long time. Signed-off-by: Werner Fink <werner@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * tty: add 'active' sysfs attribute to tty0 and console deviceKay Sievers2010-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tty: add 'active' sysfs attribute to tty0 and console device Userspace can query the actual virtual console, and the configured console devices behind /dev/tt0 and /dev/console. The last entry in the list of devices is the active device, analog to the console= kernel command line option. The attribute supports poll(), which is raised when the virtual console is changed or /dev/console is reconfigured. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> index 0000000..b138b66
| * drivers: serial: apbuart: Handle OF failures gracefullyThomas Gleixner2010-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The apbuart driver depends on OF and relies on everything being available. So if it's probed on a platform which has OF support, but no device tree is available it crashes. Triggered by the upcoming x86 OF support in randconfig testing. Further it's inconsistent vs. the probing and exiting from the of_match loop. Make it robust and consistent: - check the availablility of OF nodes before dereferencing - return -ENODEV when the device tree lookup fails - return -ENODEV when no uart port configuration is found - return -ENODEV when invalid uart port configuration is found Remove the enum_done check while at it. Driver init functions are only called once. Remove the pointless vendor and device queries as well. Reported-by: Ingo Molnar <mingo.elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Kristoffer Glembo <kristoffer@gaisler.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Serial: Avoid unbalanced IRQ wake disable during resumeGovindraj.R2010-12-16
| | | | | | | | | | | | | | | | | | | | | | | | To avoid unbalanced IRQ wake disable, ensure that wakeups are disabled only when wakeups have been successfully enabled. Tested on OMAP3630SDP/ZOOM3. Signed-off-by: Govindraj.R <govindraj.raja@ti.com> Reported-by: Paul Walmsley <paul@pwsan.com> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> Acked-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * tty: fix typos/errors in tty_driver.h commentsTimur Tabi2010-12-16
| | | | | | | | | | | | | | | | | | Fix various typos and other errors in comments of tty_driver.h. The most significant is the wrong name of a function for the description of TTY_DRIVER_DYNAMIC_DEV. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * pch_uart : fix warnings for 64bit compileTomoya MORINAGA2010-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the following warnings drivers/serial/pch_uart.c: In function ‘dma_handle_rx’: drivers/serial/pch_uart.c:685:24: warning: cast from pointer to integer of different size drivers/serial/pch_uart.c: In function ‘dma_handle_tx’: drivers/serial/pch_uart.c:778:23: warning: cast from pointer to integer of different size drivers/serial/pch_uart.c: In function ‘pch_uart_init_port’: drivers/serial/pch_uart.c:1289:20: warning: cast to pointer from integer of different size drivers/serial/pch_uart.c: In function ‘pch_uart_exit_port’: drivers/serial/pch_uart.c:1328:2: warning: cast from pointer to integer of different size Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> Reported-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * 8250: fix uninitialized FIFOsOndrej Puzman2010-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have found a bug in 8250.c driver which causes that 16550A uart FIFOs are not turned on during initialization if they are manually configured by setserial. UART is then working only as plain 16450 without FIFOs. On systems with higher interrupt latency this causes buffer overruns and loss of received data when using higher communication speeds. I'm working for a company which produces industrial computers. These devices typically contain high number (8 or more) of traditional 16550A uarts - we use TL16C554A chips, but that is not much relevant. UARTs are connected to the CPU by ISA bus (Celeron based devices) or LPC bus (Atom based devices). In the Linux the UARTs are using standard 8250.c driver and are initialized using setserial command: setserial /dev/ttyS4 uart 16550A port 0x3E0 irq 10 baud_base 115200 This executes the UART initialization through serial8250_startup() function. At the beginning of the function up->capabilities is initialized from uart_config: up->capabilities = uart_config[up->port.type].flags; Please note that neither up->port.fifosize nor up->tx_loadsz is initialized here!! Later in the same function serial8250_clear_fifos() is called and disables FIFOs. The above comment says that they will be reenabled in set_termios (they won't ...) After serial8250_startup() the serial8250_set_termios() is called. In this function the following check fails because up->port.fifosize is zero because it is not initialized correctly. if (up->capabilities & UART_CAP_FIFO && up->port.fifosize > 1) { if (baud < 2400) fcr = UART_FCR_ENABLE_FIFO | UART_FCR_TRIGGER_1; else fcr = uart_config[up->port.type].fcr; } fcr variable remains zero and in the end the FCR register is set to zero which results in disabled FIFOs even if the UART type is 16550A. This is also true for other types of UARTs with FIFOs. If the UART is autoconfigured via 'setserial /dev/ttySx autoconfig' then port.fifosize and tx_loadsz are initialized correctly in the autoconfig() function and the UART is working correctly then. I checked the source codes and I can say that this bug is present in 2.6.x series of kernels for a couple of years. Namely I can confirm its presence in 2.6.16.57, 2.6.32.24 and 2.6.36.1 (tested all of them on our hardware). I think it was not noticed before because not many people use manually configured non PNP UARTs on ISA/LPC bus these days. Also the data loss caused by buffer overruns occures only if IRQ latency is higher then time needed to receive one character on given communication speed. For example our hardware looses received characters only if the UARTs are connected throught LPC bus with SERIRQ (serial IRQ transport) and not if they are connected to ISA bus because LPC SERIRQ has higher interrupt latency then parallel ISA interupt lines. Here is the patch to correct the bug created against 2.6.36.1: Signed-off-by: Ondrej Puzman <puzman@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * ip2: fix compiler warning on ip2main_pci_tblNamhyung Kim2010-12-10
| | | | | | | | | | | | | | | | | | | | | | Annotate ip2main_pci_tbl as '__used' to fix following warning: CC drivers/char/ip2/ip2main.o drivers/char/ip2/ip2main.c:3227: warning: ‘ip2main_pci_tbl’ defined but not used Signed-off-by: Namhyung Kim <namhyung@gmail.com> Cc: "Michael H. Warfield" <mhw@wittsend.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * specialix: fix compiler warning on specialix_pci_tblNamhyung Kim2010-12-10
| | | | | | | | | | | | | | | | | | | | | | Annotate specialx_pci_tbl as '__used' to fix following warning: CC drivers/char/specialix.o drivers/char/specialix.c:2358: warning: ‘specialx_pci_tbl’ defined but not used Signed-off-by: Namhyung Kim <namhyung@gmail.com> Cc: Roger Wolff <R.E.Wolff@BitWizard.nl> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * rocket: fix compiler warning on rocket_pci_idsNamhyung Kim2010-12-10
| | | | | | | | | | | | | | | | | | | | Annotate rocket_pci_ids as '__used' to fix following warning: CC drivers/char/rocket.o drivers/char/rocket.c:1767: warning: ‘rocket_pci_ids’ defined but not used Signed-off-by: Namhyung Kim <namhyung@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * 8250: add a UPIO_DWAPB32 for 32 bit accessesJamie Iles2010-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some platforms contain a Synopsys DesignWare APB UART that is attached to a 32-bit APB bus where sub-word accesses are not allowed. Add a new IO type (UPIO_DWAPB32) that performs 32 bit acccesses to the UART. v2: - don't test for 32 bit in the output fast path, provide a separate dwabp32_serial_out() function. Refactor dwabp_serial_out() so that we can reuse the LCR saving code. v3: - rebased on top of "8250: use container_of() instead of casting" Signed-off-by: Jamie Iles <jamie@jamieiles.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * 8250: use container_of() instead of castingJamie Iles2010-12-10
| | | | | | | | | | | | | | | | | | | | The 8250 driver structure uart_8250_port took advantage of the fact that the struct uart_port was the first member of its structure and used an explicit cast to convert to the derived class. Replace the explicit casts with container_of() for safety and clarity. Signed-off-by: Jamie Iles <jamie@jamieiles.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * serial: omap-serial: Add support for kernel debuggerCosmin Cojocar2010-12-10
| | | | | | | | | | | | | | | | | | | | The kgdb invokes the poll_put_char and poll_get_char when communicating with the host. This patch also changes the initialization order because the kgdb will check at the very beginning, if there is a valid serial driver. Signed-off-by: Cosmin Cojocar <cosmin.cojocar@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * serial: fix pch_uart kconfig & buildRandy Dunlap2010-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dma_request_channel/dma_release_channel interfaces are not built when DMADEVICES is not enabled, so make the driver depend on DMADEVICES. Also, the help text says that the driver enables & uses PCH_DMA, which is not enabled, so select that. ERROR: "__dma_request_channel" [drivers/serial/pch_uart.ko] undefined! ERROR: "dma_release_channel" [drivers/serial/pch_uart.ko] undefined! Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> Reported-by: Zimny Lech <napohybelskurwysynom2010@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * drivers: char: hvc: add arm JTAG DCC console supportDaniel Walker2010-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This driver adds a basic console that uses the arm JTAG DCC to transfer data back and forth. It has support for ARMv6 and ARMv7. This console is created under the HVC driver, and should be named /dev/hvcX (or /dev/hvc0 for example). Cc: Tony Lindgren <tony@atomide.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org> Cc: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * RS485 documentation: add 16C950 UART descriptionYegor Yefremov2010-11-30
| | | | | | | | | | | | | | Add a notion about 16C950 UART, that is using DTR signal for RS485 mode. Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * serial: ifx6x60: fix memory leakVasiliy Kulikov2010-11-30
| | | | | | | | | | | | | | | | If tty_register_driver() failed then tty_driver is still alive. Free it with put_tty_driver(). Signed-off-by: Vasiliy Kulikov <segoon@openwall.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * serial: ifx6x60: free IRQ on errorVasiliy Kulikov2010-11-30
| | | | | | | | | | | | | | | | If second request_irq() failed then the first IRQ must be freed in error handling code. Signed-off-by: Vasiliy Kulikov <segoon@openwall.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Serial: EG20T: add PCH_UART driverTomoya MORINAGA2010-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | UART driver of Intel EG20T(Topcliff) PCH Intel EG20T PCH is the platform controller hub that is going to be used in Intel's general embedded platform. All IO peripherals in Intel EG20T PCH are actually devices sitting on AMBA bus. Intel EG20T PCH has UART I/F. Using this I/F, it is able to access system devices connected to UART. Signed-off-by: Tomoya MORINAGA <tomoya-linux@dsn.okisemi.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Serial: ce4100: Add PCI UART support for the ce4100Dirk Brandewie2010-11-30
| | | | | | | | | | | | | | This patch adds support for the PCI UART on the ce4100. Signed-off-by: Dirk Brandewie <dirk.brandewie@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * serial: ifx6x60: Fix missing include for msleepAlan Cox2010-11-16
| | | | | | | | | | | | | | Noted by Stephen Rothwell Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * serial: ifx6x60: The IFX requires SPIAlan Cox2010-11-16
| | | | | | | | | | | | | | Correct the KConfig as noted by Greg. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * serial: mpc52xx: make printout for type more genericWolfram Sang2010-11-16
| | | | | | | | | | | | | | | | | | | | The printout for the type should be just "5xxx", so 512x users won't wonder why they have a mpc52xx-type UART. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de> Cc: Grant Likely <grant.likely@secretlab.ca> Cc: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * parisc: cleanup console handlingJiri Slaby2010-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * use newly added for_each_console for iterating consoles * add proper console locking * do not initialize tmp twice * no need to declare console_drivers, it's already done in console.h Signed-off-by: Jiri Slaby <jslaby@suse.cz> Acked-by: Kyle McMartin <kyle@mcmartin.ca> Cc: Helge Deller <deller@gmx.de> Cc: "James E.J. Bottomley" <jejb@parisc-linux.org> Cc: linux-parisc@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * console: add /proc/consolesJiri Slaby2010-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It allows users to see what consoles are currently known to the system and with what flags. It is based on Werner's patch, the part about traversing fds was removed, the code was moved to kernel/printk.c, where consoles are handled and it makes more sense to me. Signed-off-by: Jiri Slaby <jslaby@suse.cz> [cleanups] Signed-off-by: "Dr. Werner Fink" <werner@suse.de> Cc: Al Viro <viro@ZenIV.linux.org.uk> Cc: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * VIDEO: xen-fb, switch to for_each_consoleJiri Slaby2010-11-16
| | | | | | | | | | | | | | | | | | | | | | | | Use newly added for_each_console for iterating consoles. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Cc: Jeremy Fitzhardinge <jeremy@xensource.com> Cc: Chris Wright <chrisw@sous-sol.org> Cc: virtualization@lists.osdl.org Cc: xen-devel@lists.xensource.com Cc: linux-fbdev@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * TTY: include termios.h in tty_driver.hJiri Slaby2010-11-16
| | | | | | | | | | | | | | | | | | | | | | | | We reference termios and termiox in tty_driver.h, but we do not include linux/termios.h where these are defined. Add the #include properly. Otherwise when we include tty_driver.h, we get compile errors. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Greg KH <gregkh@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * console: move for_each_console to linux/console.hJiri Slaby2010-11-16
| | | | | | | | | | | | | | | | | | Move it out of printk.c so that we can use it all over the code. There are some potential users which will be converted to that macro in next patches. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * serial: cpu_uart: Remove unused uart_cpm_port fieldsBaurzhan Ismagulov2010-11-11
| | | | | | | | | | | | | | AFAICT, these fields are not used anywhere. Signed-off-by: Baurzhan Ismagulov <ibr@radix50.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * serial: cpm_uat: reducing CPM serial latencyBaurzhan Ismagulov2010-11-11
| | | | | | | | | | | | | | | | | | | | | | Setting Rx FIFO size to 1 reduces reader process wakeup latency up to 20x for baud rates <= 9600. This patch sets the Rx FIFO size to 1 for baud rates <= 9600 or if low latency has been requested for the tty. Signed-off-by: Michael Trimarchi <michael@gandalf.sssup.it> Signed-off-by: Bruno Morelli <bruno@evidence.eu.com> Signed-off-by: Baurzhan Ismagulov <ibr@radix50.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * serial: add Documentation about RS485 serial communicationsClaudio Scordino2010-11-11
| | | | | | | | | | | | | | | | | | | | Documentation about RS485 serial communications Signed-off-by: Claudio Scordino <claudio@evidence.eu.com> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Acked-by: Russell King <linux@arm.linux.org.uk> Acked-by: Grant Edwards <grant.b.edwards@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * n_gsm: clean up printksAlan Cox2010-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Original From Ken Mills but I redid it using pr_ helpers instead] Also fix up coding style, there are two warnings left but that is where the CodingStyle tools blow up because they cannot handle if (blah) { foo } else switch (x) { case 1: } Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * n_gsm: Fix support for legacy encodingAlan Cox2010-11-11
| | | | | | | | | | | | | | | | | | | | | | | | The mux supports several encoding schemes. Encoding 0 is a "not recommended" mode still sometimes used. This has now been tested with hardware that supports this mode, and found wanting. Fix the FCS handling in this mode and correct the state machine. Signed-off-by: Ken Mills <ken.k.mills@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * serial: Add support for UART on VIA VT8500 and compatiblesAlexey Charkov2010-11-11
| | | | | | | | | | | | | | | | | | | | | | This adds a driver for the serial ports found in VIA and WonderMedia Systems-on-Chip. Interrupt-driven FIFO operation is implemented. The hardware also supports pure register-based operation (which is slower) and DMA-based FIFO operation. As the FIFOs are only 16 bytes long, DMA operation is probably not worth the hassle. Signed-off-by: Alexey Charkov <alchark@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * ifx6x60: SPI protocol driver for Infineon 6x60 modemRuss Gorby2010-11-11
| | | | | | | | | | | | | | | | | | | | | | | | Prototype driver for the IFX6x60 series of SPI attached modems by Jim Stanley and Russ Gorby Signed-off-by: Russ Gorby <richardx.r.gorby@intel.com> [Some reworking and a major cleanup] Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | Merge branch 'usb-next' of ↵Linus Torvalds2011-01-07
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (144 commits) USB: add support for Dream Cheeky DL100B Webmail Notifier (1d34:0004) USB: serial: ftdi_sio: add support for TIOCSERGETLSR USB: ehci-mxc: Setup portsc register prior to accessing OTG viewport USB: atmel_usba_udc: fix freeing irq in usba_udc_remove() usb: ehci-omap: fix tll channel enable mask usb: ohci-omap3: fix trivial typo USB: gadget: ci13xxx: don't assume that PAGE_SIZE is 4096 USB: gadget: ci13xxx: fix complete() callback for no_interrupt rq's USB: gadget: update ci13xxx to work with g_ether USB: gadgets: ci13xxx: fix probing of compiled-in gadget drivers Revert "USB: musb: pm: don't rely fully on clock support" Revert "USB: musb: blackfin: pm: make it work" USB: uas: Use GFP_NOIO instead of GFP_KERNEL in I/O submission path USB: uas: Ensure we only bind to a UAS interface USB: uas: Rename sense pipe and sense urb to status pipe and status urb USB: uas: Use kzalloc instead of kmalloc USB: uas: Fix up the Sense IU usb: musb: core: kill unneeded #include's DA8xx: assign name to MUSB IRQ resource usb: gadget: g_ncm added ... Manually fix up trivial conflicts in USB Kconfig changes in: arch/arm/mach-omap2/Kconfig arch/sh/Kconfig drivers/usb/Kconfig drivers/usb/host/ehci-hcd.c and annoying chip clock data conflicts in: arch/arm/mach-omap2/clock3xxx_data.c arch/arm/mach-omap2/clock44xx_data.c
| * \ USB: Merge 2.6.37-rc5 into usb-nextGreg Kroah-Hartman2010-12-22
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is to resolve the conflict in the file, drivers/usb/gadget/composite.c that was due to a revert in Linus's tree needed for the 2.6.37 release. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | USB: add support for Dream Cheeky DL100B Webmail Notifier (1d34:0004)Melchior FRANZ2010-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far the USBLED driver only supports Delcom's "USB Visual Signal Indicator" (http://www.delcomproducts.com/products_USBLMP.asp). The driver generates virtual files "red", "green", and "blue" under the device's /sys/ directory, where color values can be read from and written to. This patch adds support for Dream Cheeky's "DL100B Webmail Notifier" (http://www.dreamcheeky.com/webmail-notifier -- available from several shops, such as http://www.conrad.at/ce/de/product/777048/USB-WEBMAIL). This device isn't as pretty as Delcom's, but it's *far* cheaper, and its 3 LEDs can be set in 32 brightness steps each. The grey envelope contour can easily be removed, leaving a rather neutral white box (with a few small holes), which is useful for generic signalling purposes. Of course, the small circuit board can easily be put into a prettier case. The DL100B device pretends to be a HID, but the HID descriptor shows that it's not overly useful as such (see below). The patch therefore removes the "HID-ness" (hid-core.c, hid-ids.h), and adds the necessary commands to usbled.c. The protocol info comes from the developer's manual that Dream Cheeky kindly provided (815DeveloperManual.pdf). HID descriptor: 0: 05 01 Usage Page 'Generic Desktop Controls' 2: 09 10 Usage 'Reserved' 4: a1 01 Collection 'Application (mouse, keyboard)' 6: 05 00 Usage Page 'Undefined' 8: 19 10 Usage Minimum = 16 10: 29 11 Usage Maximum = 17 12: 15 00 Logical Minimum = 0 14: 25 0f Logical Maximum = 15 16: 75 08 Report Size = 8 18: 95 08 Report Count = 8 20: 91 02 Output data *var abs lin pref-state null-pos non-vol bit-field 22: 19 10 Usage Minimum = 16 24: 29 11 Usage Maximum = 17 26: 15 00 Logical Minimum = 0 28: 25 0f Logical Maximum = 15 30: 75 08 Report Size = 8 32: 95 08 Report Count = 8 34: 81 00 Input data array abs lin pref-state null-pos non-vol bit-field 36: c0 End Collection Signed-off-by: Melchior FRANZ <mfranz@aon.at> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | USB: serial: ftdi_sio: add support for TIOCSERGETLSRGreg Kroah-Hartman2010-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Willem-Jan noticed that the ftdi_sio driver did not support the TIOCSERGETLSR ioctl, and some userspace programs rely on it. This patch adds the support. Reported-by: Willem-Jan de Hoog <wdehoog@exalondelft.nl> Tested-by: Willem-Jan de Hoog <wdehoog@exalondelft.nl> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | USB: ehci-mxc: Setup portsc register prior to accessing OTG viewportFabio Estevam2010-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to read/write to the i.MX OTG viewport register it is necessary to setup the PORTSCx register first. By default i.MX OTG port is configured for USB serial PHY. In order to use a ULPI PHY the PORTSCx register needs to be configured properly. commit 724c852 (USB: ehci/mxc: compile fix) placed the PORTSC setup after the OTG viewport is accessed and this causes ULPI read/write to fail. Revert the PORTSC setup order. Tested on a MX31PDK board with a ISP1504 transceiver: ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver mxc-ehci mxc-ehci.0: initializing i.MX USB Controller ULPI transceiver vendor/product ID 0x04cc/0x1504 Found NXP ISP1504 ULPI transceiver. ULPI integrity check: passed. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | USB: atmel_usba_udc: fix freeing irq in usba_udc_remove()Rob Emanuele2010-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a free_irq() call on vbus gpio when we remove udc so that the vbus irq is properly released. Signed-off-by: Rob Emanuele <rje@crystalfontz.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | usb: ehci-omap: fix tll channel enable maskAnand Gadiyar2010-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TLL channel enable code searches for the wrong mask, and could end up enabling the wrong port. Fix this. Signed-off-by: Anand Gadiyar <gadiyar@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | usb: ohci-omap3: fix trivial typoKeshava Munegowda2010-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the ohci-omap3 driver, not ehci-omap. Correct this obvious typo. Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com> Signed-off-by: Anand Gadiyar <gadiyar@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | USB: gadget: ci13xxx: don't assume that PAGE_SIZE is 4096Artem Leonenko2010-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Page size for transaction descriptors for CI13XXX has nothing common with page size from MM. Using platform and configuration specific PAGE_SIZE is wrong. Signed-off-by: Artem Leonenko <tikkeri@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | USB: gadget: ci13xxx: fix complete() callback for no_interrupt rq'sArtem Leonenko2010-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CI13xxx UDC driver doesn't call complete() callback for requests with flag no_interrupt set. Thus gadget drivers (like g_ether) are never notifed about successfully (or not) transmitted requests. As a result in case of g_ether and queued request with no_interrupt=1 fields g_ether is never notifed about sent packets and TX stalls. Solution: treat no_interrupt flag like all other UDC drivers do and call complete() callback for all requests. Signed-off-by: Artem Leonenko <tikkeri@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | USB: gadget: update ci13xxx to work with g_etherArtem Leonenko2010-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is one nasty scenario when CI13xxx driver fails: a) two or more rx requests are queued (g_ether does that) b) rx request completed, interrupt fires and ci13xxx dequeues rq c) request complete() callback gets called and in turn it calls ep_queue() c1) in ep_queue() request gets added to the TAIL of the rx queue list d) ep gets primed with rq from (b) e) interrupt fires f) request gets popped from queue head for hw dequeue G) requets from queue head wasn't enqueued g1) isr_tr_complete_low() doesn't enqueue more requests and it doesn't prime EP, rx traffic stalls Solution: a) enque queued requests ASAP, i.e. before calling complete() callback. b) don't HW enqueue and prime endpoint with recently added request and use the oldest request in the queue. Fixed issues: a) ep_queue() may return an error code despite request was successfully added to the queue (if _hardware_enqueue() fails) b) Added requests are always processed in LIFO order, even if they are added in complete() callback c) Finally more than two and more queued requests are processed consistently, even if they were added in complete() callback The fix was successfully tested on MIPS based SoC with 4KEc CPU core and CI13612 USB core. Board successfully boots with NFS root using g_ether on ci13xxx udc. Signed-off-by: Artem Leonenko <tikkeri@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | USB: gadgets: ci13xxx: fix probing of compiled-in gadget driversArtem Leonenko2010-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Built-in gadget drivers have NULL-ifed unbind() function. Checking whether unbind() is NULL will never let any compiled into kernel driver attach. Signed-off-by: Artem Leonenko <tikkeri@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | Merge branch 'usb-next' into musb-mergeGreg Kroah-Hartman2010-12-16
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * usb-next: (132 commits) USB: uas: Use GFP_NOIO instead of GFP_KERNEL in I/O submission path USB: uas: Ensure we only bind to a UAS interface USB: uas: Rename sense pipe and sense urb to status pipe and status urb USB: uas: Use kzalloc instead of kmalloc USB: uas: Fix up the Sense IU usb: musb: core: kill unneeded #include's DA8xx: assign name to MUSB IRQ resource usb: gadget: g_ncm added usb: gadget: f_ncm.c added usb: gadget: u_ether: prepare for NCM usb: pch_udc: Fix setup transfers with data out usb: pch_udc: Fix compile error, warnings and checkpatch warnings usb: add ab8500 usb transceiver driver USB: gadget: Implement runtime PM for MSM bus glue driver USB: gadget: Implement runtime PM for ci13xxx gadget USB: gadget: Add USB controller driver for MSM SoC USB: gadget: Introduce ci13xxx_udc_driver struct USB: gadget: Initialize ci13xxx gadget device's coherent DMA mask USB: gadget: Fix "scheduling while atomic" bugs in ci13xxx_udc USB: gadget: Separate out PCI bus code from ci13xxx_udc ...