1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2008, Creative Technology Ltd. All Rights Reserved.
4  *
5  * @File	ctimap.h
6  *
7  * @Brief
8  * This file contains the definition of generic input mapper operations
9  * for input mapper management.
10  *
11  * @Author	Liu Chun
12  * @Date 	May 23 2008
13  */
14 
15 #ifndef CTIMAP_H
16 #define CTIMAP_H
17 
18 #include <linux/list.h>
19 
20 struct imapper {
21 	unsigned short slot; /* the id of the slot containing input data */
22 	unsigned short user; /* the id of the user resource consuming data */
23 	unsigned short addr; /* the input mapper ram id */
24 	unsigned short next; /* the next input mapper ram id */
25 	struct list_head	list;
26 };
27 
28 int input_mapper_add(struct list_head *mappers, struct imapper *entry,
29 		     int (*map_op)(void *, struct imapper *), void *data);
30 
31 int input_mapper_delete(struct list_head *mappers, struct imapper *entry,
32 		     int (*map_op)(void *, struct imapper *), void *data);
33 
34 void free_input_mapper_list(struct list_head *mappers);
35 
36 #endif /* CTIMAP_H */
37