From: Jeff D. <je...@re...> - 2011-03-30 01:00:10
|
On Sat, 26 Mar 2011 10:58 Steffen Barszus wrote: >On Fri, 25 Mar 2011 18:47:35 -0700 >Jeff Dwork <jeff@...> wrote: > > > The lirc_atiusb driver (lirc-0.8.7) doesn't work with recent kernels > > because of the kfifo. The size of a kfifo must be a power of 2, but > > the driver wants 5 or 6 or 3, and kfifo_alloc rounds the request down > > to a power of 2. > > > > I can make it work by not using the kfifo: > > #undef LIRC_HAVE_KFIFO > > in lirc_dev.h > > > > I also made it work by changing code_length and decode_length in > > lirc_atiusb from 5 to 4. My remote, Snapstream Firefly, type ATI1, > > emits 4 byte codes. But this may not work for other remotes. > > > > I've tried increasing the allocated size of the kfifo to 8, but that > > doesn't work. Perhaps the read and write sizes also need to be powers > > of 2? > > > > Since lirc-0.9.0 always uses the kfifo, I can only make it work by > > changing the code_length to 4. > >I believe, Jarod is considering this driver obsolete. The best bet >should be the ati_remote driver, as with that you have an in kernel >driver, which (with small adaptions) provides easier access. If you >want lirc from that driver, you can use eventlircd. > >Another possibility would be the atilibusb driver. I would say if out >of 3 possibilities one is going away its not to bad. From my >perspective ati_remote should be better maintained, then its ok. Thanks, the atilibusb driver works for me. Please add a line to the release notes for 0.9.0 telling folks that the atiusb driver is broken. Jeff |