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

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
...@@ -125,13 +125,25 @@ static struct platform_device mx31moboard_flash = { ...@@ -125,13 +125,25 @@ static struct platform_device mx31moboard_flash = {
static int moboard_uart0_init(struct platform_device *pdev) static int moboard_uart0_init(struct platform_device *pdev)
{ {
gpio_request(IOMUX_TO_GPIO(MX31_PIN_CTS1), "uart0-cts-hack"); int ret = gpio_request(IOMUX_TO_GPIO(MX31_PIN_CTS1), "uart0-cts-hack");
gpio_direction_output(IOMUX_TO_GPIO(MX31_PIN_CTS1), 0); if (ret)
return 0; 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 = { static const struct imxuart_platform_data uart0_pdata __initconst = {
.init = moboard_uart0_init, .init = moboard_uart0_init,
.exit = moboard_uart0_exit,
}; };
static const struct imxuart_platform_data uart4_pdata __initconst = { static const struct imxuart_platform_data uart4_pdata __initconst = {
......
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