David Daney | 8 Oct 01:42

[PATCH 0/4] serial: 8250 driver improvements & Cavium OCTEON serial support

This is a follow up to the 'Allow for replaceable I/O functions in
8250 driver' patch I sent yesterday.  I hope it addresses the issues
raised by Alan Cox and Arnd Bergmann.

The four parts of the patch are as follows:

1/4) Add replaceable I/O functions to the 8250 driver.  This allows
     platform specific register access code to be moved out of the
     driver into the platform support files.

2/4) Add a new port flag UPF_FIXED_TYPE that allows callers of
     serial8250_register_port() to specify the port type and disables
     probing.

3/4) Add a 'bugs' field to the serial8250_config.  Used in conjunction
     with 2/4, this allows the bugs flags to be set without probing.

4/4) Add an entry to uart_config for PORT_OCTEON describing the
     OCTEON's internal UARTs.  Two new bug flags are defined to
     account for PORT_OCTEON's peculiarities.

Comments welcome,

David Daney
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

(Continue reading)

David Daney | 7 Oct 02:36

[PATCH] serial: Add Cavium OCTEON UART definitions.

cavium: 8250 serial driver changes

As mentioned in '[PATCH 1/2] serial: Allow for replaceable I/O
functions in 8250 driver.', we are in the process of preparing kernel
support for the Cavium Networks OCTEON processor for inclusion in the
main-line kernel sources.

The OCTEON's UART differs from the existing uart_configs, so we add a
new uart_config and check for it in several places.

This patch depends on the aforementioned 'Allow for replaceable I/O
functions in 8250 driver' patch.

Since this patch is part of the Cavium OCTEON processor port, we don't
expect that it would be committed until the rest of the port is
accepted.  However we would like feedback so that it might be
adjusted if necessary.

Signed-off-by: Tomaso Paoletti <tpaoletti <at> caviumnetworks.com>
Signed-off-by: David Daney <ddaney <at> caviumnetworks.com>
---
 drivers/serial/8250.c       |   30 +++++++++++++++++++++++++++---
 include/linux/serial_core.h |    3 ++-
 include/linux/serial_reg.h  |    6 ++++++
 3 files changed, 35 insertions(+), 4 deletions(-)

diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index 02771d6..2ef79e9 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
(Continue reading)

johnny | 3 Oct 07:09

Help:Serial / Parallel Port Control Under Linux

Hi, 

Right Now I need to write a simple C code to control the serial / parallel
port under linux working like this:
Detect there is an input signal / voltage change and send some output signal
/ voltage accordingly, eg: if DSR is detected to be high, I want to set RTS
to be high as well; if RI is detected to be high, I want DTR set to be low
etc.

I have read the Serial-How to and Serial programming-How to, however I am
still not so clear regarding to this simple programming.

Could anyone direct me some useful references / codes regarding to this
project?

Thanks & Best Regards,
 
Johnny Xing

--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[PATCH RESEND] MAX3100 SPI UART driver

This patch adds support for the MAX3100 SPI UART. I am still
waiting for a minor number from device <at> lanana.org so that
may change.

Generated on  20081002  against v2.6.27-rc7

Signed-off-by: Christian Pellegrin <chripell <at> fsfe.org>
---
 drivers/serial/Kconfig         |    6 +-
 drivers/serial/Makefile        |    1 +
 drivers/serial/max3100.c       |  924 ++++++++++++++++++++++++++++++++++++++++
 include/linux/serial_core.h    |    3 +
 include/linux/serial_max3100.h |   53 +++
 5 files changed, 986 insertions(+), 1 deletions(-)

diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 77cb342..de3193d 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -509,7 +509,11 @@ config SERIAL_S3C2440
 	help
 	  Serial port support for the Samsung S3C2440 and S3C2442 SoC

-
+config SERIAL_MAX3100
+        tristate "MAX3100 support"
+        depends on SPI
+        help
+          MAX3100 chip support

