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 */