/* * Echo timer callback function. * The raw decoders expect to get a final sample even if there are no edges, in * order to be assured of the final space. If there are no edges for a certain * time we use this timer to emit a final sample to satisfy them. */ static void img_ir_echo_timer(struct timer_list *t) { struct img_ir_priv *priv = from_timer(priv, t, raw.timer); spin_lock_irq(&priv->lock); /* check not removing */ if (priv->raw.rdev) /* * It's safe to pass irq_status=0 since it's only used to check * for double edges. */ img_ir_refresh_raw(priv, 0); spin_unlock_irq(&priv->lock); }
/* * Echo timer callback function. * The raw decoders expect to get a final sample even if there are no edges, in * order to be assured of the final space. If there are no edges for a certain * time we use this timer to emit a final sample to satisfy them. */ static void img_ir_echo_timer(unsigned long arg) { struct img_ir_priv *priv = (struct img_ir_priv *)arg; spin_lock_irq(&priv->lock); /* check not removing */ if (priv->raw.rdev) /* * It's safe to pass irq_status=0 since it's only used to check * for double edges. */ img_ir_refresh_raw(priv, 0); spin_unlock_irq(&priv->lock); }