blob: 23034c48152ee78e36abbc62bfb521936013fa72 [file] [log] [blame]
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
/*
* Copyright (c) 2019 Amlogic, Inc. All rights reserved.
*/
#ifndef _BRIDGE_UAC_EXT_H
#define _BRIDGE_UAC_EXT_H
typedef int(*callback1)(void);
typedef int (*callback2)(int *chmask, int *srate, int *ssize);
typedef int (*callback3)(char *buf, unsigned int size);
typedef int (*callback4)(int cmd, int value);
struct bridge_uac_function {
callback1 get_capture_status;
callback1 get_playback_status;
callback1 start_capture;
callback1 start_playback;
callback1 stop_capture;
callback1 stop_playback;
callback1 get_default_volume_capture;
callback1 get_default_volume_playback;
callback2 get_capture_hw;
callback2 get_playback_hw;
callback3 write_data;
callback3 read_data;
callback4 ctl_capture;
callback4 ctl_playback;
int setup_capture;
int setup_playback;
};
extern struct bridge_uac_function bridge_uac_f;
void *get_uac_function_p(void);
#endif /*_BRIDGE_UAC_EXT_H*/