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 56 static inline unsigned long arizona_of_get_type(struct device *dev) 57 { 58 return 0; 59 } 60 #endif 61 62 #endif 63