]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
tty: atmel_serial: Use devm_platform_ioremap_resource()
authorMihai Sain <mihai.sain@microchip.com>
Tue, 5 Nov 2024 13:19:46 +0000 (15:19 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 7 Nov 2024 08:45:18 +0000 (09:45 +0100)
Simplify the request port function by using a single call
to devm_platform_ioremap_resource().

This will also enhance the printing from /proc/iomem:

cat /proc/iomem | grep flexcom ; cat /proc/iomem | grep serial

f0004000-f00041ff : f0004000.flexcom flexcom@f0004000
f8020000-f80201ff : f8020000.flexcom flexcom@f8020000
f0004200-f00043ff : f0004200.serial serial@200
f8020200-f80203ff : f8020200.serial serial@200
fffff200-fffff3ff : fffff200.serial serial@fffff200

Signed-off-by: Mihai Sain <mihai.sain@microchip.com>
Tested-by: Andrei Simion <andrei.simion@microchip.com>
Reviewed-by: Hari Prasath Gujulan Elango <hari.prasathge@microchip.com>
Link: https://lore.kernel.org/r/20241105131946.22449-1-mihai.sain@microchip.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/atmel_serial.c

index b9be993ebdf46611426600cd84422fd3fd2d7e6b..6af70c7ddbe5be8700d090d069b499656b5312eb 100644 (file)
@@ -2419,17 +2419,11 @@ static void atmel_release_port(struct uart_port *port)
 static int atmel_request_port(struct uart_port *port)
 {
        struct platform_device *mpdev = to_platform_device(port->dev->parent);
-       int size = resource_size(mpdev->resource);
-
-       if (!request_mem_region(port->mapbase, size, "atmel_serial"))
-               return -EBUSY;
 
        if (port->flags & UPF_IOREMAP) {
-               port->membase = ioremap(port->mapbase, size);
-               if (port->membase == NULL) {
-                       release_mem_region(port->mapbase, size);
-                       return -ENOMEM;
-               }
+               port->membase = devm_platform_ioremap_resource(mpdev, 0);
+               if (IS_ERR(port->membase))
+                       return PTR_ERR(port->membase);
        }
 
        return 0;