problems with GPIO

From: Murali K. Vemuri
Date: Thu Feb 17 2011 - 23:21:36 EST


Hi There,

I am rather a novice with linux kernel and I have this problem.
My board is OMAP 3530 based and I use GPIO 21 to detect an external
device plug-in.
Now, when the board is just booted (after a complete power disconnect
), the GPIO is high, and when I plug in my external device, the GPIO
goes low, and I am able to detect it.
However, I see the voltage level still low after I remove the external
plug-in, and any further plug-ins, remain un-detected.
My H/W engineers say it is some config I am missing in Kernel.
can someone point me?

my code snippet is like:

omap_mux_init_gpio(MY_GPIO, OMAP_PIN_INPUT_PULLDOWN );
gpio_request(MY_GPIO,"CABLE IN");
gpio_direction_input(MY_GPIO);
gpio_set_value(MY_GPIO,1);

set_irq_type(MY_IRQ,
IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING
);

err = request_threaded_irq (MY_IRQ, NULL, my_dev_irq_thread,
IRQF_TRIGGER_FALLING,
"MY_DEV", NULL);

As I mentioned "my_dev_irq_thread" gets called when the actual GPIO is
detected to be going low.

Any pointers?
Thanks & regards
Murali
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/