]>
Commit | Line | Data |
---|---|---|
a0c7c1d4 MR |
1 | /* |
2 | * Copyright 2012 Creative Product Design | |
3 | * Marc Reilly <marc@cpdesign.com.au> | |
4 | * | |
5 | * This program is free software; you can redistribute it and/or modify it under | |
6 | * the terms of the GNU General Public License version 2 as published by the | |
7 | * Free Software Foundation. | |
8 | */ | |
9 | #ifndef __DRIVERS_MFD_MC13XXX_H | |
10 | #define __DRIVERS_MFD_MC13XXX_H | |
11 | ||
12 | #include <linux/mutex.h> | |
13 | #include <linux/regmap.h> | |
14 | #include <linux/mfd/mc13xxx.h> | |
15 | ||
16 | enum mc13xxx_id { | |
17 | MC13XXX_ID_MC13783, | |
18 | MC13XXX_ID_MC13892, | |
19 | MC13XXX_ID_INVALID, | |
20 | }; | |
21 | ||
22 | #define MC13XXX_NUMREGS 0x3f | |
23 | ||
24 | struct mc13xxx { | |
25 | struct regmap *regmap; | |
26 | ||
27 | struct device *dev; | |
28 | enum mc13xxx_id ictype; | |
29 | ||
30 | struct mutex lock; | |
31 | int irq; | |
32 | int flags; | |
33 | ||
34 | irq_handler_t irqhandler[MC13XXX_NUM_IRQ]; | |
35 | void *irqdata[MC13XXX_NUM_IRQ]; | |
36 | ||
37 | int adcflags; | |
38 | }; | |
39 | ||
40 | int mc13xxx_common_init(struct mc13xxx *mc13xxx, | |
41 | struct mc13xxx_platform_data *pdata, int irq); | |
42 | ||
43 | void mc13xxx_common_cleanup(struct mc13xxx *mc13xxx); | |
44 | ||
45 | #endif /* __DRIVERS_MFD_MC13XXX_H */ |