From edf24998b000cc69e4187ef9890a2bd4f24fe5a5 Mon Sep 17 00:00:00 2001 From: Francisco Munoz Date: Mon, 30 Sep 2019 15:05:42 -0700 Subject: [PATCH] drivers: kscan: Add syscall handler for Keyboard Matrix API Introduction of syscall handlers for the Keyboard Scan Matrix API Signed-off-by: Francisco Munoz --- drivers/kscan/Kconfig | 4 ++-- drivers/kscan/kscan_handlers.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 drivers/kscan/kscan_handlers.c diff --git a/drivers/kscan/Kconfig b/drivers/kscan/Kconfig index 2c05aed7d49..22a10632fb3 100644 --- a/drivers/kscan/Kconfig +++ b/drivers/kscan/Kconfig @@ -1,4 +1,4 @@ -# Kconfig - Keyboard scan configuration options +# Kconfig - Keyboard scan configuration options # # Copyright (c) 2019 Intel Corporation @@ -7,7 +7,7 @@ # menuconfig KSCAN - bool "Keyboard scan Drivers" + bool "Keyboard Scan Drivers" help Include Keyboard scan drivers in system config. diff --git a/drivers/kscan/kscan_handlers.c b/drivers/kscan/kscan_handlers.c new file mode 100644 index 00000000000..6198688443f --- /dev/null +++ b/drivers/kscan/kscan_handlers.c @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2019 Intel Corporation + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include + +static inline int z_vrfy_kscan_config(struct device *dev, + kscan_callback_t callback_isr) +{ + Z_OOPS(Z_SYSCALL_DRIVER_KSCAN(dev, config)); + Z_OOPS(Z_SYSCALL_VERIFY_MSG(callback == 0, + "callback cannot be set from user mode")); + return z_impl_kscan_config((struct device *)dev, callback); +} +#include + +static inline int z_vrfy_kscan_disable_callback(struct device *dev); +{ + return z_impl_kscan_disable_callback((struct device *)dev); +} +#include + +static int z_vrfy_kscan_enable_callback(struct device *dev); +{ + return z_impl_kscan_enable_callback((struct device *)dev); +} +#include