ir: update IOCTL cmds [1/1]
PD#SWPL-195993
Problem:
move ir header file to include/uapi/ & update IOCTL cmds
Solution:
move ir header file to include/uapi/ & update IOCTL cmds
Verify:
sc2
Change-Id: Ib98ccb26746a67d6bc040666101193bd104eee6a
Signed-off-by: Zelong Dong <zelong.dong@amlogic.com>
diff --git a/drivers/input/ir/meson_ir_cdev.c b/drivers/input/ir/meson_ir_cdev.c
index 775e104..cd12b27 100644
--- a/drivers/input/ir/meson_ir_cdev.c
+++ b/drivers/input/ir/meson_ir_cdev.c
@@ -208,6 +208,17 @@
break;
case IR_IOC_GET_WAKEUP_KEY:
+ tmp[0] = IR_MBOX_CMD_GET_WAKEUP_KEY;
+ meson_ir_mbox_transfer(chip, tmp, sizeof(u32));
+ meson_ir_report_wakeup_event(chip, tmp[0]);
+
+ if (copy_to_user(parg, &tmp[0], sizeof(u32))) {
+ retval = -EFAULT;
+ goto err;
+ }
+ break;
+
+ case IR_IOC_GET_PREBOOT_KEY:
tmp[0] = IR_MBOX_CMD_GET_PREBOOT_KEY;
meson_ir_mbox_transfer(chip, tmp, sizeof(u32));
diff --git a/drivers/input/ir/meson_ir_core.h b/drivers/input/ir/meson_ir_core.h
index 339f703..f1dee6e 100644
--- a/drivers/input/ir/meson_ir_core.h
+++ b/drivers/input/ir/meson_ir_core.h
@@ -12,7 +12,7 @@
#include <linux/device.h>
#include <dt-bindings/input/meson_ir.h>
#include <linux/leds.h>
-#include "meson_ir_common.h"
+#include <uapi/amlogic/meson_ir_common.h>
#define MULTI_IR_TYPE_MASK(type) (type & 0xff) /*8bit*/
#define LEGACY_IR_TYPE_MASK(type) ((type >> 8) & 0xff) /*8bit*/
diff --git a/drivers/input/ir/meson_ir_main.h b/drivers/input/ir/meson_ir_main.h
index b649c7b..80d47f8 100644
--- a/drivers/input/ir/meson_ir_main.h
+++ b/drivers/input/ir/meson_ir_main.h
@@ -8,7 +8,7 @@
#include <linux/cdev.h>
#include <linux/regmap.h>
#include <linux/interrupt.h>
-#include "meson_ir_common.h"
+#include <uapi/amlogic/meson_ir_common.h>
#include "meson_ir_core.h"
#define DRIVER_NAME "meson-ir"
diff --git a/drivers/input/ir/meson_ir_common.h b/include/uapi/amlogic/meson_ir_common.h
similarity index 78%
rename from drivers/input/ir/meson_ir_common.h
rename to include/uapi/amlogic/meson_ir_common.h
index 307e40c..9b70c4a 100644
--- a/drivers/input/ir/meson_ir_common.h
+++ b/include/uapi/amlogic/meson_ir_common.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
* Copyright (c) 2019 Amlogic, Inc. All rights reserved.
*/
@@ -81,13 +81,14 @@
/*IOCTL commands*/
#define IR_IOC_SET_KEY_NUMBER _IOW('I', 3, __u32)
-#define IR_IOC_SET_KEY_MAPPING_TAB _IOW('I', 4, __u32)
-#define IR_IOC_SET_SW_DECODE_PARA _IOW('I', 5, __u32)
-#define IR_IOC_GET_WAKEUP_TAB _IOW('I', 6, __u32)
-#define IR_IOC_GET_KEY_MAPPING_TAB _IOW('I', 7, __u32)
+#define IR_IOC_SET_KEY_MAPPING_TAB _IOW('I', 4, struct ir_map_tab)
+#define IR_IOC_SET_SW_DECODE_PARA _IOW('I', 5, struct ir_sw_decode_para)
+#define IR_IOC_GET_WAKEUP_TAB _IOW('I', 6, struct ir_wakeup_tab)
+#define IR_IOC_GET_KEY_MAPPING_TAB _IOW('I', 7, struct ir_map_tab)
#define IR_IOC_SET_WAKEUP_NUMBER _IOW('I', 8, __u32)
-#define IR_IOC_SET_WAKEUP_TAB _IOW('I', 9, __u32)
+#define IR_IOC_SET_WAKEUP_TAB _IOW('I', 9, struct ir_wakeup_tab)
#define IR_IOC_GET_WAKEUP_KEY _IOW('I', 10, __u32)
-#define IR_IOC_GET_DATA_VERSION _IOR('I', 121, __u32)
+#define IR_IOC_GET_PREBOOT_KEY _IOW('I', 11, __u32)
+#define IR_IOC_GET_DATA_VERSION _IOR('I', 121, char[8])
#endif