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: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This commit is contained in:
parent
6eafde5f02
commit
5109a4597f
|
@ -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 = {
|
||||||
|
|
Loading…
Reference in New Issue