(Continue reading)

Aristeu Rozanski | 30 Sep 20:37

[PATCH RFC 0/6] serial: make hardware flow control more flexible

This series of patches begins the changes in the serial code to allow more
flexible hardware flow control rules. Instead of having fixed models like
RTS/CTS or DSR/DTR, the new termiox structure will instead allow to specify
which pins will be used.

Currently, termiox has four flags: RTSXOFF, CTSXON, DTRXOFF and DSRXON. This
is not yet enough to fully specify Linux' CRTSCTS since it uses the DTR always
on while the serial port is available (and RTS to signal if the system is ready
or not to receive data). The plan is add RTSON and DTRON to termiox to allow
the user to specify that those pins will be always set while the serial port
is available.

These patches are not intended for inclusion, just to continue the discussion.

--

-- 
Aristeu

--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Paulius Zaleckas | 24 Sep 15:05

[PATCH] 8250: Add UPF_NO_EFR flag

Gemini SoC UART has aditional prescaler register at the same
address as EFR accessible only when DLAB=1.
We need this flag for autodetection to work correctly.

Signed-off-by: Paulius Zaleckas <paulius.zaleckas <at> teltonika.lt>
---

 drivers/serial/8250.c       |   12 +++++++++---
 include/linux/serial_core.h |    1 +
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index 9ccc563..0ca1f9d 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -843,6 +843,9 @@ static void autoconfig_16550a(struct uart_8250_port *up)
 	up->port.type = PORT_16550A;
 	up->capabilities |= UART_CAP_FIFO;

