/* auto-generated by gen_syscalls.py, don't edit */

#ifndef Z_INCLUDE_SYSCALLS_DAI_H
#define Z_INCLUDE_SYSCALLS_DAI_H


#include <zephyr/tracing/tracing_syscall.h>

#ifndef _ASMLANGUAGE

#include <stdarg.h>

#include <zephyr/syscall_list.h>
#include <zephyr/syscall.h>

#include <zephyr/linker/sections.h>


#ifdef __cplusplus
extern "C" {
#endif

extern int z_impl_dai_probe(const struct device * dev);

static inline int dai_probe(const struct device * dev)
{
#ifdef CONFIG_USERSPACE
	if (z_syscall_trap()) {
		union { uintptr_t x; const struct device * val; } parm0 = { .val = dev };
		return (int) arch_syscall_invoke1(parm0.x, K_SYSCALL_DAI_PROBE);
	}
#endif
	compiler_barrier();
	return z_impl_dai_probe(dev);
}

#if defined(CONFIG_TRACING_SYSCALL)
#ifndef DISABLE_SYSCALL_TRACING

#define dai_probe(dev) ({ 	int syscall__retval; 	sys_port_trace_syscall_enter(K_SYSCALL_DAI_PROBE, dai_probe, dev); 	syscall__retval = dai_probe(dev); 	sys_port_trace_syscall_exit(K_SYSCALL_DAI_PROBE, dai_probe, dev, syscall__retval); 	syscall__retval; })
#endif
#endif


extern int z_impl_dai_remove(const struct device * dev);

static inline int dai_remove(const struct device * dev)
{
#ifdef CONFIG_USERSPACE
	if (z_syscall_trap()) {
		union { uintptr_t x; const struct device * val; } parm0 = { .val = dev };
		return (int) arch_syscall_invoke1(parm0.x, K_SYSCALL_DAI_REMOVE);
	}
#endif
	compiler_barrier();
	return z_impl_dai_remove(dev);
}

#if defined(CONFIG_TRACING_SYSCALL)
#ifndef DISABLE_SYSCALL_TRACING

#define dai_remove(dev) ({ 	int syscall__retval; 	sys_port_trace_syscall_enter(K_SYSCALL_DAI_REMOVE, dai_remove, dev); 	syscall__retval = dai_remove(dev); 	sys_port_trace_syscall_exit(K_SYSCALL_DAI_REMOVE, dai_remove, dev, syscall__retval); 	syscall__retval; })
#endif
#endif


extern int z_impl_dai_config_set(const struct device * dev, const struct dai_config * cfg, const void * bespoke_cfg, size_t size);

static inline int dai_config_set(const struct device * dev, const struct dai_config * cfg, const void * bespoke_cfg, size_t size)
{
#ifdef CONFIG_USERSPACE
	if (z_syscall_trap()) {
		union { uintptr_t x; const struct device * val; } parm0 = { .val = dev };
		union { uintptr_t x; const struct dai_config * val; } parm1 = { .val = cfg };
		union { uintptr_t x; const void * val; } parm2 = { .val = bespoke_cfg };
		union { uintptr_t x; size_t val; } parm3 = { .val = size };
		return (int) arch_syscall_invoke4(parm0.x, parm1.x, parm2.x, parm3.x, K_SYSCALL_DAI_CONFIG_SET);
	}
#endif
	compiler_barrier();
	return z_impl_dai_config_set(dev, cfg, bespoke_cfg, size);
}

#if defined(CONFIG_TRACING_SYSCALL)
#ifndef DISABLE_SYSCALL_TRACING

#define dai_config_set(dev, cfg, bespoke_cfg, size) ({ 	int syscall__retval; 	sys_port_trace_syscall_enter(K_SYSCALL_DAI_CONFIG_SET, dai_config_set, dev, cfg, bespoke_cfg, size); 	syscall__retval = dai_config_set(dev, cfg, bespoke_cfg, size); 	sys_port_trace_syscall_exit(K_SYSCALL_DAI_CONFIG_SET, dai_config_set, dev, cfg, bespoke_cfg, size, syscall__retval); 	syscall__retval; })
#endif
#endif


extern int z_impl_dai_config_get(const struct device * dev, struct dai_config * cfg, enum dai_dir dir);

static inline int dai_config_get(const struct device * dev, struct dai_config * cfg, enum dai_dir dir)
{
#ifdef CONFIG_USERSPACE
	if (z_syscall_trap()) {
		union { uintptr_t x; const struct device * val; } parm0 = { .val = dev };
		union { uintptr_t x; struct dai_config * val; } parm1 = { .val = cfg };
		union { uintptr_t x; enum dai_dir val; } parm2 = { .val = dir };
		return (int) arch_syscall_invoke3(parm0.x, parm1.x, parm2.x, K_SYSCALL_DAI_CONFIG_GET);
	}
#endif
	compiler_barrier();
	return z_impl_dai_config_get(dev, cfg, dir);
}

#if defined(CONFIG_TRACING_SYSCALL)
#ifndef DISABLE_SYSCALL_TRACING

#define dai_config_get(dev, cfg, dir) ({ 	int syscall__retval; 	sys_port_trace_syscall_enter(K_SYSCALL_DAI_CONFIG_GET, dai_config_get, dev, cfg, dir); 	syscall__retval = dai_config_get(dev, cfg, dir); 	sys_port_trace_syscall_exit(K_SYSCALL_DAI_CONFIG_GET, dai_config_get, dev, cfg, dir, syscall__retval); 	syscall__retval; })
#endif
#endif


extern int z_impl_dai_get_properties_copy(const struct device * dev, enum dai_dir dir, int stream_id, struct dai_properties * dst);

static inline int dai_get_properties_copy(const struct device * dev, enum dai_dir dir, int stream_id, struct dai_properties * dst)
{
#ifdef CONFIG_USERSPACE
	if (z_syscall_trap()) {
		union { uintptr_t x; const struct device * val; } parm0 = { .val = dev };
		union { uintptr_t x; enum dai_dir val; } parm1 = { .val = dir };
		union { uintptr_t x; int val; } parm2 = { .val = stream_id };
		union { uintptr_t x; struct dai_properties * val; } parm3 = { .val = dst };
		return (int) arch_syscall_invoke4(parm0.x, parm1.x, parm2.x, parm3.x, K_SYSCALL_DAI_GET_PROPERTIES_COPY);
	}
#endif
	compiler_barrier();
	return z_impl_dai_get_properties_copy(dev, dir, stream_id, dst);
}

#if defined(CONFIG_TRACING_SYSCALL)
#ifndef DISABLE_SYSCALL_TRACING

#define dai_get_properties_copy(dev, dir, stream_id, dst) ({ 	int syscall__retval; 	sys_port_trace_syscall_enter(K_SYSCALL_DAI_GET_PROPERTIES_COPY, dai_get_properties_copy, dev, dir, stream_id, dst); 	syscall__retval = dai_get_properties_copy(dev, dir, stream_id, dst); 	sys_port_trace_syscall_exit(K_SYSCALL_DAI_GET_PROPERTIES_COPY, dai_get_properties_copy, dev, dir, stream_id, dst, syscall__retval); 	syscall__retval; })
#endif
#endif


extern int z_impl_dai_trigger(const struct device * dev, enum dai_dir dir, enum dai_trigger_cmd cmd);

static inline int dai_trigger(const struct device * dev, enum dai_dir dir, enum dai_trigger_cmd cmd)
{
#ifdef CONFIG_USERSPACE
	if (z_syscall_trap()) {
		union { uintptr_t x; const struct device * val; } parm0 = { .val = dev };
		union { uintptr_t x; enum dai_dir val; } parm1 = { .val = dir };
		union { uintptr_t x; enum dai_trigger_cmd val; } parm2 = { .val = cmd };
		return (int) arch_syscall_invoke3(parm0.x, parm1.x, parm2.x, K_SYSCALL_DAI_TRIGGER);
	}
#endif
	compiler_barrier();
	return z_impl_dai_trigger(dev, dir, cmd);
}

#if defined(CONFIG_TRACING_SYSCALL)
#ifndef DISABLE_SYSCALL_TRACING

#define dai_trigger(dev, dir, cmd) ({ 	int syscall__retval; 	sys_port_trace_syscall_enter(K_SYSCALL_DAI_TRIGGER, dai_trigger, dev, dir, cmd); 	syscall__retval = dai_trigger(dev, dir, cmd); 	sys_port_trace_syscall_exit(K_SYSCALL_DAI_TRIGGER, dai_trigger, dev, dir, cmd, syscall__retval); 	syscall__retval; })
#endif
#endif


extern int z_impl_dai_ts_config(const struct device * dev, struct dai_ts_cfg * cfg);

static inline int dai_ts_config(const struct device * dev, struct dai_ts_cfg * cfg)
{
#ifdef CONFIG_USERSPACE
	if (z_syscall_trap()) {
		union { uintptr_t x; const struct device * val; } parm0 = { .val = dev };
		union { uintptr_t x; struct dai_ts_cfg * val; } parm1 = { .val = cfg };
		return (int) arch_syscall_invoke2(parm0.x, parm1.x, K_SYSCALL_DAI_TS_CONFIG);
	}
#endif
	compiler_barrier();
	return z_impl_dai_ts_config(dev, cfg);
}

#if defined(CONFIG_TRACING_SYSCALL)
#ifndef DISABLE_SYSCALL_TRACING

#define dai_ts_config(dev, cfg) ({ 	int syscall__retval; 	sys_port_trace_syscall_enter(K_SYSCALL_DAI_TS_CONFIG, dai_ts_config, dev, cfg); 	syscall__retval = dai_ts_config(dev, cfg); 	sys_port_trace_syscall_exit(K_SYSCALL_DAI_TS_CONFIG, dai_ts_config, dev, cfg, syscall__retval); 	syscall__retval; })
#endif
#endif


extern int z_impl_dai_ts_start(const struct device * dev, struct dai_ts_cfg * cfg);

static inline int dai_ts_start(const struct device * dev, struct dai_ts_cfg * cfg)
{
#ifdef CONFIG_USERSPACE
	if (z_syscall_trap()) {
		union { uintptr_t x; const struct device * val; } parm0 = { .val = dev };
		union { uintptr_t x; struct dai_ts_cfg * val; } parm1 = { .val = cfg };
		return (int) arch_syscall_invoke2(parm0.x, parm1.x, K_SYSCALL_DAI_TS_START);
	}
#endif
	compiler_barrier();
	return z_impl_dai_ts_start(dev, cfg);
}

#if defined(CONFIG_TRACING_SYSCALL)
#ifndef DISABLE_SYSCALL_TRACING

#define dai_ts_start(dev, cfg) ({ 	int syscall__retval; 	sys_port_trace_syscall_enter(K_SYSCALL_DAI_TS_START, dai_ts_start, dev, cfg); 	syscall__retval = dai_ts_start(dev, cfg); 	sys_port_trace_syscall_exit(K_SYSCALL_DAI_TS_START, dai_ts_start, dev, cfg, syscall__retval); 	syscall__retval; })
#endif
#endif


extern int z_impl_dai_ts_stop(const struct device * dev, struct dai_ts_cfg * cfg);

static inline int dai_ts_stop(const struct device * dev, struct dai_ts_cfg * cfg)
{
#ifdef CONFIG_USERSPACE
	if (z_syscall_trap()) {
		union { uintptr_t x; const struct device * val; } parm0 = { .val = dev };
		union { uintptr_t x; struct dai_ts_cfg * val; } parm1 = { .val = cfg };
		return (int) arch_syscall_invoke2(parm0.x, parm1.x, K_SYSCALL_DAI_TS_STOP);
	}
#endif
	compiler_barrier();
	return z_impl_dai_ts_stop(dev, cfg);
}

#if defined(CONFIG_TRACING_SYSCALL)
#ifndef DISABLE_SYSCALL_TRACING

#define dai_ts_stop(dev, cfg) ({ 	int syscall__retval; 	sys_port_trace_syscall_enter(K_SYSCALL_DAI_TS_STOP, dai_ts_stop, dev, cfg); 	syscall__retval = dai_ts_stop(dev, cfg); 	sys_port_trace_syscall_exit(K_SYSCALL_DAI_TS_STOP, dai_ts_stop, dev, cfg, syscall__retval); 	syscall__retval; })
#endif
#endif


extern int z_impl_dai_ts_get(const struct device * dev, struct dai_ts_cfg * cfg, struct dai_ts_data * tsd);

static inline int dai_ts_get(const struct device * dev, struct dai_ts_cfg * cfg, struct dai_ts_data * tsd)
{
#ifdef CONFIG_USERSPACE
	if (z_syscall_trap()) {
		union { uintptr_t x; const struct device * val; } parm0 = { .val = dev };
		union { uintptr_t x; struct dai_ts_cfg * val; } parm1 = { .val = cfg };
		union { uintptr_t x; struct dai_ts_data * val; } parm2 = { .val = tsd };
		return (int) arch_syscall_invoke3(parm0.x, parm1.x, parm2.x, K_SYSCALL_DAI_TS_GET);
	}
#endif
	compiler_barrier();
	return z_impl_dai_ts_get(dev, cfg, tsd);
}

#if defined(CONFIG_TRACING_SYSCALL)
#ifndef DISABLE_SYSCALL_TRACING

#define dai_ts_get(dev, cfg, tsd) ({ 	int syscall__retval; 	sys_port_trace_syscall_enter(K_SYSCALL_DAI_TS_GET, dai_ts_get, dev, cfg, tsd); 	syscall__retval = dai_ts_get(dev, cfg, tsd); 	sys_port_trace_syscall_exit(K_SYSCALL_DAI_TS_GET, dai_ts_get, dev, cfg, tsd, syscall__retval); 	syscall__retval; })
#endif
#endif


extern int z_impl_dai_config_update(const struct device * dev, const void * bespoke_cfg, size_t size);

static inline int dai_config_update(const struct device * dev, const void * bespoke_cfg, size_t size)
{
#ifdef CONFIG_USERSPACE
	if (z_syscall_trap()) {
		union { uintptr_t x; const struct device * val; } parm0 = { .val = dev };
		union { uintptr_t x; const void * val; } parm1 = { .val = bespoke_cfg };
		union { uintptr_t x; size_t val; } parm2 = { .val = size };
		return (int) arch_syscall_invoke3(parm0.x, parm1.x, parm2.x, K_SYSCALL_DAI_CONFIG_UPDATE);
	}
#endif
	compiler_barrier();
	return z_impl_dai_config_update(dev, bespoke_cfg, size);
}

#if defined(CONFIG_TRACING_SYSCALL)
#ifndef DISABLE_SYSCALL_TRACING

#define dai_config_update(dev, bespoke_cfg, size) ({ 	int syscall__retval; 	sys_port_trace_syscall_enter(K_SYSCALL_DAI_CONFIG_UPDATE, dai_config_update, dev, bespoke_cfg, size); 	syscall__retval = dai_config_update(dev, bespoke_cfg, size); 	sys_port_trace_syscall_exit(K_SYSCALL_DAI_CONFIG_UPDATE, dai_config_update, dev, bespoke_cfg, size, syscall__retval); 	syscall__retval; })
#endif
#endif


#ifdef __cplusplus
}
#endif

#endif
#endif /* include guard */
