// SPDX-License-Identifier: GPL-2.0-or-later /* * ImgTec IR Raw Decoder found in PowerDown Controller. * * Copyright 2010-2014 Imagination Technologies Ltd. * * This ties into the input subsystem using the RC-core in raw mode. Raw IR * signal edges are reported and decoded by generic software decoders. */ #include <linux/spinlock.h> #include <media/rc-core.h> #include "img-ir.h" #define ECHO_TIMEOUT_MS … /* must be called with priv->lock held */ static void img_ir_refresh_raw(struct img_ir_priv *priv, u32 irq_status) { … } /* called with priv->lock held */ void img_ir_isr_raw(struct img_ir_priv *priv, u32 irq_status) { … } /* * 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) { … } void img_ir_setup_raw(struct img_ir_priv *priv) { … } int img_ir_probe_raw(struct img_ir_priv *priv) { … } void img_ir_remove_raw(struct img_ir_priv *priv) { … }