zephyr/drivers/ipm/ipm_handlers.c

35 lines
853 B
C

/*
* Copyright (c) 2017 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <syscall_handler.h>
#include <ipm.h>
Z_SYSCALL_HANDLER(ipm_send, dev, wait, id, data, size)
{
Z_OOPS(Z_SYSCALL_DRIVER_IPM(dev, send));
Z_OOPS(Z_SYSCALL_MEMORY_READ(data, size));
return z_impl_ipm_send((struct device *)dev, wait, id,
(const void *)data, size);
}
Z_SYSCALL_HANDLER(ipm_max_data_size_get, dev)
{
Z_OOPS(Z_SYSCALL_DRIVER_IPM(dev, max_data_size_get));
return z_impl_max_data_size_get((struct device *)dev);
}
Z_SYSCALL_HANDLER(ipm_max_id_val_get, dev)
{
Z_OOPS(Z_SYSCALL_DRIVER_IPM(dev, max_id_val_get));
return z_impl_max_id_val_get((struct device *)dev);
}
Z_SYSCALL_HANDLER(ipm_set_enabled, dev, enable)
{
Z_OOPS(Z_SYSCALL_DRIVER_IPM(dev, set_enabled));
return z_impl_ipm_set_enabled((struct device *)dev, enable);
}