serial: samsung: get fifosize via device tree
UART modules on some SoCs only differ in the fifosize of each UART channel. Its useless to duplicate the drv_data structure or create a compatible name for such a change. We can get fifosize via the device tree nodes (not mandating it). Also updates the documentation. Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b1261c86fe
commit
135f07c325
|
@ -29,6 +29,9 @@ Required properties:
|
|||
[1] Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
|
||||
[2] Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
|
||||
Optional properties:
|
||||
- samsung,uart-fifosize: The fifo size supported by the UART channel
|
||||
|
||||
Note: Each Samsung UART should have an alias correctly numbered in the
|
||||
"aliases" node, according to serialN format, where N is the port number
|
||||
(non-negative decimal integer) as specified by User's Manual of respective
|
||||
|
@ -51,4 +54,5 @@ Example:
|
|||
"clk_uart_baud3";
|
||||
clocks = <&clocks PCLK_UART1>, <&clocks PCLK_UART1>,
|
||||
<&clocks SCLK_UART>;
|
||||
samsung,uart-fifosize = <16>;
|
||||
};
|
||||
|
|
|
@ -1295,9 +1295,15 @@ static int s3c24xx_serial_probe(struct platform_device *pdev)
|
|||
dev_get_platdata(&pdev->dev) :
|
||||
ourport->drv_data->def_cfg;
|
||||
|
||||
ourport->port.fifosize = (ourport->info->fifosize) ?
|
||||
ourport->info->fifosize :
|
||||
ourport->drv_data->fifosize[index];
|
||||
if (pdev->dev.of_node)
|
||||
of_property_read_u32(pdev->dev.of_node,
|
||||
"samsung,uart-fifosize", &ourport->port.fifosize);
|
||||
|
||||
if (!ourport->port.fifosize) {
|
||||
ourport->port.fifosize = (ourport->info->fifosize) ?
|
||||
ourport->info->fifosize :
|
||||
ourport->drv_data->fifosize[index];
|
||||
}
|
||||
|
||||
probe_index++;
|
||||
|
||||
|
|
Loading…
Reference in New Issue