1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * wm5102.h  --  WM5102 MFD internals
4  *
5  * Copyright 2012 Wolfson Microelectronics plc
6  *
7  * Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
8  */
9 
10 #ifndef _WM5102_H
11 #define _WM5102_H
12 
13 #include <linux/of.h>
14 #include <linux/regmap.h>
15 #include <linux/pm.h>
16 
17 extern const struct regmap_config wm5102_i2c_regmap;
18 extern const struct regmap_config wm5102_spi_regmap;
19 
20 extern const struct regmap_config wm5110_i2c_regmap;
21 extern const struct regmap_config wm5110_spi_regmap;
22 
23 extern const struct regmap_config cs47l24_spi_regmap;
24 
25 extern const struct regmap_config wm8997_i2c_regmap;
26 
27 extern const struct regmap_config wm8998_i2c_regmap;
28 
29 extern const struct dev_pm_ops arizona_pm_ops;
30 
31 extern const struct of_device_id arizona_of_match[];
32 
33 extern const struct regmap_irq_chip wm5102_aod;
34 extern const struct regmap_irq_chip wm5102_irq;
35 
36 extern const struct regmap_irq_chip wm5110_aod;
37 extern const struct regmap_irq_chip wm5110_irq;
38 extern const struct regmap_irq_chip wm5110_revd_irq;
39 
40 extern const struct regmap_irq_chip cs47l24_irq;
41 
42 extern const struct regmap_irq_chip wm8997_aod;
43 extern const struct regmap_irq_chip wm8997_irq;
44 
45 extern struct regmap_irq_chip wm8998_aod;
46 extern struct regmap_irq_chip wm8998_irq;
47 
48 int arizona_dev_init(struct arizona *arizona);
49 int arizona_dev_exit(struct arizona *arizona);
50 int arizona_irq_init(struct arizona *arizona);
51 int arizona_irq_exit(struct arizona *arizona);
52 
53 #ifdef CONFIG_OF
54 unsigned long arizona_of_get_type(struct device *dev);
55 #else
arizona_of_get_type(struct device * dev)56 static inline unsigned long arizona_of_get_type(struct device *dev)
57 {
58 	return 0;
59 }
60 #endif
61 
62 #endif
63