Blame view
drivers/mfd/mc13xxx.h
1.17 KB
a0c7c1d48
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
/* * Copyright 2012 Creative Product Design * Marc Reilly <marc@cpdesign.com.au> * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 2 as published by the * Free Software Foundation. */ #ifndef __DRIVERS_MFD_MC13XXX_H #define __DRIVERS_MFD_MC13XXX_H #include <linux/mutex.h> #include <linux/regmap.h> #include <linux/mfd/mc13xxx.h> |
10f9edaea
|
15 16 17 |
#define MC13XXX_NUMREGS 0x3f #define MC13XXX_IRQ_REG_CNT 2 #define MC13XXX_IRQ_PER_REG 24 |
cd0f34b08
|
18 19 20 21 22 23 |
struct mc13xxx; struct mc13xxx_variant { const char *name; void (*print_revision)(struct mc13xxx *mc13xxx, u32 revision); |
a0c7c1d48
|
24 |
}; |
cd0f34b08
|
25 26 |
extern struct mc13xxx_variant mc13xxx_variant_mc13783, |
0312e024d
|
27 28 |
mc13xxx_variant_mc13892, mc13xxx_variant_mc34708; |
a0c7c1d48
|
29 30 31 32 33 |
struct mc13xxx { struct regmap *regmap; struct device *dev; |
cd0f34b08
|
34 |
const struct mc13xxx_variant *variant; |
a0c7c1d48
|
35 |
|
10f9edaea
|
36 37 38 |
struct regmap_irq irqs[MC13XXX_IRQ_PER_REG * MC13XXX_IRQ_REG_CNT]; struct regmap_irq_chip irq_chip; struct regmap_irq_chip_data *irq_data; |
a0c7c1d48
|
39 40 41 |
struct mutex lock; int irq; int flags; |
a0c7c1d48
|
42 43 |
int adcflags; }; |
db9ef449a
|
44 45 |
int mc13xxx_common_init(struct device *dev); int mc13xxx_common_exit(struct device *dev); |
a0c7c1d48
|
46 47 |
#endif /* __DRIVERS_MFD_MC13XXX_H */ |