)]}'
{
  "commit": "ab4e0192196b8d4e43a3945742d4996da934a86f",
  "tree": "7aeeec6e5fe84dcb1b3026c7cc6c0f81807f0922",
  "parents": [
    "57a7872fa0f03e90be0fa224b9ea533f5b03ee4f"
  ],
  "author": {
    "name": "Dmitry Torokhov",
    "email": "dmitry.torokhov@gmail.com",
    "time": "Tue Dec 14 23:53:21 2010 -0800"
  },
  "committer": {
    "name": "Dmitry Torokhov",
    "email": "dmitry.torokhov@gmail.com",
    "time": "Tue Dec 14 23:55:21 2010 -0800"
  },
  "message": "Input: define separate EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2\n\nThe desire to keep old names for the EVIOCGKEYCODE/EVIOCSKEYCODE while\nextending them to support large scancodes was a mistake. While we tried\nto keep ABI intact (and we succeeded in doing that, programs compiled\non older kernels will work on newer ones) there is still a problem with\nrecompiling existing software with newer kernel headers.\n\nNew kernel headers will supply updated ioctl numbers and kernel will\nexpect that userspace will use struct input_keymap_entry to set and\nretrieve keymap data. But since the names of ioctls are still the same\nuserspace will happily compile even if not adjusted to make use of the\nnew structure and will start miraculously fail in the field.\n\nTo avoid this issue let\u0027s revert EVIOCGKEYCODE/EVIOCSKEYCODE definitions\nand add EVIOCGKEYCODE_V2/EVIOCSKEYCODE_V2 so that userspace can explicitly\nselect the style of ioctls it wants to employ.\n\nReviewed-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nAcked-by: Jarod Wilson \u003cjarod@redhat.com\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e3f7fc6f95657e2f4846cebc0efae905d309c31d",
      "old_mode": 33188,
      "old_path": "drivers/input/evdev.c",
      "new_id": "68f09a868434b52a6522c147dce8125f42f6505f",
      "new_mode": 33188,
      "new_path": "drivers/input/evdev.c"
    },
    {
      "type": "modify",
      "old_id": "a8af21d42bc146cc6f6ee186894e623b01a884ff",
      "old_mode": 33188,
      "old_path": "include/linux/input.h",
      "new_id": "9777668883be6aa18a309b6388616fe08ee900ea",
      "new_mode": 33188,
      "new_path": "include/linux/input.h"
    }
  ]
}
