aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx/mach-scb9328.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-imx/mach-scb9328.c')
-rw-r--r--arch/arm/mach-imx/mach-scb9328.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/arch/arm/mach-imx/mach-scb9328.c b/arch/arm/mach-imx/mach-scb9328.c
index db2d60470e1..dcaee043628 100644
--- a/arch/arm/mach-imx/mach-scb9328.c
+++ b/arch/arm/mach-imx/mach-scb9328.c
@@ -101,7 +101,21 @@ static const int mxc_uart1_pins[] = {
PC12_PF_UART1_RXD,
};
+static int uart1_mxc_init(struct platform_device *pdev)
+{
+ return mxc_gpio_setup_multiple_pins(mxc_uart1_pins,
+ ARRAY_SIZE(mxc_uart1_pins), "UART1");
+}
+
+static void uart1_mxc_exit(struct platform_device *pdev)
+{
+ mxc_gpio_release_multiple_pins(mxc_uart1_pins,
+ ARRAY_SIZE(mxc_uart1_pins));
+}
+
static const struct imxuart_platform_data uart_pdata __initconst = {
+ .init = uart1_mxc_init,
+ .exit = uart1_mxc_exit,
.flags = IMXUART_HAVE_RTSCTS,
};
@@ -115,11 +129,6 @@ static struct platform_device *devices[] __initdata = {
*/
static void __init scb9328_init(void)
{
- imx1_soc_init();
-
- mxc_gpio_setup_multiple_pins(mxc_uart1_pins,
- ARRAY_SIZE(mxc_uart1_pins), "UART1");
-
imx1_add_imx_uart0(&uart_pdata);
printk(KERN_INFO"Scb9328: Adding devices\n");