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

Commit 5109a459 authored by Uwe Kleine-König's avatar Uwe Kleine-König
Browse files

ARM: mx3: complement uart init routine with an exit routine



moboard_uart0_init requests a gpio.   Without an exit function that
frees that gpio again binding the uart a second time doesn't work.

Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
parent 6eafde5f
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -125,13 +125,25 @@ static struct platform_device mx31moboard_flash = {

static int moboard_uart0_init(struct platform_device *pdev)
{
	gpio_request(IOMUX_TO_GPIO(MX31_PIN_CTS1), "uart0-cts-hack");
	gpio_direction_output(IOMUX_TO_GPIO(MX31_PIN_CTS1), 0);
	return 0;
	int ret = gpio_request(IOMUX_TO_GPIO(MX31_PIN_CTS1), "uart0-cts-hack");
	if (ret)
		return ret;

	ret = gpio_direction_output(IOMUX_TO_GPIO(MX31_PIN_CTS1), 0);
	if (ret)
		gpio_free(IOMUX_TO_GPIO(MX31_PIN_CTS1));

	return ret;
}

static void moboard_uart0_exit(struct platform_device *pdev)
{
	gpio_free(IOMUX_TO_GPIO(MX31_PIN_CTS1));
}

static const struct imxuart_platform_data uart0_pdata __initconst = {
	.init = moboard_uart0_init,
	.exit = moboard_uart0_exit,
};

static const struct imxuart_platform_data uart4_pdata __initconst = {