linux-next: manual merge of the v4l-dvb tree with the input-current tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mauro,

Today's linux-next merge of the v4l-dvb tree got a conflict in
drivers/input/input.c between commit
2e2e3b96d98d5c17e9c09bc6088df3e182a71814 ("Input: sparse-keymap -
implement safer freeing of the keymap") from the input-current tree and
commit edeada2cde748860846784cf3e5518d7c7c51ca2 ("V4L/DVB: input: Add
support for EVIO[CS]GKEYCODEBIG") from the v4l-dvb tree.

I fixed it up (sort of and maybe not correctly - see below) and can carry
the fix as necessary.

-- 
Cheers,
Stephen Rothwell                    sfr@xxxxxxxxxxxxxxxx

diff --cc drivers/input/input.c
index 9c79bd5,ae29af8..0000000
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@@ -660,14 -816,31 +816,36 @@@ EXPORT_SYMBOL(input_set_keycode_big)
  int input_get_keycode(struct input_dev *dev,
  		      unsigned int scancode, unsigned int *keycode)
  {
 +	unsigned long flags;
 +	int retval;
 +
 +	spin_lock_irqsave(&dev->event_lock, flags);
- 	retval = dev->getkeycode(dev, scancode, keycode);
+ 	if (dev->getkeycode) {
+ 		/*
+ 		 * Use the legacy calls
+ 		 */
+ 		return dev->getkeycode(dev, scancode, keycode);
+ 	} else {
 -		int retval;
+ 		struct keycode_table_entry kt_entry;
+ 
+ 		/*
+ 		 * Userspace is using a legacy call with a driver ported
+ 		 * to the new way. This is a bad idea with long sparsed
+ 		 * tables, since lots of the retrieved values will be in
+ 		 * blank. Also, it makes sense only if the table size is
+ 		 * lower than 2^32.
+ 		 */
+ 		memset(&kt_entry, 0, sizeof(kt_entry));
+ 		kt_entry.len = 4;
+ 		kt_entry.index = scancode;
+ 
+ 		retval = dev->getkeycodebig_from_index(dev, &kt_entry);
+ 
+ 		*keycode = kt_entry.keycode;
 -		return retval;
+ 	}
 +	spin_unlock_irqrestore(&dev->event_lock, flags);
 +
 +	return retval;
  }
  EXPORT_SYMBOL(input_get_keycode);
  
--
To unsubscribe from this list: send the line "unsubscribe linux-next" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux