From: <li...@ba...> - 2007-02-19 04:01:50
|
Hi! Jon Smirl "jon...@gm..." wrote: [...] >> btw, is there any reason why those drivers are implemented as kernel >> modules? Couldn't lircd just use libusb and talk directly to the >> devices instead? > This is a very good question. It's not like LIRC is high speed. > A big reason to be in the kernel is to manipulate device register with > root priv, but these drivers don't need to do that. Driver deveopment started when libusb was not stable/mature enough to rely on it. Later nobody really cared to convert the drivers to userspace except for the atiusb code, where also a userspace driver is available, but it does not support all the receivers that the kernel module supports. One reason I would like to keep the drivers as kernel modules is that you can use tools like mode2 or xmode2 to easily test them. > USB devices have libusb > parallel and serial can just open the devices The parallel and serial kernel modules need to implement an interrupt handler. You cannot use the standard devices. > how about GPIO and anything else weird? I don't know about GPIO, but for the I2C driver a userspace driver also is available, but I did not have time to integrate it into the code base yet. Christoph |