Re: [PATCH 2/2] ir-core: move decoding state to ir_raw_event_ctrl

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

 



On Wed, Jun 16, 2010 at 4:06 PM, Jarod Wilson <jarod@xxxxxxxxxxxx> wrote:
> On Sun, Jun 13, 2010 at 4:29 PM, David Härdeman <david@xxxxxxxxxxx> wrote:
>> This patch moves the state from each raw decoder into the
>> ir_raw_event_ctrl struct.
>>
>> This allows the removal of code like this:
>>
>>        spin_lock(&decoder_lock);
>>        list_for_each_entry(data, &decoder_list, list) {
>>                if (data->ir_dev == ir_dev)
>>                        break;
>>        }
>>        spin_unlock(&decoder_lock);
>>        return data;
>>
>> which is currently run for each decoder on each event in order
>> to get the client-specific decoding state data.
>>
>> In addition, ir decoding modules and ir driver module load
>> order is now independent. Centralizing the data also allows
>> for a nice code reduction of about 30% per raw decoder as
>> client lists and client registration callbacks are no longer
>> necessary (but still kept around for the benefit of the lirc
>> decoder).
>>
>> Out-of-tree modules can still use a similar trick to what
>> the raw decoders did before this patch until they are merged.
>>
>> Signed-off-by: David Härdeman <david@xxxxxxxxxxx>
>
> Acked-by: Jarod Wilson <jarod@xxxxxxxxxx>
> Tested-by: Jarod Wilson <jarod@xxxxxxxxxx>
>
> Note that I was running a version rebased atop the linuxtv staging/rc
> branch though.

Which can be seen here:

http://git.wilsonet.com//linux-2.6-ir-wip.git?a=commitdiff;h=faee132179abe884a6e995acb1f5106cb2d5afa2


-- 
Jarod Wilson
jarod@xxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux