1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * The MIPI SDCA specification is available for public downloads at
4 * https://www.mipi.org/mipi-sdca-v1-0-download
5 *
6 * Copyright (C) 2025 Cirrus Logic, Inc. and
7 * Cirrus Logic International Semiconductor Ltd.
8 */
9
10#ifndef __SDCA_CLASS_H__
11#define __SDCA_CLASS_H__
12
13#include <linux/completion.h>
14#include <linux/mutex.h>
15#include <linux/workqueue.h>
16
17struct device;
18struct regmap;
19struct sdw_slave;
20struct sdca_function_data;
21
22struct sdca_class_drv {
23 struct device *dev;
24 struct regmap *dev_regmap;
25 struct sdw_slave *sdw;
26
27 struct sdca_function_data *functions;
28 struct sdca_interrupt_info *irq_info;
29
30 struct mutex regmap_lock;
31 struct work_struct boot_work;
32 struct completion device_attach;
33
34 bool attached;
35};
36
37#endif /* __SDCA_CLASS_H__ */
38

source code of linux/sound/soc/sdca/sdca_class.h