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