blob: db55d9854a5587cb1d87fd46bb3d1eee6c085c00 [file] [log] [blame]
Mark Brown3cc72982012-06-19 16:31:53 +01001/*
2 * wm5102.h -- WM5102 MFD internals
3 *
4 * Copyright 2012 Wolfson Microelectronics plc
5 *
6 * Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
7 *
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.
11 */
12
13#ifndef _WM5102_H
14#define _WM5102_H
15
Mark Brownd7810092013-03-25 00:11:27 +000016#include <linux/of.h>
Mark Brown3cc72982012-06-19 16:31:53 +010017#include <linux/regmap.h>
18#include <linux/pm.h>
19
20struct wm_arizona;
21
22extern const struct regmap_config wm5102_i2c_regmap;
23extern const struct regmap_config wm5102_spi_regmap;
Mark Browne102bef2012-07-10 12:37:58 +010024
25extern const struct regmap_config wm5110_i2c_regmap;
26extern const struct regmap_config wm5110_spi_regmap;
27
Mark Brown3cc72982012-06-19 16:31:53 +010028extern const struct dev_pm_ops arizona_pm_ops;
29
Mark Brownd7810092013-03-25 00:11:27 +000030extern const struct of_device_id arizona_of_match[];
31
Mark Brown3cc72982012-06-19 16:31:53 +010032extern const struct regmap_irq_chip wm5102_aod;
33extern const struct regmap_irq_chip wm5102_irq;
34
Mark Browne102bef2012-07-10 12:37:58 +010035extern const struct regmap_irq_chip wm5110_aod;
36extern const struct regmap_irq_chip wm5110_irq;
37
Mark Brown3cc72982012-06-19 16:31:53 +010038int arizona_dev_init(struct arizona *arizona);
39int arizona_dev_exit(struct arizona *arizona);
40int arizona_irq_init(struct arizona *arizona);
41int arizona_irq_exit(struct arizona *arizona);
42
Mark Brownd7810092013-03-25 00:11:27 +000043#ifdef CONFIG_OF
44int arizona_of_get_type(struct device *dev);
45#else
46static inline int arizona_of_get_type(struct device *dev)
47{
48 return 0;
49}
50#endif
51
Mark Brown3cc72982012-06-19 16:31:53 +010052#endif