Re: kernel panic with simple driver

From: Ryan Mallon
Date: Tue Aug 09 2011 - 22:36:22 EST


On 10/08/11 12:29, Murali K. Vemuri wrote:
On Wed, Aug 10, 2011 at 11:16 AM, Greg KH<greg@xxxxxxxxx> wrote:
On Wed, Aug 10, 2011 at 10:33:28AM +0900, Murali K. Vemuri wrote:
There is no concurrent access to the timer. The design is that:
1.Driver provides an IOCTL for start / stop
2. when the driver receives START IOCTL, it toggles some GPIOs to ON / OFF.
3. the GPIOs will be ON for 500 MSec and OFF for 500 MSec.
4. Two successive START IOCTLs will not be honored.
5. There is only one application that uses these IOCTLs
6. When I receive a STOP IOCTL, I am doing :
if (timer_pending (&my_timer))
del_timer(&my_timer);
What kind of driver is this? For what type of hardware?

Can't you control the gpios from userspace with out any need to write a
kernel driver?

This driver is meant for controlling some LEDs. The CPU is OMAP 3530
and the OS is Android.
From the user space, I could not control the GPIOs directly, and thus
I ended up supporting in the form of a simple driver.
I agree that these are better done from the user space, but as much as
I google'd studied, I could not find any better way to implement this.

If anyone has more info, that is also highly appreciated.

If you have CONFIG_GPIO_SYSFS enabled then you can access the gpios directly via sysfs. See Documentation/gpio.txt for details.

~Ryan

--
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/