+	if (up->port.flags & UPF_NO_EFR)
+		goto skip_efr;
+
 	/*
 	 * Check for presence of the EFR when DLAB is set.
 	 * Only ST16C650V1 UARTs pass this test.
@@ -872,6 +875,7 @@ static void autoconfig_16550a(struct uart_8250_port *up)
 		return;
 	}

+skip_efr:
(Continue reading)

Chris Doré | 22 Sep 14:22

tty_struct size

Hi all,

Sorry if this has been covered before, I just want to clarify a comment
about the size of the tty_struct structure that I see in older kernels
(2.4.22 era).

tty.h:
"IMPORTANT: since this structure is dynamically allocated, it must be no
larger than 4096 bytes.  Changing TTY_FLIPBUF_SIZE will change the size of
this structure, and it needs to be done with care."

Doing some research I believe this comment is from a time when the TTY
structures were allocated using get_zeroed_page(), hence the page size
looking limit in the comment.  Since kmalloc() is now used it would seem
that this comment no longer applies, however I wanted to make sure that the
4K limit is not there for another reason.

So, do I need to worry about the size of tty_struct (I'm going to experiment
with the flip buffer, on 2.4.22)?

Thanks, Chris

--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Alexander Beregalov | 21 Sep 03:10

[PATCH] serial_core: fix printk format warnings

drivers/serial/serial_core.c:2158: warning: format '%x' expects type
'unsigned int', but argument 4 has type 'long unsigned int'
drivers/serial/serial_core.c:2162: warning: format '%x' expects type
'unsigned int', but argument 4 has type 'long unsigned int

Signed-off-by: Alexander Beregalov <a.beregalov <at> gmail.com>
---

 drivers/serial/serial_core.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c
index effd0bd..d531ae9 100644
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
@@ -2155,11 +2155,11 @@ uart_report_port(struct uart_driver *drv, struct uart_port *port)
 	switch (port->iotype) {
 	case UPIO_PORT:
 		snprintf(address, sizeof(address),
-			 "I/O 0x%x", port->iobase);
+			 "I/O 0x%lx", port->iobase);
 		break;
 	case UPIO_HUB6:
 		snprintf(address, sizeof(address),
-			 "I/O 0x%x offset 0x%x", port->iobase, port->hub6);
+			 "I/O 0x%lx offset 0x%x", port->iobase, port->hub6);
 		break;
 	case UPIO_MEM:
 	case UPIO_MEM32:
--
(Continue reading)

Christian Pellegrin | 20 Sep 14:56

[PATCH RESEND] max3100 driver

This patch adds support for the MAX3100 SPI UART.

Generated on  20080920  against v2.6.27-rc6

Signed-off-by: Christian Pellegrin <chripell <at> fsfe.org>
---
 Documentation/devices.txt      |    3 +
 drivers/serial/Kconfig         |    6 +-
 drivers/serial/Makefile        |    1 +
 drivers/serial/max3100.c       |  953 ++++++++++++++++++++++++++++++++++++++++
 include/linux/serial_core.h    |    3 +
 include/linux/serial_max3100.h |   31 ++
 6 files changed, 996 insertions(+), 1 deletions(-)

diff --git a/Documentation/devices.txt b/Documentation/devices.txt
index 05c8064..c228887 100644
--- a/Documentation/devices.txt
+++ b/Documentation/devices.txt
@@ -2807,6 +2807,9 @@ Your cooperation is appreciated.
 		    ...
 		 190 = /dev/ttyUL3		Xilinx uartlite - port 3
 		 191 = /dev/xvc0		Xen virtual console - port 0
+		 192 = /dev/ttyMAX0             first MAX3100 UART
+		    ...
+ 		 195 = /dev/ttyMAX3             fourth MAX3100 UART

 205 char	Low-density serial ports (alternate device)
 		  0 = /dev/culu0		Callout device for ttyLU0
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 77cb342..de3193d 100644
(Continue reading)

Christian Pellegrin | 20 Sep 09:19

[PATCH] max3100 driver

This patch adds support for the MAX3100 SPI UART.

Generated on  20080920  against v2.6.27-rc6

Signed-off-by: Christian Pellegrin <chripell <at> fsfe.org>
---
 drivers/serial/Kconfig         |    6 +-
 drivers/serial/Makefile        |    1 +
 drivers/serial/max3100.c       |  976 ++++++++++++++++++++++++++++++++++++++++
 include/linux/serial_core.h    |    3 +
 include/linux/serial_max3100.h |   31 ++
 5 files changed, 1016 insertions(+), 1 deletions(-)

diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 77cb342..de3193d 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -509,7 +509,11 @@ config SERIAL_S3C2440
 	help
 	  Serial port support for the Samsung S3C2440 and S3C2442 SoC

-
+config SERIAL_MAX3100
+        tristate "MAX3100 support"
+        depends on SPI
+        help
+          MAX3100 chip support

 config SERIAL_DZ
 	bool "DECstation DZ serial driver"
(Continue reading)

Haavard Skinnemoen | 19 Sep 17:10

[PATCH] atmel_serial: update the powersave handler to match serial core

From: Anti Sullin <anti.sullin <at> artecdesign.ee>

This problem seems to be unnoticed so far:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3b708fa2780cd2b5d8266a8f0c3a1cab364d4d2

has changed the serial core behavior to not to suspend the port if the
device is enabled as a wakeup source. If the AT91 system goes to slow
clock mode, the port should be suspended always and the clocks should be
switched off.  The patch attached updates the atmel_serial driver to
match the changes in serial core.

Also, the interrupts are disabled when the clock is disabled. If we
disable the clock with interrupts enabled, an interrupt may get stuck.
If this is the DBGU interrupt, this blocks the OR logic at system
controller and thus all other sysc interrupts.

Signed-off-by: Anti Sullin <anti.sullin <at> artecdesign.ee>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen <at> atmel.com>
---
 drivers/serial/atmel_serial.c |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
index 3a6da80..eeb2ca3 100644
--- a/drivers/serial/atmel_serial.c
+++ b/drivers/serial/atmel_serial.c
@@ -131,7 +131,8 @@ struct atmel_uart_char {
 struct atmel_uart_port {
 	struct uart_port	uart;		/* uart */
(Continue reading)


Gmane