PM / sleep: Asynchronous threads for suspend_noirq
[linux/fpc-iii.git] / drivers / mfd / arizona.h
blobb4cef777df73732f451949ef6ef118c24bad387c
1 /*
2 * wm5102.h -- WM5102 MFD internals
4 * Copyright 2012 Wolfson Microelectronics plc
6 * Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
13 #ifndef _WM5102_H
14 #define _WM5102_H
16 #include <linux/of.h>
17 #include <linux/regmap.h>
18 #include <linux/pm.h>
20 struct wm_arizona;
22 extern const struct regmap_config wm5102_i2c_regmap;
23 extern const struct regmap_config wm5102_spi_regmap;
25 extern const struct regmap_config wm5110_i2c_regmap;
26 extern const struct regmap_config wm5110_spi_regmap;
28 extern const struct regmap_config wm8997_i2c_regmap;
30 extern const struct dev_pm_ops arizona_pm_ops;
32 extern const struct of_device_id arizona_of_match[];
34 extern const struct regmap_irq_chip wm5102_aod;
35 extern const struct regmap_irq_chip wm5102_irq;
37 extern const struct regmap_irq_chip wm5110_aod;
38 extern const struct regmap_irq_chip wm5110_irq;
40 extern const struct regmap_irq_chip wm8997_aod;
41 extern const struct regmap_irq_chip wm8997_irq;
43 int arizona_dev_init(struct arizona *arizona);
44 int arizona_dev_exit(struct arizona *arizona);
45 int arizona_irq_init(struct arizona *arizona);
46 int arizona_irq_exit(struct arizona *arizona);
48 #ifdef CONFIG_OF
49 int arizona_of_get_type(struct device *dev);
50 #else
51 static inline int arizona_of_get_type(struct device *dev)
53 return 0;
55 #endif
57 #endif