serial: altera_uart: Use of_property_read_u32 instead of open-coding it
Use of_property_read_u32 instead of of_get_property with return value checks and endianness conversion. Also remove the !CONFIG_OF implementation of altera_uart_get_of_uartclk as of_property_read_u32 will return a non-zero value for !CONFIG_OF. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
acccab429b
Коммит
d144aff136
|
@ -508,29 +508,6 @@ static struct uart_driver altera_uart_driver = {
|
|||
.cons = ALTERA_UART_CONSOLE,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static int altera_uart_get_of_uartclk(struct platform_device *pdev,
|
||||
struct uart_port *port)
|
||||
{
|
||||
int len;
|
||||
const __be32 *clk;
|
||||
|
||||
clk = of_get_property(pdev->dev.of_node, "clock-frequency", &len);
|
||||
if (!clk || len < sizeof(__be32))
|
||||
return -ENODEV;
|
||||
|
||||
port->uartclk = be32_to_cpup(clk);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
static int altera_uart_get_of_uartclk(struct platform_device *pdev,
|
||||
struct uart_port *port)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
#endif /* CONFIG_OF */
|
||||
|
||||
static int altera_uart_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct altera_uart_platform_uart *platp = dev_get_platdata(&pdev->dev);
|
||||
|
@ -570,7 +547,8 @@ static int altera_uart_probe(struct platform_device *pdev)
|
|||
if (platp)
|
||||
port->uartclk = platp->uartclk;
|
||||
else {
|
||||
ret = altera_uart_get_of_uartclk(pdev, port);
|
||||
ret = of_property_read_u32(pdev->dev.of_node, "clock-frequency",
|
||||
&port->uartclk);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче