xref: /linux/sound/hda/codecs/side-codecs/aw88399_hda.h (revision e5c91aac491def6ab3f90c4cc246e3fcb0f8f058)
1*de7027c9SMarco Giunta /* SPDX-License-Identifier: GPL-2.0-only
2*de7027c9SMarco Giunta  *
3*de7027c9SMarco Giunta  * AW88399 HDA side codec driver
4*de7027c9SMarco Giunta  */
5*de7027c9SMarco Giunta 
6*de7027c9SMarco Giunta #ifndef __AW88399_HDA_H__
7*de7027c9SMarco Giunta #define __AW88399_HDA_H__
8*de7027c9SMarco Giunta 
9*de7027c9SMarco Giunta #include <linux/device.h>
10*de7027c9SMarco Giunta #include <linux/gpio/consumer.h>
11*de7027c9SMarco Giunta #include <sound/aw88399.h>
12*de7027c9SMarco Giunta 
13*de7027c9SMarco Giunta struct aw88399;
14*de7027c9SMarco Giunta struct aw_device;
15*de7027c9SMarco Giunta 
16*de7027c9SMarco Giunta struct aw88399_hda {
17*de7027c9SMarco Giunta 	struct device *dev;
18*de7027c9SMarco Giunta 	struct regmap *regmap;
19*de7027c9SMarco Giunta 	struct gpio_desc *reset_gpio;
20*de7027c9SMarco Giunta 	struct aw_device *aw_dev;
21*de7027c9SMarco Giunta 	struct aw88399 *core;
22*de7027c9SMarco Giunta 	bool bsts_unreliable;
23*de7027c9SMarco Giunta 
24*de7027c9SMarco Giunta 	const char *acpi_subsystem_id;
25*de7027c9SMarco Giunta 	int index;
26*de7027c9SMarco Giunta 	int channel;
27*de7027c9SMarco Giunta 
28*de7027c9SMarco Giunta 	bool playing;
29*de7027c9SMarco Giunta };
30*de7027c9SMarco Giunta 
31*de7027c9SMarco Giunta int aw88399_hda_probe(struct device *dev, struct regmap *regmap);
32*de7027c9SMarco Giunta void aw88399_hda_remove(struct device *dev);
33*de7027c9SMarco Giunta 
34*de7027c9SMarco Giunta extern const struct dev_pm_ops aw88399_hda_pm_ops;
35*de7027c9SMarco Giunta 
36*de7027c9SMarco Giunta #endif /* __AW88399_HDA_H__ */
37