summaryrefslogtreecommitdiff
path: root/arch/arm/mach-wmt/include/mach/gmt-core.h
blob: 768c89da37b77f2006cc502adea67dac64bcdedc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/*++
	drivers/mtd/gmt/gmt-core.c - GMT Core driver

	Copyright (c) 2013  WonderMedia Technologies, Inc.

	This program is free software: you can redistribute it and/or modify it under the
	terms of the GNU General Public License as published by the Free Software Foundation,
	either version 2 of the License, or (at your option) any later version.

	This program is distributed in the hope that it will be useful, but WITHOUT
	ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
	PARTICULAR PURPOSE.  See the GNU General Public License for more details.
	You should have received a copy of the GNU General Public License along with
	this program.  If not, see <http://www.gnu.org/licenses/>.

	WonderMedia Technologies, Inc.
	10F, 529, Chung-Cheng Road, Hsin-Tien, Taipei 231, R.O.C.
--*/
enum gmt_device_type {
	GMT2214,
};

/**
 * @dev: master device of the chip (can be used to access platform data)
 * @i2c: i2c client private data for regulator
 * @iolock: mutex for serializing io access
 * @irqlock: mutex for buslock
 */
struct gmt2214_dev {
	struct device *dev;
	struct regmap *regmap;
	struct i2c_client *i2c;
	struct mutex iolock;

	int device_type;
};

extern int gmt2214_reg_read(struct gmt2214_dev *gmt2214, u8 reg, void *dest);
extern int gmt2214_reg_write(struct gmt2214_dev *gmt2214, u8 reg, u8 value);

struct gmt2214_platform_data {
	int				device_type;
};