/* * Raydium RM31080 touchscreen driver * * Copyright (C) 2012-2014, Raydium Semiconductor Corporation. * All Rights Reserved. * Copyright (C) 2012-2017, NVIDIA Corporation. All Rights Reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * */ /*============================================================================= INCLUDED FILES =============================================================================*/ #include #include /* copy_to_user() */ #include #include /* Module definition */ #include #include /*============================================================================= GLOBAL VARIABLES DECLARATION =============================================================================*/ struct rm_tch_ctrl_para g_st_ctrl; EXPORT_SYMBOL(g_st_ctrl); /*============================================================================= FUNCTION DECLARATION =============================================================================*/ /*============================================================================= Description: Input: N/A Output: N/A =============================================================================*/ void rm_tch_ctrl_init(void) { memset(&g_st_ctrl, 0, sizeof(struct rm_tch_ctrl_para)); } EXPORT_SYMBOL(rm_tch_ctrl_init); /*============================================================================= Description: To transfer the value to HAL layer Input: N/A Output: N/A =============================================================================*/ unsigned char rm_tch_ctrl_get_idle_mode(u8 *p) { u32 u32Ret; u32Ret = copy_to_user(p, &g_st_ctrl.u8_idle_mode_check, 1); if (u32Ret) return RETURN_FAIL; return RETURN_OK; } EXPORT_SYMBOL(rm_tch_ctrl_get_idle_mode); /*============================================================================= Description: Input: N/A Output: N/A =============================================================================*/ void rm_tch_ctrl_set_parameter(void *arg) { ssize_t missing; missing = copy_from_user(&g_st_ctrl, arg, sizeof(struct rm_tch_ctrl_para)); if (missing) return; } EXPORT_SYMBOL(rm_tch_ctrl_set_parameter); /*===========================================================================*/ MODULE_AUTHOR("xxxxxxxxxx "); MODULE_DESCRIPTION("Raydium touchscreen control functions"); MODULE_LICENSE("GPL");