xref: /linux/drivers/input/misc/cma3000_d0x.h (revision b029ffafe89cf4b97cf39e0225a5205cbbf9e02f)
1*b029ffafSHemanth V /*
2*b029ffafSHemanth V  * VTI CMA3000_D0x Accelerometer driver
3*b029ffafSHemanth V  *
4*b029ffafSHemanth V  * Copyright (C) 2010 Texas Instruments
5*b029ffafSHemanth V  * Author: Hemanth V <hemanthv@ti.com>
6*b029ffafSHemanth V  *
7*b029ffafSHemanth V  * This program is free software; you can redistribute it and/or modify it
8*b029ffafSHemanth V  * under the terms of the GNU General Public License version 2 as published by
9*b029ffafSHemanth V  * the Free Software Foundation.
10*b029ffafSHemanth V  *
11*b029ffafSHemanth V  * This program is distributed in the hope that it will be useful, but WITHOUT
12*b029ffafSHemanth V  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13*b029ffafSHemanth V  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14*b029ffafSHemanth V  * more details.
15*b029ffafSHemanth V  *
16*b029ffafSHemanth V  * You should have received a copy of the GNU General Public License along with
17*b029ffafSHemanth V  * this program.  If not, see <http://www.gnu.org/licenses/>.
18*b029ffafSHemanth V  */
19*b029ffafSHemanth V 
20*b029ffafSHemanth V #ifndef _INPUT_CMA3000_H
21*b029ffafSHemanth V #define _INPUT_CMA3000_H
22*b029ffafSHemanth V 
23*b029ffafSHemanth V #include <linux/types.h>
24*b029ffafSHemanth V #include <linux/input.h>
25*b029ffafSHemanth V 
26*b029ffafSHemanth V struct device;
27*b029ffafSHemanth V struct cma3000_accl_data;
28*b029ffafSHemanth V 
29*b029ffafSHemanth V struct cma3000_bus_ops {
30*b029ffafSHemanth V 	u16 bustype;
31*b029ffafSHemanth V 	u8 ctrl_mod;
32*b029ffafSHemanth V 	int (*read)(struct device *, u8, char *);
33*b029ffafSHemanth V 	int (*write)(struct device *, u8, u8, char *);
34*b029ffafSHemanth V };
35*b029ffafSHemanth V 
36*b029ffafSHemanth V struct cma3000_accl_data *cma3000_init(struct device *dev, int irq,
37*b029ffafSHemanth V 					const struct cma3000_bus_ops *bops);
38*b029ffafSHemanth V void cma3000_exit(struct cma3000_accl_data *);
39*b029ffafSHemanth V void cma3000_suspend(struct cma3000_accl_data *);
40*b029ffafSHemanth V void cma3000_resume(struct cma3000_accl_data *);
41*b029ffafSHemanth V 
42*b029ffafSHemanth V #endif
43