From da1c90b6268466b3aad76e8e6ed46c9deb7b2fb0 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 9 Aug 2010 19:29:35 +0800 Subject: [PATCH] =?utf8?q?=E5=8E=BB=E9=99=A4rk2818=5Fserial.c=20=E6=96=87?= =?utf8?q?=E4=BB=B6=E4=B8=AD=20gpio=5Frequest=E7=9A=84warning?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- drivers/serial/rk2818_serial.c | 71 ++++++++++++++++++---------------- 1 file changed, 37 insertions(+), 34 deletions(-) diff --git a/drivers/serial/rk2818_serial.c b/drivers/serial/rk2818_serial.c index 9d3d06ca05bb..b8cd5f054d9f 100755 --- a/drivers/serial/rk2818_serial.c +++ b/drivers/serial/rk2818_serial.c @@ -644,47 +644,50 @@ static int __devinit rk2818_serial_probe(struct platform_device *pdev) //RX/TX£ºHIGH //CTS/RTS£ºLOW //×¢Ò⣺CTS/RTSΪµÍÓÐЧ£¬Ó²¼þÉϲ»Ó¦¸ÃÇ¿ÐÐ×öÉÏÀ­ - rk2818_mux_api_set(GPIOG1_UART0_MMC1WPT_NAME, IOMUXA_GPIO1_C1 /*IOMUXA_UART0_SOUT*/); - rk2818_mux_api_set(GPIOG0_UART0_MMC1DET_NAME, IOMUXA_GPIO1_C0 /*IOMUXA_UART0_SIN*/); - - ret = gpio_request(RK2818_PIN_PG0, NULL); - if(ret != 0) + if(pdev->id) { - gpio_free(RK2818_PIN_PG0); - } - gpio_direction_output(RK2818_PIN_PG0,GPIO_HIGH); + rk2818_mux_api_set(GPIOG1_UART0_MMC1WPT_NAME, IOMUXA_GPIO1_C1 /*IOMUXA_UART0_SOUT*/); + rk2818_mux_api_set(GPIOG0_UART0_MMC1DET_NAME, IOMUXA_GPIO1_C0 /*IOMUXA_UART0_SIN*/); + + ret = gpio_request(RK2818_PIN_PG0, NULL); + if(ret != 0) + { + gpio_free(RK2818_PIN_PG0); + } + gpio_direction_output(RK2818_PIN_PG0,GPIO_HIGH); - - ret = gpio_request(RK2818_PIN_PG1, NULL); - if(ret != 0) - { - gpio_free(RK2818_PIN_PG1); - } - gpio_direction_output(RK2818_PIN_PG1,GPIO_HIGH); + + ret = gpio_request(RK2818_PIN_PG1, NULL); + if(ret != 0) + { + gpio_free(RK2818_PIN_PG1); + } + gpio_direction_output(RK2818_PIN_PG1,GPIO_HIGH); - gpio_pull_updown(RK2818_PIN_PG1,GPIOPullUp); - gpio_pull_updown(RK2818_PIN_PG0,GPIOPullUp); + gpio_pull_updown(RK2818_PIN_PG1,GPIOPullUp); + gpio_pull_updown(RK2818_PIN_PG0,GPIOPullUp); - rk2818_mux_api_set(GPIOG1_UART0_MMC1WPT_NAME, IOMUXA_UART0_SOUT); - rk2818_mux_api_set(GPIOG0_UART0_MMC1DET_NAME, IOMUXA_UART0_SIN); + rk2818_mux_api_set(GPIOG1_UART0_MMC1WPT_NAME, IOMUXA_UART0_SOUT); + rk2818_mux_api_set(GPIOG0_UART0_MMC1DET_NAME, IOMUXA_UART0_SIN); - rk2818_mux_api_set(GPIOB2_U0CTSN_SEL_NAME, IOMUXB_GPIO0_B2/*IOMUXB_UART0_CTS_N*/); - rk2818_mux_api_set(GPIOB3_U0RTSN_SEL_NAME, IOMUXB_GPIO0_B3/*IOMUXB_UART0_RTS_N*/); + rk2818_mux_api_set(GPIOB2_U0CTSN_SEL_NAME, IOMUXB_GPIO0_B2/*IOMUXB_UART0_CTS_N*/); + rk2818_mux_api_set(GPIOB3_U0RTSN_SEL_NAME, IOMUXB_GPIO0_B3/*IOMUXB_UART0_RTS_N*/); - ret = gpio_request(RK2818_PIN_PB2, NULL); - if(ret != 0) - { - gpio_free(RK2818_PIN_PB2); - } - gpio_direction_input(RK2818_PIN_PB2); -// gpio_direction_output(RK2818_PIN_PB2,GPIO_LOW); - - ret = gpio_request(RK2818_PIN_PB3, NULL); - if(ret != 0) - { - gpio_free(RK2818_PIN_PB3); + ret = gpio_request(RK2818_PIN_PB2, NULL); + if(ret != 0) + { + gpio_free(RK2818_PIN_PB2); + } + gpio_direction_input(RK2818_PIN_PB2); + // gpio_direction_output(RK2818_PIN_PB2,GPIO_LOW); + + ret = gpio_request(RK2818_PIN_PB3, NULL); + if(ret != 0) + { + gpio_free(RK2818_PIN_PB3); + } + gpio_direction_output(RK2818_PIN_PB3,GPIO_LOW); } - gpio_direction_output(RK2818_PIN_PB3,GPIO_LOW); #endif -- 2.34.1