xref: /openbmc/linux/drivers/mfd/cs42l43.h (revision ace6d144)
1*ace6d144SCharles Keepax /* SPDX-License-Identifier: GPL-2.0 */
2*ace6d144SCharles Keepax /*
3*ace6d144SCharles Keepax  * CS42L43 core driver internal data
4*ace6d144SCharles Keepax  *
5*ace6d144SCharles Keepax  * Copyright (C) 2022-2023 Cirrus Logic, Inc. and
6*ace6d144SCharles Keepax  *                         Cirrus Logic International Semiconductor Ltd.
7*ace6d144SCharles Keepax  */
8*ace6d144SCharles Keepax 
9*ace6d144SCharles Keepax #include <linux/mfd/cs42l43.h>
10*ace6d144SCharles Keepax #include <linux/pm.h>
11*ace6d144SCharles Keepax #include <linux/regmap.h>
12*ace6d144SCharles Keepax 
13*ace6d144SCharles Keepax #ifndef CS42L43_CORE_INT_H
14*ace6d144SCharles Keepax #define CS42L43_CORE_INT_H
15*ace6d144SCharles Keepax 
16*ace6d144SCharles Keepax #define CS42L43_N_DEFAULTS 176
17*ace6d144SCharles Keepax 
18*ace6d144SCharles Keepax extern const struct dev_pm_ops cs42l43_pm_ops;
19*ace6d144SCharles Keepax extern const struct reg_default cs42l43_reg_default[CS42L43_N_DEFAULTS];
20*ace6d144SCharles Keepax 
21*ace6d144SCharles Keepax bool cs42l43_readable_register(struct device *dev, unsigned int reg);
22*ace6d144SCharles Keepax bool cs42l43_precious_register(struct device *dev, unsigned int reg);
23*ace6d144SCharles Keepax bool cs42l43_volatile_register(struct device *dev, unsigned int reg);
24*ace6d144SCharles Keepax 
25*ace6d144SCharles Keepax int cs42l43_dev_probe(struct cs42l43 *cs42l43);
26*ace6d144SCharles Keepax void cs42l43_dev_remove(struct cs42l43 *cs42l43);
27*ace6d144SCharles Keepax 
28*ace6d144SCharles Keepax #endif /* CS42L43_CORE_INT_H */
29