linux/drivers/media/rc/keymaps/rc-cec.c

// SPDX-License-Identifier: GPL-2.0-or-later
/* Keytable for the CEC remote control
 *
 * This keymap is unusual in that it can't be built as a module,
 * instead it is registered directly in rc-main.c if CONFIG_MEDIA_CEC_RC
 * is set. This is because it can be called from drm_dp_cec_set_edid() via
 * cec_register_adapter() in an asynchronous context, and it is not
 * allowed to use request_module() to load rc-cec.ko in that case.
 *
 * Since this keymap is only used if CONFIG_MEDIA_CEC_RC is set, we
 * just compile this keymap into the rc-core module and never as a
 * separate module.
 *
 * Copyright (c) 2015 by Kamil Debski
 */

#include <media/rc-map.h>
#include <linux/module.h>

/*
 * CEC Spec "High-Definition Multimedia Interface Specification" can be obtained
 * here: http://xtreamerdev.googlecode.com/files/CEC_Specs.pdf
 * The list of control codes is listed in Table 27: User Control Codes p. 95
 */

static struct rc_map_table cec[] =;

struct rc_map_list cec_map =;