Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3d454446 authored by Sascha Hauer's avatar Sascha Hauer Committed by Russell King
Browse files

[ARM] 4998/1: <IMX UART>: do not use hardcoded io space size



Do not use hardcoded io space size. Instead use the information provided
by the resource.

Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 789d5258
Loading
Loading
Loading
Loading
+15 −10
Original line number Diff line number Diff line
@@ -166,11 +166,6 @@
#define SERIAL_IMX_MAJOR	204
#define MINOR_START		41

/*
 * This is the size of our serial port register set.
 */
#define UART_PORT_SIZE	0x100

/*
 * This determines how often we check the modem status signals
 * for any change.  They generally aren't connected to an IRQ
@@ -721,9 +716,11 @@ static const char *imx_type(struct uart_port *port)
 */
static void imx_release_port(struct uart_port *port)
{
	struct imx_port *sport = (struct imx_port *)port;
	struct platform_device *pdev = to_platform_device(port->dev);
	struct resource *mmres;

	release_mem_region(sport->port.mapbase, UART_PORT_SIZE);
	mmres = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	release_mem_region(mmres->start, mmres->end - mmres->start + 1);
}

/*
@@ -731,10 +728,18 @@ static void imx_release_port(struct uart_port *port)
 */
static int imx_request_port(struct uart_port *port)
{
	struct imx_port *sport = (struct imx_port *)port;
	struct platform_device *pdev = to_platform_device(port->dev);
	struct resource *mmres;
	void *ret;

	mmres = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	if (!mmres)
		return -ENODEV;

	ret = request_mem_region(mmres->start, mmres->end - mmres->start + 1,
			"imx-uart");

	return request_mem_region(sport->port.mapbase, UART_PORT_SIZE,
			"imx-uart") != NULL ? 0 : -EBUSY;
	return  ret ? 0 : -EBUSY;
}

/*