Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo...
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / mfd / mc13xxx.h
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 */