serial: of_serial: Handle auto-flow-control property
Automatic Flow Control capability is not tied to this property. This is only one way of detecting it. The property is limited to be used only with 8250 driver. Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
44a459fd83
commit
b0b8c84cf5
|
@ -34,6 +34,9 @@ Optional properties:
|
|||
- no-loopback-test: set to indicate that the port does not implements loopback
|
||||
test mode
|
||||
- fifo-size: the fifo size of the UART.
|
||||
- auto-flow-control: one way to enable automatic flow control support. The
|
||||
driver is allowed to detect support for the capability even without this
|
||||
property.
|
||||
|
||||
Example:
|
||||
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
#include <linux/slab.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/serial_8250.h>
|
||||
#include <linux/serial_reg.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/of_irq.h>
|
||||
|
@ -22,6 +21,8 @@
|
|||
#include <linux/nwpserial.h>
|
||||
#include <linux/clk.h>
|
||||
|
||||
#include "8250/8250.h"
|
||||
|
||||
struct of_serial_info {
|
||||
struct clk *clk;
|
||||
int type;
|
||||
|
@ -171,11 +172,17 @@ static int of_platform_serial_probe(struct platform_device *ofdev)
|
|||
#ifdef CONFIG_SERIAL_8250
|
||||
case PORT_8250 ... PORT_MAX_8250:
|
||||
{
|
||||
/* For now the of bindings don't support the extra
|
||||
8250 specific bits */
|
||||
struct uart_8250_port port8250;
|
||||
memset(&port8250, 0, sizeof(port8250));
|
||||
port8250.port = port;
|
||||
|
||||
if (port.fifosize)
|
||||
port8250.capabilities = UART_CAP_FIFO;
|
||||
|
||||
if (of_property_read_bool(ofdev->dev.of_node,
|
||||
"auto-flow-control"))
|
||||
port8250.capabilities |= UART_CAP_AFE;
|
||||
|
||||
ret = serial8250_register_8250_port(&port8250);
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue