diff options
| author | Claudio Scordino <claudio@evidence.eu.com> | 2011-11-09 15:51:49 +0100 | 
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-11-15 12:13:44 -0800 | 
| commit | 93f3350c46fa5dfcc9650eb19b186e71ffc924c3 (patch) | |
| tree | 13b6f81f9fd85227283b38af6267d094e0038beb /Documentation/serial | |
| parent | 90f04c2926cfb5bf74533b0a7766bc896f6a0c0e (diff) | |
| download | linux-93f3350c46fa5dfcc9650eb19b186e71ffc924c3.tar.bz2 | |
RS485: fix inconsistencies in the meaning of some variables
The crisv10.c and the atmel_serial.c serial drivers intepret the fields of the
serial_rs485 structure in a different way.
In particular, crisv10.c uses SER_RS485_RTS_AFTER_SEND and
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>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'Documentation/serial')
| -rw-r--r-- | Documentation/serial/serial-rs485.txt | 14 | 
1 files changed, 11 insertions, 3 deletions
| diff --git a/Documentation/serial/serial-rs485.txt b/Documentation/serial/serial-rs485.txt index 079cb3df62cf..41c8378c0b2f 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 logical level for RTS pin equal to 1 when sending: */ +	rs485conf.flags |= SER_RS485_RTS_ON_SEND; +	/* or, set logical level for RTS pin equal to 0 when sending: */ +	rs485conf.flags &= ~(SER_RS485_RTS_ON_SEND); + +	/* Set logical level for RTS pin equal to 1 after sending: */ +	rs485conf.flags |= SER_RS485_RTS_AFTER_SEND; +	/* or, set logical level 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 */ |