serial: 8250_platform: Switch to use platform_get_mem_or_io()
Switch to use new platform_get_mem_or_io() instead of home grown analogue. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20240812154901.1068407-6-andriy.shevchenko@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
32e0a65875
commit
4596d2bd55
@@ -113,21 +113,23 @@ static int serial8250_platform_probe(struct platform_device *pdev)
|
||||
unsigned char iotype;
|
||||
int ret, line;
|
||||
|
||||
regs = platform_get_resource(pdev, IORESOURCE_IO, 0);
|
||||
if (regs) {
|
||||
regs = platform_get_mem_or_io(pdev, 0);
|
||||
if (!regs)
|
||||
return dev_err_probe(dev, -EINVAL, "no registers defined\n");
|
||||
|
||||
switch (resource_type(regs)) {
|
||||
case IORESOURCE_IO:
|
||||
uart.port.iobase = regs->start;
|
||||
iotype = UPIO_PORT;
|
||||
} else {
|
||||
regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!regs) {
|
||||
dev_err(dev, "no registers defined\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
break;
|
||||
case IORESOURCE_MEM:
|
||||
uart.port.mapbase = regs->start;
|
||||
uart.port.mapsize = resource_size(regs);
|
||||
uart.port.flags = UPF_IOREMAP;
|
||||
iotype = UPIO_MEM;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* Default clock frequency*/
|
||||
|
||||
Reference in New Issue
Block a user