include/media/rc-map.h

Source file repositories/reference/linux-study-clean/include/media/rc-map.h

File Facts

System
Linux kernel
Corpus path
include/media/rc-map.h
Extension
.h
Size
14944 bytes
Lines
358
Domain
Repository Root And Misc
Bucket
include
Inferred role
Repository Root And Misc: implementation source
Status
source implementation candidate

Why This File Exists

Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.

Dependency Surface

Detected Declarations

Annotated Snippet

struct rc_map_table {
	u64	scancode;
	u32	keycode;
};

/**
 * struct rc_map - represents a keycode map table
 *
 * @scan: pointer to struct &rc_map_table
 * @size: Max number of entries
 * @len: Number of entries that are in use
 * @alloc: size of \*scan, in bytes
 * @rc_proto: type of the remote controller protocol, as defined at
 *	     enum &rc_proto
 * @name: name of the key map table
 * @lock: lock to protect access to this structure
 */
struct rc_map {
	struct rc_map_table	*scan;
	unsigned int		size;
	unsigned int		len;
	unsigned int		alloc;
	enum rc_proto		rc_proto;
	const char		*name;
	spinlock_t		lock;
};

/**
 * struct rc_map_list - list of the registered &rc_map maps
 *
 * @list: pointer to struct &list_head
 * @map: pointer to struct &rc_map
 */
struct rc_map_list {
	struct list_head	 list;
	struct rc_map map;
};

#ifdef CONFIG_MEDIA_CEC_RC
/*
 * rc_map_list from rc-cec.c
 */
extern struct rc_map_list cec_map;
#endif

/* Routines from rc-map.c */

/**
 * rc_map_register() - Registers a Remote Controller scancode map
 *
 * @map:	pointer to struct rc_map_list
 */
int rc_map_register(struct rc_map_list *map);

/**
 * rc_map_unregister() - Unregisters a Remote Controller scancode map
 *
 * @map:	pointer to struct rc_map_list
 */
void rc_map_unregister(struct rc_map_list *map);

/**
 * rc_map_get - gets an RC map from its name
 * @name: name of the RC scancode map
 */
struct rc_map *rc_map_get(const char *name);

/* Names of the several keytables defined in-kernel */

#define RC_MAP_ADSTECH_DVB_T_PCI         "rc-adstech-dvb-t-pci"
#define RC_MAP_ALINK_DTU_M               "rc-alink-dtu-m"
#define RC_MAP_ANYSEE                    "rc-anysee"
#define RC_MAP_APAC_VIEWCOMP             "rc-apac-viewcomp"
#define RC_MAP_ASTROMETA_T2HYBRID        "rc-astrometa-t2hybrid"
#define RC_MAP_ASUS_PC39                 "rc-asus-pc39"
#define RC_MAP_ASUS_PS3_100              "rc-asus-ps3-100"
#define RC_MAP_ATI_TV_WONDER_HD_600      "rc-ati-tv-wonder-hd-600"
#define RC_MAP_ATI_X10                   "rc-ati-x10"
#define RC_MAP_AVERMEDIA                 "rc-avermedia"
#define RC_MAP_AVERMEDIA_A16D            "rc-avermedia-a16d"
#define RC_MAP_AVERMEDIA_CARDBUS         "rc-avermedia-cardbus"
#define RC_MAP_AVERMEDIA_DVBT            "rc-avermedia-dvbt"
#define RC_MAP_AVERMEDIA_M135A           "rc-avermedia-m135a"
#define RC_MAP_AVERMEDIA_M733A_RM_K6     "rc-avermedia-m733a-rm-k6"
#define RC_MAP_AVERMEDIA_RM_KS           "rc-avermedia-rm-ks"
#define RC_MAP_AVERTV_303                "rc-avertv-303"
#define RC_MAP_AZUREWAVE_AD_TU700        "rc-azurewave-ad-tu700"
#define RC_MAP_BEELINK_GS1               "rc-beelink-gs1"
#define RC_MAP_BEELINK_MXIII             "rc-beelink-mxiii"
#define RC_MAP_BEHOLD                    "rc-behold"

Annotation

Implementation Notes