162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * CS42L43 core driver internal data
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2022-2023 Cirrus Logic, Inc. and
662306a36Sopenharmony_ci *                         Cirrus Logic International Semiconductor Ltd.
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include <linux/mfd/cs42l43.h>
1062306a36Sopenharmony_ci#include <linux/pm.h>
1162306a36Sopenharmony_ci#include <linux/regmap.h>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci#ifndef CS42L43_CORE_INT_H
1462306a36Sopenharmony_ci#define CS42L43_CORE_INT_H
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#define CS42L43_N_DEFAULTS 176
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciextern const struct dev_pm_ops cs42l43_pm_ops;
1962306a36Sopenharmony_ciextern const struct reg_default cs42l43_reg_default[CS42L43_N_DEFAULTS];
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cibool cs42l43_readable_register(struct device *dev, unsigned int reg);
2262306a36Sopenharmony_cibool cs42l43_precious_register(struct device *dev, unsigned int reg);
2362306a36Sopenharmony_cibool cs42l43_volatile_register(struct device *dev, unsigned int reg);
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciint cs42l43_dev_probe(struct cs42l43 *cs42l43);
2662306a36Sopenharmony_civoid cs42l43_dev_remove(struct cs42l43 *cs42l43);
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci#endif /* CS42L43_CORE_INT_H */
29