Hi Tony,

I love your patch! Perhaps something to improve:

[auto build test WARNING on input/next]
[also build test WARNING on linus/master v5.11-rc2 next-20210104]
[cannot apply to hid/for-next linux/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Tony-Lindgren/Lost-key-up-interrupt-handling-for-omap4-keypad/20210106-210045
base:   https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next
config: openrisc-randconfig-s031-20210106 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-208-g46a52ca4-dirty
        # 
https://github.com/0day-ci/linux/commit/69f44d8d3d1568dd3f330a46f6173a1bfc372ebd
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Tony-Lindgren/Lost-key-up-interrupt-handling-for-omap4-keypad/20210106-210045
        git checkout 69f44d8d3d1568dd3f330a46f6173a1bfc372ebd
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=openrisc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All warnings (new ones prefixed by >>):

   drivers/input/keyboard/omap4-keypad.c: In function 'omap4_keypad_scan_keys':
   drivers/input/keyboard/omap4-keypad.c:162:6: warning: variable 'keys_up' set 
but not used [-Wunused-but-set-variable]
     162 |  int keys_up, keys_down;
         |      ^~~~~~~
   drivers/input/keyboard/omap4-keypad.c: In function 
'omap4_keypad_irq_thread_fn':
>> drivers/input/keyboard/omap4-keypad.c:192:7: warning: variable 'down_events' 
>> set but not used [-Wunused-but-set-variable]
     192 |  bool down_events;
         |       ^~~~~~~~~~~
   At top level:
   drivers/input/keyboard/omap4-keypad.c:536:32: warning: 'omap4_keypad_pm_ops' 
defined but not used [-Wunused-const-variable=]
     536 | static const struct dev_pm_ops omap4_keypad_pm_ops = {
         |                                ^~~~~~~~~~~~~~~~~~~


vim +/down_events +192 drivers/input/keyboard/omap4-keypad.c

   158  
   159  static bool omap4_keypad_scan_keys(struct omap4_keypad *keypad_data, 
bool clear)
   160  {
   161          struct input_dev *input_dev = keypad_data->input;
 > 162          int keys_up, keys_down;
   163          u32 low, high;
   164          u64 keys = 0;
   165  
   166          mutex_lock(&keypad_data->lock);
   167          if (!clear) {
   168                  low = kbd_readl(keypad_data, OMAP4_KBD_FULLCODE31_0);
   169                  high = kbd_readl(keypad_data, OMAP4_KBD_FULLCODE63_32);
   170                  keys = low | (u64)high << 32;
   171          }
   172  
   173          /* Scan for key up events for lost key-up interrupts */
   174          keys_up = omap4_keypad_scan_state(keypad_data, keys, false);
   175  
   176          /* Scan for key down events */
   177          keys_down = omap4_keypad_scan_state(keypad_data, keys, true);
   178  
   179          input_sync(input_dev);
   180  
   181          keypad_data->keys = keys;
   182  
   183          mutex_unlock(&keypad_data->lock);
   184  
   185          return keys_down;
   186  }
   187  
   188  static irqreturn_t omap4_keypad_irq_thread_fn(int irq, void *dev_id)
   189  {
   190          struct omap4_keypad *keypad_data = dev_id;
   191          struct device *dev = keypad_data->input->dev.parent;
 > 192          bool down_events;
   193          int error;
   194  
   195          error = pm_runtime_get_sync(dev);
   196          if (error < 0) {
   197                  pm_runtime_put_noidle(dev);
   198  
   199                  return IRQ_NONE;
   200          }
   201  
   202          down_events = omap4_keypad_scan_keys(keypad_data, false);
   203  
   204          /* clear pending interrupts */
   205          kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS,
   206                           kbd_read_irqreg(keypad_data, 
OMAP4_KBD_IRQSTATUS));
   207  
   208          pm_runtime_mark_last_busy(dev);
   209          pm_runtime_put_autosuspend(dev);
   210  
   211          return IRQ_HANDLED;
   212  }
   213  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to