| /* |
| * Copyright (c) 2018 Linaro Ltd. |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <syscall_handler.h> |
| #include <drivers/led.h> |
| |
| static inline int z_vrfy_led_blink(const struct device *dev, uint32_t led, |
| uint32_t delay_on, uint32_t delay_off) |
| { |
| Z_OOPS(Z_SYSCALL_DRIVER_LED(dev, blink)); |
| return z_impl_led_blink((const struct device *)dev, led, delay_on, |
| delay_off); |
| } |
| #include <syscalls/led_blink_mrsh.c> |
| |
| static inline int z_vrfy_led_get_info(const struct device *dev, uint32_t led, |
| const struct led_info **info) |
| { |
| Z_OOPS(Z_SYSCALL_OBJ(dev, K_OBJ_DRIVER_LED)); |
| Z_OOPS(Z_SYSCALL_MEMORY_WRITE(info, sizeof(*info))); |
| return z_impl_led_get_info(dev, led, info); |
| } |
| #include <syscalls/led_get_info_mrsh.c> |
| |
| static inline int z_vrfy_led_set_brightness(const struct device *dev, |
| uint32_t led, |
| uint8_t value) |
| { |
| Z_OOPS(Z_SYSCALL_DRIVER_LED(dev, set_brightness)); |
| return z_impl_led_set_brightness((const struct device *)dev, led, |
| value); |
| } |
| #include <syscalls/led_set_brightness_mrsh.c> |
| |
| static inline int |
| z_vrfy_led_write_channels(const struct device *dev, uint32_t start_channel, |
| uint32_t num_channels, const uint8_t *buf) |
| { |
| Z_OOPS(Z_SYSCALL_OBJ(dev, K_OBJ_DRIVER_LED)); |
| Z_OOPS(Z_SYSCALL_MEMORY_READ(buf, num_channels)); |
| return z_impl_led_write_channels(dev, start_channel, num_channels, buf); |
| } |
| #include <syscalls/led_write_channels_mrsh.c> |
| |
| static inline int z_vrfy_led_set_channel(const struct device *dev, |
| uint32_t channel, uint8_t value) |
| { |
| Z_OOPS(Z_SYSCALL_OBJ(dev, K_OBJ_DRIVER_LED)); |
| return z_impl_led_set_channel(dev, channel, value); |
| } |
| #include <syscalls/led_set_channel_mrsh.c> |
| |
| static inline int z_vrfy_led_set_color(const struct device *dev, uint32_t led, |
| uint8_t num_colors, const uint8_t *color) |
| { |
| Z_OOPS(Z_SYSCALL_OBJ(dev, K_OBJ_DRIVER_LED)); |
| Z_OOPS(Z_SYSCALL_MEMORY_READ(color, num_colors)); |
| return z_impl_led_set_color(dev, led, num_colors, color); |
| } |
| #include <syscalls/led_set_color_mrsh.c> |
| |
| static inline int z_vrfy_led_on(const struct device *dev, uint32_t led) |
| { |
| Z_OOPS(Z_SYSCALL_DRIVER_LED(dev, on)); |
| return z_impl_led_on((const struct device *)dev, led); |
| } |
| #include <syscalls/led_on_mrsh.c> |
| |
| static inline int z_vrfy_led_off(const struct device *dev, uint32_t led) |
| { |
| Z_OOPS(Z_SYSCALL_DRIVER_LED(dev, off)); |
| return z_impl_led_off((const struct device *)dev, led); |
| } |
| #include <syscalls/led_off_mrsh.c> |