Commit d6bd42f2 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Greg Kroah-Hartman

serial: 8250_ingenic: Switch to use uart_read_port_properties()

Since we have now a common helper to read port properties
use it instead of sparse home grown solution.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240304123035.758700-9-andriy.shevchenko@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e6a46d07
...@@ -234,7 +234,7 @@ static int ingenic_uart_probe(struct platform_device *pdev) ...@@ -234,7 +234,7 @@ static int ingenic_uart_probe(struct platform_device *pdev)
struct ingenic_uart_data *data; struct ingenic_uart_data *data;
const struct ingenic_uart_config *cdata; const struct ingenic_uart_config *cdata;
struct resource *regs; struct resource *regs;
int irq, err, line; int err;
cdata = of_device_get_match_data(&pdev->dev); cdata = of_device_get_match_data(&pdev->dev);
if (!cdata) { if (!cdata) {
...@@ -242,10 +242,6 @@ static int ingenic_uart_probe(struct platform_device *pdev) ...@@ -242,10 +242,6 @@ static int ingenic_uart_probe(struct platform_device *pdev)
return -ENODEV; return -ENODEV;
} }
irq = platform_get_irq(pdev, 0);
if (irq < 0)
return irq;
regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!regs) { if (!regs) {
dev_err(&pdev->dev, "no registers defined\n"); dev_err(&pdev->dev, "no registers defined\n");
...@@ -259,21 +255,19 @@ static int ingenic_uart_probe(struct platform_device *pdev) ...@@ -259,21 +255,19 @@ static int ingenic_uart_probe(struct platform_device *pdev)
spin_lock_init(&uart.port.lock); spin_lock_init(&uart.port.lock);
uart.port.type = PORT_16550A; uart.port.type = PORT_16550A;
uart.port.flags = UPF_SKIP_TEST | UPF_IOREMAP | UPF_FIXED_TYPE; uart.port.flags = UPF_SKIP_TEST | UPF_IOREMAP | UPF_FIXED_TYPE;
uart.port.iotype = UPIO_MEM;
uart.port.mapbase = regs->start; uart.port.mapbase = regs->start;
uart.port.regshift = 2;
uart.port.serial_out = ingenic_uart_serial_out; uart.port.serial_out = ingenic_uart_serial_out;
uart.port.serial_in = ingenic_uart_serial_in; uart.port.serial_in = ingenic_uart_serial_in;
uart.port.irq = irq;
uart.port.dev = &pdev->dev; uart.port.dev = &pdev->dev;
uart.port.fifosize = cdata->fifosize;
uart.tx_loadsz = cdata->tx_loadsz; uart.tx_loadsz = cdata->tx_loadsz;
uart.capabilities = UART_CAP_FIFO | UART_CAP_RTOIE; uart.capabilities = UART_CAP_FIFO | UART_CAP_RTOIE;
/* Check for a fixed line number */ err = uart_read_port_properties(&uart.port);
line = of_alias_get_id(pdev->dev.of_node, "serial"); if (err)
if (line >= 0) return err;
uart.port.line = line;
uart.port.regshift = 2;
uart.port.fifosize = cdata->fifosize;
uart.port.membase = devm_ioremap(&pdev->dev, regs->start, uart.port.membase = devm_ioremap(&pdev->dev, regs->start,
resource_size(regs)); resource_size(regs));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment