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