]>
Commit | Line | Data |
---|---|---|
a0c7c1d4 MR |
1 | /* |
2 | * Copyright 2012 Creative Product Design | |
3 | * Marc Reilly <[email protected]> | |
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 | ||
cd0f34b0 UKK |
16 | #define MC13XXX_NUMREGS 0x3f |
17 | ||
18 | struct mc13xxx; | |
19 | ||
20 | struct mc13xxx_variant { | |
21 | const char *name; | |
22 | void (*print_revision)(struct mc13xxx *mc13xxx, u32 revision); | |
a0c7c1d4 MR |
23 | }; |
24 | ||
cd0f34b0 UKK |
25 | extern struct mc13xxx_variant |
26 | mc13xxx_variant_mc13783, | |
0312e024 UKK |
27 | mc13xxx_variant_mc13892, |
28 | mc13xxx_variant_mc34708; | |
a0c7c1d4 MR |
29 | |
30 | struct mc13xxx { | |
31 | struct regmap *regmap; | |
32 | ||
33 | struct device *dev; | |
cd0f34b0 | 34 | const struct mc13xxx_variant *variant; |
a0c7c1d4 MR |
35 | |
36 | struct mutex lock; | |
37 | int irq; | |
38 | int flags; | |
39 | ||
40 | irq_handler_t irqhandler[MC13XXX_NUM_IRQ]; | |
41 | void *irqdata[MC13XXX_NUM_IRQ]; | |
42 | ||
43 | int adcflags; | |
44 | }; | |
45 | ||
db9ef449 AS |
46 | int mc13xxx_common_init(struct device *dev); |
47 | int mc13xxx_common_exit(struct device *dev); | |
a0c7c1d4 MR |
48 | |
49 | #endif /* __DRIVERS_MFD_MC13XXX_H */ |