)]}'
{
  "commit": "fd247447c1d94a79d5cfc647430784306b3a8323",
  "tree": "d3a58bb5e50068f4d9245f0788e7f14ff56ac711",
  "parents": [
    "e4e9a735991c80fb0fc1bd4a13a93681c3c17ce0"
  ],
  "author": {
    "name": "Rafael J. Wysocki",
    "email": "rjw@sisk.pl",
    "time": "Tue Jun 08 10:49:08 2010 +0200"
  },
  "committer": {
    "name": "Len Brown",
    "email": "len.brown@intel.com",
    "time": "Sat Jun 12 00:44:37 2010 -0400"
  },
  "message": "ACPI / ACPICA: Fix low-level GPE manipulation code\n\nACPICA uses acpi_ev_enable_gpe() for enabling GPEs at the low level,\nwhich is incorrect, because this function only enables the GPE if the\ncorresponding bit in its enable register\u0027s enable_for_run mask is set.\nThis causes acpi_set_gpe() to work incorrectly if used for enabling\nGPEs that were not previously enabled with acpi_enable_gpe().  As a\nresult, among other things, wakeup-only GPEs are never enabled by\nacpi_enable_wakeup_device(), so the devices that use them are unable\nto wake up the system.\n\nTo fix this issue remove acpi_ev_enable_gpe() and its counterpart\nacpi_ev_disable_gpe() and replace acpi_hw_low_disable_gpe() with\nacpi_hw_low_set_gpe() that will be used instead to manipulate GPE\nenable bits at the low level.  Make the users of acpi_ev_enable_gpe()\nand acpi_ev_disable_gpe() call acpi_hw_low_set_gpe() instead and\nmake sure that GPE enable masks are only updated by acpi_enable_gpe()\nand acpi_disable_gpe() when GPE reference counters change from 0\nto 1 and from 1 to 0, respectively.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5e094a28cf54a27a072a9e7fca4fcb75d3063346",
      "old_mode": 33188,
      "old_path": "drivers/acpi/acpica/acevents.h",
      "new_id": "138bbb52193011be9b66dd46fa920df612c4a5f2",
      "new_mode": 33188,
      "new_path": "drivers/acpi/acpica/acevents.h"
    },
    {
      "type": "modify",
      "old_id": "c46277d179f006fef3208db917f8cfdec375eeb7",
      "old_mode": 33188,
      "old_path": "drivers/acpi/acpica/achware.h",
      "new_id": "32391588e163c5cb650deaf6c302a97b2efae1fd",
      "new_mode": 33188,
      "new_path": "drivers/acpi/acpica/achware.h"
    },
    {
      "type": "modify",
      "old_id": "57eeb3bde41ea861a8d0cd196f1155bb329276d3",
      "old_mode": 33188,
      "old_path": "drivers/acpi/acpica/evgpe.c",
      "new_id": "66cd03835d6e79d07be4ff47d27c85ae9c3ecf30",
      "new_mode": 33188,
      "new_path": "drivers/acpi/acpica/evgpe.c"
    },
    {
      "type": "modify",
      "old_id": "7c7bbb4d402ca31a7dcbfe766e5ed2a0eb0e47b3",
      "old_mode": 33188,
      "old_path": "drivers/acpi/acpica/evxfevnt.c",
      "new_id": "e3d9f5c8e53d92b5147afeccf8c764879c2ac6d2",
      "new_mode": 33188,
      "new_path": "drivers/acpi/acpica/evxfevnt.c"
    },
    {
      "type": "modify",
      "old_id": "d989b8e786cc9839417998e545776df1c769c8e8",
      "old_mode": 33188,
      "old_path": "drivers/acpi/acpica/hwgpe.c",
      "new_id": "40388e23e103963b0eb1d56dcb2f7e305ea640d2",
      "new_mode": 33188,
      "new_path": "drivers/acpi/acpica/hwgpe.c"
    },
    {
      "type": "modify",
      "old_id": "de5e99a995307f8e933adfaa8d826b7580b40d64",
      "old_mode": 33188,
      "old_path": "include/acpi/actypes.h",
      "new_id": "6881f5b7b7bea31d817aa66c66b76070a03d7d64",
      "new_mode": 33188,
      "new_path": "include/acpi/actypes.h"
    }
  ]
}
