From: root Date: Thu, 29 Jul 2010 03:24:38 +0000 (+0800) Subject: 增加 rk2818_mux_api_mode_resume 接口用来恢复最近一次的rk2818_mux_api_set。一些io复用完后,调用该接口进行恢复之前的io 模式 X-Git-Tag: firefly_0821_release~11326 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a9011943216d3fc16df07f6d11939f083508c3c3;p=firefly-linux-kernel-4.4.55.git 增加 rk2818_mux_api_mode_resume 接口用来恢复最近一次的rk2818_mux_api_set。一些io复用完后,调用该接口进行恢复之前的io 模式 --- diff --git a/arch/arm/mach-rk2818/iomux.c b/arch/arm/mach-rk2818/iomux.c index 954a5e983182..e280882121a5 100644 --- a/arch/arm/mach-rk2818/iomux.c +++ b/arch/arm/mach-rk2818/iomux.c @@ -117,9 +117,9 @@ void rk2818_mux_api_set(char *name, unsigned int mode) int i; for(i=0;iname) if (!strcmp(rk2818_muxs[i].name, name)) { + rk2818_muxs[i].premode = rk2818_muxs[i].mode; rk2818_muxs[i].mode = mode; rk2818_mux_set(&rk2818_muxs[i]); break; @@ -128,18 +128,21 @@ void rk2818_mux_api_set(char *name, unsigned int mode) } EXPORT_SYMBOL(rk2818_mux_api_set); -unsigned int rk2818_mux_api_get(char *name) +void rk2818_mux_api_mode_resume(char *name) { int i; for(i=0;iname) if (!strcmp(rk2818_muxs[i].name, name)) { - return rk2818_muxs[i].mode; + if(rk2818_muxs[i].mode != rk2818_muxs[i].premode) + { + rk2818_muxs[i].mode = rk2818_muxs[i].premode; + rk2818_mux_set(&rk2818_muxs[i]); + } + break; } } - return 0xff; } -EXPORT_SYMBOL(rk2818_mux_api_get); +EXPORT_SYMBOL(rk2818_mux_api_mode_resume);