diff for duplicates of <4EB3A009.10502@evidence.eu.com> diff --git a/a/1.txt b/N1/1.txt index 0dee7c6..0f57ac4 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -31,165 +31,3 @@ SER_RS485_RTS_ON_SEND for the voltage of the RTS pin; atmel_serial.c, instead, uses these values to know if a delay must be set before and after sending. This patch makes the usage of these variables consistent across all drivers and fixes the Documentation as well. ->From now on, SER_RS485_RTS_AFTER_SEND and SER_RS485_RTS_ON_SEND will be used to -set the voltage of the RTS pin (as in the crisv10.c driver); the delay will be -understood by looking only at the value of delay_rts_before_send and -delay_rts_after_send. - -Signed-off-by: Claudio Scordino <claudio@evidence.eu.com> -Signed-off-by: Darron Black <darron@griffin.net> ---- - Documentation/serial/serial-rs485.txt | 14 +++++++++++--- - drivers/tty/serial/atmel_serial.c | 20 +++++--------------- - drivers/tty/serial/crisv10.c | 10 ++-------- - include/linux/serial.h | 14 ++++++++------ - 4 files changed, 26 insertions(+), 32 deletions(-) - -diff --git a/Documentation/serial/serial-rs485.txt b/Documentation/serial/serial-rs485.txt -index 079cb3d..d3a7388 100644 ---- a/Documentation/serial/serial-rs485.txt -+++ b/Documentation/serial/serial-rs485.txt -@@ -97,15 +97,23 @@ - - struct serial_rs485 rs485conf; - -- /* Set RS485 mode: */ -+ /* Enable RS485 mode: */ - rs485conf.flags |= SER_RS485_ENABLED; - -+ /* Set voltage value for RTS pin equal to 1 when sending: */ -+ rs485conf.flags |= SER_RS485_RTS_ON_SEND; -+ /* or, set voltage value for RTS pin equal to 0 when sending: */ -+ rs485conf.flags &= ~(SER_RS485_RTS_ON_SEND); -+ -+ /* Set voltage value for RTS pin equal to 1 after sending: */ -+ rs485conf.flags |= SER_RS485_RTS_AFTER_SEND; -+ /* or, set voltage value for RTS pin equal to 0 after sending: */ -+ rs485conf.flags &= ~(SER_RS485_RTS_AFTER_SEND); -+ - /* Set rts delay before send, if needed: */ -- rs485conf.flags |= SER_RS485_RTS_BEFORE_SEND; - rs485conf.delay_rts_before_send = ...; - - /* Set rts delay after send, if needed: */ -- rs485conf.flags |= SER_RS485_RTS_AFTER_SEND; - rs485conf.delay_rts_after_send = ...; - - /* Set this flag if you want to receive data even whilst sending data */ -diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c -index 4a0f86f..23aa677 100644 ---- a/drivers/tty/serial/atmel_serial.c -+++ b/drivers/tty/serial/atmel_serial.c -@@ -228,7 +228,7 @@ void atmel_config_rs485(struct uart_port *port, struct serial_rs485 *rs485conf) - if (rs485conf->flags & SER_RS485_ENABLED) { - dev_dbg(port->dev, "Setting UART to RS485\n"); - atmel_port->tx_done_mask = ATMEL_US_TXEMPTY; -- if (rs485conf->flags & SER_RS485_RTS_AFTER_SEND) -+ if ((rs485conf->delay_rts_after_send) > 0) - UART_PUT_TTGR(port, rs485conf->delay_rts_after_send); - mode |= ATMEL_US_USMODE_RS485; - } else { -@@ -304,9 +304,9 @@ static void atmel_set_mctrl(struct uart_port *port, u_int mctrl) - - if (atmel_port->rs485.flags & SER_RS485_ENABLED) { - dev_dbg(port->dev, "Setting UART to RS485\n"); -- if (atmel_port->rs485.flags & SER_RS485_RTS_AFTER_SEND) -+ if ((atmel_port->rs485.delay_rts_after_send) > 0) - UART_PUT_TTGR(port, -- atmel_port->rs485.delay_rts_after_send); -+ atmel_port->rs485.delay_rts_after_send); - mode |= ATMEL_US_USMODE_RS485; - } else { - dev_dbg(port->dev, "Setting UART to RS232\n"); -@@ -1228,9 +1228,9 @@ static void atmel_set_termios(struct uart_port *port, struct ktermios *termios, - - if (atmel_port->rs485.flags & SER_RS485_ENABLED) { - dev_dbg(port->dev, "Setting UART to RS485\n"); -- if (atmel_port->rs485.flags & SER_RS485_RTS_AFTER_SEND) -+ if ((atmel_port->rs485.delay_rts_after_send) > 0) - UART_PUT_TTGR(port, -- atmel_port->rs485.delay_rts_after_send); -+ atmel_port->rs485.delay_rts_after_send); - mode |= ATMEL_US_USMODE_RS485; - } else { - dev_dbg(port->dev, "Setting UART to RS232\n"); -@@ -1447,16 +1447,6 @@ static void __devinit atmel_of_init_port(struct atmel_uart_port *atmel_port, - rs485conf->delay_rts_after_send = rs485_delay[1]; - rs485conf->flags = 0; - -- if (rs485conf->delay_rts_before_send == 0 && -- rs485conf->delay_rts_after_send == 0) { -- rs485conf->flags |= SER_RS485_RTS_ON_SEND; -- } else { -- if (rs485conf->delay_rts_before_send) -- rs485conf->flags |= SER_RS485_RTS_BEFORE_SEND; -- if (rs485conf->delay_rts_after_send) -- rs485conf->flags |= SER_RS485_RTS_AFTER_SEND; -- } -- - if (of_get_property(np, "rs485-rx-during-tx", NULL)) - rs485conf->flags |= SER_RS485_RX_DURING_TX; - -diff --git a/drivers/tty/serial/crisv10.c b/drivers/tty/serial/crisv10.c -index b743504..1dfba7b 100644 ---- a/drivers/tty/serial/crisv10.c -+++ b/drivers/tty/serial/crisv10.c -@@ -3234,9 +3234,8 @@ rs_write(struct tty_struct *tty, - e100_disable_rx(info); - e100_enable_rx_irq(info); - #endif -- if ((info->rs485.flags & SER_RS485_RTS_BEFORE_SEND) && -- (info->rs485.delay_rts_before_send > 0)) -- msleep(info->rs485.delay_rts_before_send); -+ if (info->rs485.delay_rts_before_send > 0) -+ msleep(info->rs485.delay_rts_before_send); - } - #endif /* CONFIG_ETRAX_RS485 */ - -@@ -3693,10 +3692,6 @@ rs_ioctl(struct tty_struct *tty, - - rs485data.delay_rts_before_send = rs485ctrl.delay_rts_before_send; - rs485data.flags = 0; -- if (rs485data.delay_rts_before_send != 0) -- rs485data.flags |= SER_RS485_RTS_BEFORE_SEND; -- else -- rs485data.flags &= ~(SER_RS485_RTS_BEFORE_SEND); - - if (rs485ctrl.enabled) - rs485data.flags |= SER_RS485_ENABLED; -@@ -4531,7 +4526,6 @@ static int __init rs_init(void) - /* Set sane defaults */ - info->rs485.flags &= ~(SER_RS485_RTS_ON_SEND); - info->rs485.flags |= SER_RS485_RTS_AFTER_SEND; -- info->rs485.flags &= ~(SER_RS485_RTS_BEFORE_SEND); - info->rs485.delay_rts_before_send = 0; - info->rs485.flags &= ~(SER_RS485_ENABLED); - #endif -diff --git a/include/linux/serial.h b/include/linux/serial.h -index 97ff8e2..5a9fd4a 100644 ---- a/include/linux/serial.h -+++ b/include/linux/serial.h -@@ -207,13 +207,15 @@ struct serial_icounter_struct { - - struct serial_rs485 { - __u32 flags; /* RS485 feature flags */ --#define SER_RS485_ENABLED (1 << 0) --#define SER_RS485_RTS_ON_SEND (1 << 1) --#define SER_RS485_RTS_AFTER_SEND (1 << 2) --#define SER_RS485_RTS_BEFORE_SEND (1 << 3) -+#define SER_RS485_ENABLED (1 << 0) /* If enabled */ -+#define SER_RS485_RTS_ON_SEND (1 << 1) /* Voltage value for -+ RTS pin when -+ sending */ -+#define SER_RS485_RTS_AFTER_SEND (1 << 2) /* Voltage value for -+ RTS pin after sent*/ - #define SER_RS485_RX_DURING_TX (1 << 4) -- __u32 delay_rts_before_send; /* Milliseconds */ -- __u32 delay_rts_after_send; /* Milliseconds */ -+ __u32 delay_rts_before_send; /* Delay before send (milliseconds) */ -+ __u32 delay_rts_after_send; /* Delay after send (milliseconds) */ - __u32 padding[5]; /* Memory is cheap, new structs - are a royal PITA .. */ - }; --- -1.7.1 diff --git a/a/content_digest b/N1/content_digest index 8071da1..a24683c 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,17 +1,9 @@ "ref\04E492CFF.7040905@pwrnet.de\0" "ref\020110822211832.GA8023@kroah.com\0" - "From\0Claudio Scordino <claudio@evidence.eu.com>\0" + "From\0claudio@evidence.eu.com (Claudio Scordino)\0" "Subject\0[PATCH] RS485: fix inconsistencies in the meaning of some variables\0" "Date\0Fri, 04 Nov 2011 09:19:21 +0100\0" - "To\0alan@linux.intel.com" - " Greg KH <greg@kroah.com>\0" - "Cc\0nicolas.ferre@atmel.com" - linux-kernel@vger.kernel.org - linux-serial@vger.kernel.org - linux-arm-kernel@lists.infradead.org - Jesper Nilsson <Jesper.Nilsson@axis.com> - Mikael Starvik <mikael.starvik@axis.com> - " Darron Black <darron@griffin.net>\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" "Hi Alan, Hi Greg,\n" @@ -46,168 +38,6 @@ "SER_RS485_RTS_ON_SEND for the voltage of the RTS pin; atmel_serial.c, instead,\n" "uses these values to know if a delay must be set before and after sending.\n" "This patch makes the usage of these variables consistent across all drivers and\n" - "fixes the Documentation as well.\n" - ">From now on, SER_RS485_RTS_AFTER_SEND and SER_RS485_RTS_ON_SEND will be used to\n" - "set the voltage of the RTS pin (as in the crisv10.c driver); the delay will be\n" - "understood by looking only at the value of delay_rts_before_send and \n" - "delay_rts_after_send.\n" - "\n" - "Signed-off-by: Claudio Scordino <claudio@evidence.eu.com>\n" - "Signed-off-by: Darron Black <darron@griffin.net>\n" - "---\n" - " Documentation/serial/serial-rs485.txt | 14 +++++++++++---\n" - " drivers/tty/serial/atmel_serial.c | 20 +++++---------------\n" - " drivers/tty/serial/crisv10.c | 10 ++--------\n" - " include/linux/serial.h | 14 ++++++++------\n" - " 4 files changed, 26 insertions(+), 32 deletions(-)\n" - "\n" - "diff --git a/Documentation/serial/serial-rs485.txt b/Documentation/serial/serial-rs485.txt\n" - "index 079cb3d..d3a7388 100644\n" - "--- a/Documentation/serial/serial-rs485.txt\n" - "+++ b/Documentation/serial/serial-rs485.txt\n" - "@@ -97,15 +97,23 @@\n" - " \n" - " \tstruct serial_rs485 rs485conf;\n" - " \n" - "-\t/* Set RS485 mode: */\n" - "+\t/* Enable RS485 mode: */\n" - " \trs485conf.flags |= SER_RS485_ENABLED;\n" - " \n" - "+\t/* Set voltage value for RTS pin equal to 1 when sending: */\n" - "+\trs485conf.flags |= SER_RS485_RTS_ON_SEND;\n" - "+\t/* or, set voltage value for RTS pin equal to 0 when sending: */\n" - "+\trs485conf.flags &= ~(SER_RS485_RTS_ON_SEND);\n" - "+\n" - "+\t/* Set voltage value for RTS pin equal to 1 after sending: */\n" - "+\trs485conf.flags |= SER_RS485_RTS_AFTER_SEND;\n" - "+\t/* or, set voltage value for RTS pin equal to 0 after sending: */\n" - "+\trs485conf.flags &= ~(SER_RS485_RTS_AFTER_SEND);\n" - "+\n" - " \t/* Set rts delay before send, if needed: */\n" - "-\trs485conf.flags |= SER_RS485_RTS_BEFORE_SEND;\n" - " \trs485conf.delay_rts_before_send = ...;\n" - " \n" - " \t/* Set rts delay after send, if needed: */\n" - "-\trs485conf.flags |= SER_RS485_RTS_AFTER_SEND;\n" - " \trs485conf.delay_rts_after_send = ...;\n" - " \n" - " \t/* Set this flag if you want to receive data even whilst sending data */\n" - "diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c\n" - "index 4a0f86f..23aa677 100644\n" - "--- a/drivers/tty/serial/atmel_serial.c\n" - "+++ b/drivers/tty/serial/atmel_serial.c\n" - "@@ -228,7 +228,7 @@ void atmel_config_rs485(struct uart_port *port, struct serial_rs485 *rs485conf)\n" - " \tif (rs485conf->flags & SER_RS485_ENABLED) {\n" - " \t\tdev_dbg(port->dev, \"Setting UART to RS485\\n\");\n" - " \t\tatmel_port->tx_done_mask = ATMEL_US_TXEMPTY;\n" - "-\t\tif (rs485conf->flags & SER_RS485_RTS_AFTER_SEND)\n" - "+\t\tif ((rs485conf->delay_rts_after_send) > 0)\n" - " \t\t\tUART_PUT_TTGR(port, rs485conf->delay_rts_after_send);\n" - " \t\tmode |= ATMEL_US_USMODE_RS485;\n" - " \t} else {\n" - "@@ -304,9 +304,9 @@ static void atmel_set_mctrl(struct uart_port *port, u_int mctrl)\n" - " \n" - " \tif (atmel_port->rs485.flags & SER_RS485_ENABLED) {\n" - " \t\tdev_dbg(port->dev, \"Setting UART to RS485\\n\");\n" - "-\t\tif (atmel_port->rs485.flags & SER_RS485_RTS_AFTER_SEND)\n" - "+\t\tif ((atmel_port->rs485.delay_rts_after_send) > 0)\n" - " \t\t\tUART_PUT_TTGR(port,\n" - "-\t\t\t\t\tatmel_port->rs485.delay_rts_after_send);\n" - "+\t\t\t atmel_port->rs485.delay_rts_after_send);\n" - " \t\tmode |= ATMEL_US_USMODE_RS485;\n" - " \t} else {\n" - " \t\tdev_dbg(port->dev, \"Setting UART to RS232\\n\");\n" - "@@ -1228,9 +1228,9 @@ static void atmel_set_termios(struct uart_port *port, struct ktermios *termios,\n" - " \n" - " \tif (atmel_port->rs485.flags & SER_RS485_ENABLED) {\n" - " \t\tdev_dbg(port->dev, \"Setting UART to RS485\\n\");\n" - "-\t\tif (atmel_port->rs485.flags & SER_RS485_RTS_AFTER_SEND)\n" - "+\t\tif ((atmel_port->rs485.delay_rts_after_send) > 0)\n" - " \t\t\tUART_PUT_TTGR(port,\n" - "-\t\t\t\t\tatmel_port->rs485.delay_rts_after_send);\n" - "+\t\t\t atmel_port->rs485.delay_rts_after_send);\n" - " \t\tmode |= ATMEL_US_USMODE_RS485;\n" - " \t} else {\n" - " \t\tdev_dbg(port->dev, \"Setting UART to RS232\\n\");\n" - "@@ -1447,16 +1447,6 @@ static void __devinit atmel_of_init_port(struct atmel_uart_port *atmel_port,\n" - " \t\trs485conf->delay_rts_after_send = rs485_delay[1];\n" - " \t\trs485conf->flags = 0;\n" - " \n" - "-\t\tif (rs485conf->delay_rts_before_send == 0 &&\n" - "-\t\t rs485conf->delay_rts_after_send == 0) {\n" - "-\t\t\trs485conf->flags |= SER_RS485_RTS_ON_SEND;\n" - "-\t\t} else {\n" - "-\t\t\tif (rs485conf->delay_rts_before_send)\n" - "-\t\t\t\trs485conf->flags |= SER_RS485_RTS_BEFORE_SEND;\n" - "-\t\t\tif (rs485conf->delay_rts_after_send)\n" - "-\t\t\t\trs485conf->flags |= SER_RS485_RTS_AFTER_SEND;\n" - "-\t\t}\n" - "-\n" - " \t\tif (of_get_property(np, \"rs485-rx-during-tx\", NULL))\n" - " \t\t\trs485conf->flags |= SER_RS485_RX_DURING_TX;\n" - " \n" - "diff --git a/drivers/tty/serial/crisv10.c b/drivers/tty/serial/crisv10.c\n" - "index b743504..1dfba7b 100644\n" - "--- a/drivers/tty/serial/crisv10.c\n" - "+++ b/drivers/tty/serial/crisv10.c\n" - "@@ -3234,9 +3234,8 @@ rs_write(struct tty_struct *tty,\n" - " \t\te100_disable_rx(info);\n" - " \t\te100_enable_rx_irq(info);\n" - " #endif\n" - "-\t\tif ((info->rs485.flags & SER_RS485_RTS_BEFORE_SEND) &&\n" - "-\t\t\t(info->rs485.delay_rts_before_send > 0))\n" - "-\t\t\t\tmsleep(info->rs485.delay_rts_before_send);\n" - "+\t\tif (info->rs485.delay_rts_before_send > 0)\n" - "+\t\t\tmsleep(info->rs485.delay_rts_before_send);\n" - " \t}\n" - " #endif /* CONFIG_ETRAX_RS485 */\n" - " \n" - "@@ -3693,10 +3692,6 @@ rs_ioctl(struct tty_struct *tty,\n" - " \n" - " \t\trs485data.delay_rts_before_send = rs485ctrl.delay_rts_before_send;\n" - " \t\trs485data.flags = 0;\n" - "-\t\tif (rs485data.delay_rts_before_send != 0)\n" - "-\t\t\trs485data.flags |= SER_RS485_RTS_BEFORE_SEND;\n" - "-\t\telse\n" - "-\t\t\trs485data.flags &= ~(SER_RS485_RTS_BEFORE_SEND);\n" - " \n" - " \t\tif (rs485ctrl.enabled)\n" - " \t\t\trs485data.flags |= SER_RS485_ENABLED;\n" - "@@ -4531,7 +4526,6 @@ static int __init rs_init(void)\n" - " \t\t/* Set sane defaults */\n" - " \t\tinfo->rs485.flags &= ~(SER_RS485_RTS_ON_SEND);\n" - " \t\tinfo->rs485.flags |= SER_RS485_RTS_AFTER_SEND;\n" - "-\t\tinfo->rs485.flags &= ~(SER_RS485_RTS_BEFORE_SEND);\n" - " \t\tinfo->rs485.delay_rts_before_send = 0;\n" - " \t\tinfo->rs485.flags &= ~(SER_RS485_ENABLED);\n" - " #endif\n" - "diff --git a/include/linux/serial.h b/include/linux/serial.h\n" - "index 97ff8e2..5a9fd4a 100644\n" - "--- a/include/linux/serial.h\n" - "+++ b/include/linux/serial.h\n" - "@@ -207,13 +207,15 @@ struct serial_icounter_struct {\n" - " \n" - " struct serial_rs485 {\n" - " \t__u32\tflags;\t\t\t/* RS485 feature flags */\n" - "-#define SER_RS485_ENABLED\t\t(1 << 0)\n" - "-#define SER_RS485_RTS_ON_SEND\t\t(1 << 1)\n" - "-#define SER_RS485_RTS_AFTER_SEND\t(1 << 2)\n" - "-#define SER_RS485_RTS_BEFORE_SEND\t(1 << 3)\n" - "+#define SER_RS485_ENABLED\t\t(1 << 0)\t/* If enabled */\n" - "+#define SER_RS485_RTS_ON_SEND\t\t(1 << 1)\t/* Voltage value for\n" - "+\t\t\t\t\t\t\t RTS pin when\n" - "+\t\t\t\t\t\t\t sending */\n" - "+#define SER_RS485_RTS_AFTER_SEND\t(1 << 2)\t/* Voltage value for\n" - "+\t\t\t\t\t\t\t RTS pin after sent*/\n" - " #define SER_RS485_RX_DURING_TX\t\t(1 << 4)\n" - "-\t__u32\tdelay_rts_before_send;\t/* Milliseconds */\n" - "-\t__u32\tdelay_rts_after_send;\t/* Milliseconds */\n" - "+\t__u32\tdelay_rts_before_send;\t/* Delay before send (milliseconds) */\n" - "+\t__u32\tdelay_rts_after_send;\t/* Delay after send (milliseconds) */\n" - " \t__u32\tpadding[5];\t\t/* Memory is cheap, new structs\n" - " \t\t\t\t\t are a royal PITA .. */\n" - " };\n" - "-- \n" - 1.7.1 + fixes the Documentation as well. -b4bf9fe0e1ecdfc176233581afd3b88bdd80dac807cde58683730c4bcb28173e +4f89860e7cce3aeb28f55bae29c4ed009abe410660f8d862162e8cfa3f0671f9
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.