drivers: can: add syscalls for getting min/max timing values

Add CAN system calls for getting the minimum/maximum timing values
supported by a given CAN controller device driver instance:
- can_get_timing_min()
- can_get_timing_max()
- can_get_timing_min_data()
- can_get_timing_max_data();

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
This commit is contained in:
Henrik Brix Andersen 2022-03-24 14:38:36 +01:00 committed by Marti Bolivar
commit 15fde0a357
2 changed files with 113 additions and 0 deletions

View file

@ -39,6 +39,42 @@ static inline int z_vrfy_can_get_max_bitrate(const struct device *dev,
}
#include <syscalls/can_get_max_bitrate_mrsh.c>
static inline const struct can_timing *z_vrfy_can_get_timing_min(const struct device *dev)
{
Z_OOPS(Z_SYSCALL_OBJ(dev, K_OBJ_DRIVER_CAN));
return z_impl_can_get_timing_min(dev);
}
#include <syscalls/can_get_timing_min_mrsh.c>
static inline const struct can_timing *z_vrfy_can_get_timing_max(const struct device *dev)
{
Z_OOPS(Z_SYSCALL_OBJ(dev, K_OBJ_DRIVER_CAN));
return z_impl_can_get_timing_max(dev);
}
#include <syscalls/can_get_timing_max_mrsh.c>
#ifdef CONFIG_CAN_FD_MODE
static inline const struct can_timing *z_vrfy_can_get_timing_min_data(const struct device *dev)
{
Z_OOPS(Z_SYSCALL_OBJ(dev, K_OBJ_DRIVER_CAN));
return z_impl_can_get_timing_min_data(dev);
}
#include <syscalls/can_get_timing_min_data_mrsh.c>
static inline const struct can_timing *z_vrfy_can_get_timing_max_data(const struct device *dev)
{
Z_OOPS(Z_SYSCALL_OBJ(dev, K_OBJ_DRIVER_CAN));
return z_impl_can_get_timing_max_data(dev);
}
#include <syscalls/can_get_timing_max_data_mrsh.c>
#endif /* CONFIG_CAN_FD_MODE */
static inline int z_vrfy_can_send(const struct device *dev,
const struct zcan_frame *frame,
k_timeout_t timeout,