On 15 March 2012 10:42, Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> wrote: > > The em28xx module requires IR support from rc_core, as most em28xx devices > support it. It can be compiled without IR support, but, as the em28xx-input > is not on a separate module, and it contains some calls to rc_core functions > like rc_register_device, modprobe will load rc_core, and rc_core will load > the decoders, including lirc_dev. > > Those modules are small and won't be running if all you have are the webcams. > The optimization to not load those modules is not big, so nobody had time > yet to do it. > > Anyway, if you want to fix it, there are two possible approaches: > > 1) change rc_core to not load the IR decoders at load time, postponing it > to load only if a RC_DRIVER_IR_RAW device is registered via rc_register_device. > > A patch for it shouldn't be hard. All you need to do is to move ir_raw_init() > to rc_register_device() and add a logic there to call it for the first > raw device. > > With such patch, rc_core module will still be loaded. > > 2) change em28xx-input.c to be a separate module, called only when a device > has IR. It will need to have a logic similar to em28xx-dvb and em28xx-alsa > modules. > > It is not hard to write such patch, as most of the logic is already there, > but it is not as trivial as approach (1). > > It probably makes sense for both approaches (1) and (2), as not all boards > support "raw" devices. In the case of em28xx, there's no device using "raw" > mode, as the em28xx chips provide a hardware IR decoder. So, up to now, we > didn't find any em28xx device requiring a software decoder for IR. > > If you want to write patches for the above, they'll be welcome. > > I hope that helps. > > Regards, > Mauro Hi, Mauro I'm sorry for the late reply, I'm at work. Thanks a lot for the explanation. Such refactoring seems a bit out of my reach, for the time being (though apparently a nice opportunity to learn Git-fu, I'm intoxicated by CVS), but at least now I understand what is really happening. I may try and hack the code a bit and see what comes out, but don't wait for me, by all means. I only have a general idea of how the kernel works (I understand C, but stopped writing it about ten years ago, as I do Java for a living). Thanks, once again, Rui Salvaterra -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html