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. -- 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