Re: eMPIA EM2710 Webcam (em28xx) and LIRC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em 15-03-2012 10:10, Rui Salvaterra escreveu:
> 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).

Take your time. As I said, a patch for (1) should be easy. So, if you're
interested on trying to do it, it is probably the best thing to start.

If you won't take it, it is likely that some day someone will do it,
but, as this is just a cleanup, the main developers won't likely
have time for doing it, as they're generally busy adding support for 
new hardware.

Regards,
Mauro
> 
> 
> 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


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux