Hi Anson, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.3 next-20190916] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Anson-Huang/dt-bindings-fsl-scu-add-scu-key-binding/20190917-105937 config: ia64-allmodconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=ia64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): In file included from drivers/input/keyboard/imx_sc_key.c:6:0: drivers/input/keyboard/imx_sc_key.c: In function 'imx_sc_check_for_events': >> drivers/input/keyboard/imx_sc_key.c:76:60: error: 'ret' undeclared (first use in this function); did you mean 'net'? dev_err(&input->dev, "read imx sc key failed, ret %d\n", ret); ^ include/linux/device.h:1499:32: note: in definition of macro 'dev_err' _dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~~~ drivers/input/keyboard/imx_sc_key.c:76:60: note: each undeclared identifier is reported only once for each function it appears in dev_err(&input->dev, "read imx sc key failed, ret %d\n", ret); ^ include/linux/device.h:1499:32: note: in definition of macro 'dev_err' _dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~~~ vim +76 drivers/input/keyboard/imx_sc_key.c > 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 19 #define DEBOUNCE_TIME 30 20 #define REPEAT_INTERVAL 60 21 22 #define SC_IRQ_BUTTON 1 23 #define SC_IRQ_GROUP_WAKE 3 24 #define IMX_SC_MISC_FUNC_GET_BUTTON_STATUS 18 25 26 struct imx_key_drv_data { 27 int keycode; 28 bool keystate; /* 1: pressed, 0: release */ 29 struct delayed_work check_work; 30 struct input_dev *input; 31 struct imx_sc_ipc *key_ipc_handle; 32 struct notifier_block key_notifier; 33 }; 34 35 struct imx_sc_msg_key { 36 struct imx_sc_rpc_msg hdr; 37 u8 state; 38 }; 39 40 static int imx_sc_key_notify(struct notifier_block *nb, 41 unsigned long event, void *group) 42 { 43 struct imx_key_drv_data *priv = 44 container_of(nb, 45 struct imx_key_drv_data, 46 key_notifier); 47 48 if ((event & SC_IRQ_BUTTON) && (*(u8 *)group == SC_IRQ_GROUP_WAKE)) { 49 schedule_delayed_work(&priv->check_work, 50 msecs_to_jiffies(DEBOUNCE_TIME)); 51 pm_wakeup_event(priv->input->dev.parent, 0); 52 } 53 54 return 0; 55 } 56 57 static void imx_sc_check_for_events(struct work_struct *work) 58 { 59 struct imx_key_drv_data *priv = 60 container_of(work, 61 struct imx_key_drv_data, 62 check_work.work); 63 struct input_dev *input = priv->input; 64 struct imx_sc_msg_key msg; 65 struct imx_sc_rpc_msg *hdr = &msg.hdr; 66 bool state; 67 int error; 68 69 hdr->ver = IMX_SC_RPC_VERSION; 70 hdr->svc = IMX_SC_RPC_SVC_MISC; 71 hdr->func = IMX_SC_MISC_FUNC_GET_BUTTON_STATUS; 72 hdr->size = 1; 73 74 error = imx_scu_call_rpc(priv->key_ipc_handle, &msg, true); 75 if (error) { > 76 dev_err(&input->dev, "read imx sc key failed, ret %d\n", ret); 77 return; 78 } 79 80 state = (bool)msg.state; 81 82 if (state ^ priv->keystate) { 83 priv->keystate = state; 84 input_event(input, EV_KEY, priv->keycode, state); 85 input_sync(input); 86 if (!priv->keystate) 87 pm_relax(priv->input->dev.parent); 88 } 89 90 if (state) 91 schedule_delayed_work(&priv->check_work, 92 msecs_to_jiffies(REPEAT_INTERVAL)); 93 } 94 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation