GPIO and pinmuxing are two different things.  The GPIO api docs explicitly state the gpio_request should take no affect ofther than marking that GPIO as in use.<div><br></div><div>-Erik<br><br><div class="gmail_quote">On Thu, May 5, 2011 at 3:16 AM, Laxman Dewangan <span dir="ltr">&lt;<a href="mailto:ldewangan@nvidia.com">ldewangan@nvidia.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi All,<br>
When working on gpio driver for tegra, I found that gpio_request() does not<br>
make the corresponding soc pins to gpio mode. It still keeps the pins in SFIO mode.<br>
So we need to call two extra function along with gpio_request():<br>
Tegra_gpio_enable() and function for setting the pins in no non-tristate.<br>
<br>
Sue to this, the gpio sysfs interface does not work properly from user space /sys/class/gpio/.<br>
To make the pin in gpio mode fom user space, need to have changes in kernel.<br>
<br>
I think the gpio_request() should make the pins to gpio mode and make ready for use.<br>
Similarly gpio_free() should again put the pin into sfio mode with tristate disable.<br>
<br>
Please comment if there is any better way..<br>
<br>
<br>
Thanks,<br>
Laxman<br>
<br>
_______________________________________________<br>
linux-arm-kernel mailing list<br>
<a href="mailto:linux-arm-kernel@lists.infradead.org">linux-arm-kernel@lists.infradead.org</a><br>
<a href="http://lists.infradead.org/mailman/listinfo/linux-arm-kernel" target="_blank">http://lists.infradead.org/mailman/listinfo/linux-arm-kernel</a><br>
</blockquote></div><br></div>