Re: [PATCH 2/2] serial: of_serial: Handle fifosize property

Ley Foon Tan
2013-03-21T11:41:54Z

On Thu, 2013-03-21 at 12:48 +0200, Heikki Krogerus wrote:
> fifosize property is already used with a number of serial
> devices. This should reduce the need for extra types in
> 8250.c just in case the fifosize differs from the standard.
>
> Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> ---
> Documentation/devicetree/bindings/tty/serial/of-serial.txt | 1 +
> drivers/tty/serial/of_serial.c | 4 ++++
> 2 files changed, 5 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/tty/serial/of-serial.txt b/Documentation/devicetree/bindings/tty/serial/of-serial.txt
> index 8f01cb1..55fe4e7 100644
> --- a/Documentation/devicetree/bindings/tty/serial/of-serial.txt
> +++ b/Documentation/devicetree/bindings/tty/serial/of-serial.txt
> @@ -33,6 +33,7 @@ Optional properties:
> RTAS and should not be registered.
> - no-loopback-test: set to indicate that the port does not implements loopback
> test mode
> +- fifosize: the fifo size of the UART.
>
> Example:
>
> diff --git a/drivers/tty/serial/of_serial.c b/drivers/tty/serial/of_serial.c
> index b025d54..4f89761 100644
> --- a/drivers/tty/serial/of_serial.c
> +++ b/drivers/tty/serial/of_serial.c
> @@ -97,6 +97,10 @@ static int of_platform_serial_setup(struct platform_device *ofdev,
> if (of_property_read_u32(np, "reg-shift", &prop) == 0)
> port->regshift = prop;
>
> + /* Check for fifo size */
> + if (of_property_read_u32(np, "fifosize", &prop) == 0)
> + port->fifosize = prop;
> +
Suggest to use "fifo-size" for the device tree property, to align with
other DT properties.

> port->irq = irq_of_parse_and_map(np, 0);
> port->iotype = UPIO_MEM;
> if (of_property_read_u32(np, "reg-io-width", &prop) == 0) {

I think you need to remove the UPF_FIXED_TYPE from port-flags as well to
use the fifo size from device tree. Otherwise, it will get from the
static array in 8250.c.

LFTan