xref: /openbmc/linux/sound/pci/hda/hda_component.h (revision e2aa5e65)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * HD audio Component Binding Interface
4  *
5  * Copyright (C) 2021 Cirrus Logic, Inc. and
6  *                    Cirrus Logic International Semiconductor Ltd.
7  */
8 
9 #include <linux/component.h>
10 
11 #define HDA_MAX_COMPONENTS	4
12 #define HDA_MAX_NAME_SIZE	50
13 
14 struct hda_component {
15 	struct device *dev;
16 	char name[HDA_MAX_NAME_SIZE];
17 	void (*playback_hook)(struct device *dev, int action);
18 	int (*set_channel_map)(struct device *dev, unsigned int rx_num, unsigned int *rx_slot,
19 				unsigned int tx_num, unsigned int *tx_slot);
20 };
21