xref: /openbmc/linux/drivers/input/misc/cma3000_d0x.h (revision caab277b)
1caab277bSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2b029ffafSHemanth V /*
3b029ffafSHemanth V  * VTI CMA3000_D0x Accelerometer driver
4b029ffafSHemanth V  *
5b029ffafSHemanth V  * Copyright (C) 2010 Texas Instruments
6b029ffafSHemanth V  * Author: Hemanth V <hemanthv@ti.com>
7b029ffafSHemanth V  */
8b029ffafSHemanth V 
9b029ffafSHemanth V #ifndef _INPUT_CMA3000_H
10b029ffafSHemanth V #define _INPUT_CMA3000_H
11b029ffafSHemanth V 
12b029ffafSHemanth V #include <linux/types.h>
13b029ffafSHemanth V #include <linux/input.h>
14b029ffafSHemanth V 
15b029ffafSHemanth V struct device;
16b029ffafSHemanth V struct cma3000_accl_data;
17b029ffafSHemanth V 
18b029ffafSHemanth V struct cma3000_bus_ops {
19b029ffafSHemanth V 	u16 bustype;
20b029ffafSHemanth V 	u8 ctrl_mod;
21b029ffafSHemanth V 	int (*read)(struct device *, u8, char *);
22b029ffafSHemanth V 	int (*write)(struct device *, u8, u8, char *);
23b029ffafSHemanth V };
24b029ffafSHemanth V 
25b029ffafSHemanth V struct cma3000_accl_data *cma3000_init(struct device *dev, int irq,
26b029ffafSHemanth V 					const struct cma3000_bus_ops *bops);
27b029ffafSHemanth V void cma3000_exit(struct cma3000_accl_data *);
28b029ffafSHemanth V void cma3000_suspend(struct cma3000_accl_data *);
29b029ffafSHemanth V void cma3000_resume(struct cma3000_accl_data *);
30b029ffafSHemanth V 
31b029ffafSHemanth V #endif
32