From: David Härdeman Date: Sun, 13 Jun 2010 20:29:36 +0000 (-0300) Subject: V4L/DVB: ir-core: move decoding state to ir_raw_event_ctrl X-Git-Tag: v2.6.36-rc1~582^2~160 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c216369e61fae586cd48c0913cca2a37fbfeb912;p=pandora-kernel.git V4L/DVB: ir-core: move decoding state to ir_raw_event_ctrl 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 Acked-by: Jarod Wilson Tested-by: Jarod Wilson Signed-off-by: Mauro Carvalho Chehab --- Reading git-diff-tree failed