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
20struct 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
28int input_mapper_add(struct list_head *mappers, struct imapper *entry,
29		     int (*map_op)(void *, struct imapper *), void *data);
30
31int input_mapper_delete(struct list_head *mappers, struct imapper *entry,
32		     int (*map_op)(void *, struct imapper *), void *data);
33
34void free_input_mapper_list(struct list_head *mappers);
35
36#endif /* CTIMAP_H */
37