)]}'
{
  "log": [
    {
      "commit": "dab36ad8d50dc9424dfc4926f62aaf9bd52dcf13",
      "tree": "473b84ac9e2d43b74b9f799e234eeda7497becb4",
      "parents": [
        "b635acec48bcaa9183fcbf4e3955616b0d4119b5"
      ],
      "author": {
        "name": "Carlos Corbacho",
        "email": "carlos@strangeworlds.co.uk",
        "time": "Sat Aug 02 17:28:45 2008 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Fri Aug 15 02:25:01 2008 +0200"
      },
      "message": "ACPI: WMI: Set instance for query block calls\n\nAlthough the necessary data structure was set up, it was never actually\npassed in, so data block calls have only been working by sheer chance.\n\n(On Acer laptops. the data block methods we\u0027ve been calling never look at\nthe instance value, hence acer-wmi never triggered this before).\n\nf3454ae8104efb2dbf0d08ec42c6f5d0fe9225bc brought this to light.\n\nSigned-off-by: Carlos Corbacho \u003ccarlos@strangeworlds.co.uk\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n"
    },
    {
      "commit": "a527f2d7fe58ce95bfec998f3dc6f658c777a2f2",
      "tree": "c55c8f3366ba0f955619a48e0f0a88ff070247bd",
      "parents": [
        "9b963c40306ba6967650dce99f4e823f1da49a60"
      ],
      "author": {
        "name": "Carlos Corbacho",
        "email": "carlos@strangeworlds.co.uk",
        "time": "Sun Feb 24 13:34:34 2008 +0000"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Mar 11 17:59:05 2008 -0400"
      },
      "message": "ACPI: WMI: Clean up handling of spec violating data blocks\n\nAcer violate the ACPI-WMI spec by declaring some of their data blocks as\nexpensive, but with no corresponding WCxx method. There is already some\nworkaround code in to handle the initial WCxx call (we just ignore a\nfailure here); but we need to properly check if the second, \"clean up\",\nWCxx call is actually needed or not, rather than fail simply because it\nisn\u0027t there.\n\nSigned-off-by: Carlos Corbacho \u003ccarlos@strangeworlds.co.uk\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "e6bafba5b4765a5a252f1b8d31cbf6d2459da337",
      "tree": "85cbb18909933ff16cdd816c2225a81585e2907a",
      "parents": [
        "c98aa86df3169e5d6275305376043134caa69831"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Wed Feb 13 04:03:25 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 13 07:36:27 2008 -0800"
      },
      "message": "wmi: (!x \u0026 y) strikes again\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Carlos Corbacho \u003ccarlos@strangeworlds.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96b5a46e2a72dc1829370c87053e0cd558d58bc0",
      "tree": "1f327e4ee26377d40c5fcac8cda3f2fab03f6f09",
      "parents": [
        "2c1582699872d38682b136b1446953ee351bc7e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 11 20:52:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 11 20:52:01 2008 -0800"
      },
      "message": "WMI: initialize wmi_blocks.list even if ACPI is disabled\n\nEven if we don\u0027t want to register the WMI driver, we should initialize\nthe wmi_blocks list to be empty, since we don\u0027t want the wmi helper\nfunctions to oops just because that basic list has not even been set up.\n\nWith this, \"find_guid()\" will happily return \"not found\" rather than\noopsing all over the place, and the callers will then just automatically\nreturn false or AE_NOT_FOUND as appropriate.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bff431e49ff531a343fbb2b4426e313000844f32",
      "tree": "df18bae1d7c60e3ccc2d8e8b47445700fd942f50",
      "parents": [
        "9ef9dc69d4167276c04590d67ee55de8380bc1ad"
      ],
      "author": {
        "name": "Carlos Corbacho",
        "email": "carlos@strangeworlds.co.uk",
        "time": "Tue Feb 05 02:17:04 2008 +0000"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Tue Feb 05 15:06:40 2008 -0500"
      },
      "message": "ACPI: WMI: Add ACPI-WMI mapping driver\n\nThe following is an implementation of the Windows Management\nInstrumentation (WMI) ACPI interface mapper (PNP0C14).\n\nWhat it does:\n\nParses the _WDG method and exports functions to process WMI method calls,\ndata block query/ set commands (both based on GUID) and does basic event\nhandling.\n\nHow: WMI presents an in kernel interface here (essentially, a minimal\nwrapper around ACPI)\n\n(const char *guid assume the 36 character ASCII representation of\na GUID - e.g. 67C3371D-95A3-4C37-BB61-DD47B491DAAB)\n\nwmi_evaluate_method(const char *guid, u8 instance, u32 method_id,\nconst struct acpi_buffer *in, struct acpi_buffer *out)\n\nwmi_query_block(const char *guid, u8 instance,\nstruct acpi_buffer *out)\n\nwmi_set_block(const char *guid, u38 instance,\nconst struct acpi_buffer *in)\n\nwmi_install_notify_handler(acpi_notify_handler handler);\n\nwmi_remove_notify_handler(void);\n\nwmi_get_event_data(u32 event, struct acpi_buffer *out)\n\nwmi_has_guid(const char guid*)\n\nwmi_has_guid() is a helper function to find if a GUID exists or not on the\nsystem (a quick and easy way for WMI dependant drivers to see if the\nthe method/ block they want exists, since GUIDs are supposed to be unique).\n\nEvent handling - allow a WMI based driver to register a notifier handler\nfor each GUID with WMI. When a notification is sent to a GUID in WMI, the\nhandler registered with WMI is then called (it is left to the caller to\nask for the WMI event data associated with the GUID, if needed).\n\nWhat it won\u0027t do:\n\nUnicode - The MS article[1] calls for converting between ASCII and Unicode (or\nvice versa) if a GUID is marked as \"string\". This is left up to the calling\ndriver.\n\nHandle a MOF[1] - the WMI mapper just exports methods, data and events to\nuserspace. MOF handling is down to userspace.\n\nUserspace interface - this will be added later.\n\n[1] http://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx\n\n\u003d\u003d\u003d\nChangeLog\n\u003d\u003d\n\nv1 (2007-10-02):\n\n* Initial release\n\nv2 (2007-10-05):\n\n* Cleaned up code - split up super \"wmi_evaluate_block\" -\u003e each external\n  symbol now handles its own ACPI calls, rather than handing off to\n  a \"super\" method (and in turn, is a lot simpler to read)\n* Added a find_guid() symbol - return true if a given GUID exists on\n  the system\n* wmi_* functions now return type acpi_status (since they are just\n  fancy wrappers around acpi_evaluate_object())\n* Removed extra debug code\n\nv3 (2007-10-27)\n\n* More code clean up - now passes checkpatch.pl\n* Change data block calls - ref MS spec, method ID is not required for\n  them, so drop it from the function parameters.\n* Const\u0027ify guid in the function call parameters.\n* Fix _WDG buffer handling - copy the data to our own private structure.\n* Change WMI from tristate to bool - otherwise the external functions are\n  not exported in linux/acpi.h if you try to build WMI as a module.\n* Fix more flag comparisons.\n* Add a maintainers entry - since I wrote this, I should take the blame\n  for it.\n\nv4 (2007-10-30)\n\n* Add missing brace from after fixing checkpatch errors.\n* Rewrote event handling - allow external drivers to register with WMI to\n  handle WMI events\n* Clean up flags and sanitise flag handling\n\nv5 (2007-11-03)\n\n* Add sysfs interface for userspace. Export events over netlink again.\n* Remove module left overs, fully convert to built-in driver.\n* Tweak in-kernel API to use u8 for instance, since this is what the GUID\n  blocks use (so instance cannot be greater than u8).\n* Export wmi_get_event_data() for in kernel WMI drivers.\n\nv6 (2007-11-07)\n\n* Split out userspace into a different patch\n\nv7 (2007-11-20)\n\n* Fix driver to handle multiple PNP0C14 devices - store all GUIDs using\n  the kernel\u0027s built in list functions, and just keep adding to the list\n  every time we handle a PNP0C14 devices - GUIDs will always be unique,\n  and WMI callers do not know or care about different devices.\n* Change WMI event handler registration to use its\u0027 own event handling\n  struct; we should not pass an acpi_handle down to any WMI based drivers\n  - they should be able to function with only the calls provided in WMI.\n* Update my e-mail address\n\nv8 (2007-11-28)\n\n* Convert back to a module.\n* Update Kconfig to default to building as a module.\n* Remove an erroneous printk.\n* Simply comments for string flag (since we now leave the handling to the\n  caller).\n\nv9 (2007-12-07)\n\n* Add back missing MODULE_DEVICE_TABLE for autoloading\n* Checkpatch fixes\n\nv10 (2007-12-12)\n\n* Workaround broken GUIDs declared expensive without a WCxx method.\n* Minor cleanups\n\nv11 (2007-12-17)\n\n* More fixing for broken GUIDs declared expensive without a WCxx method.\n* Add basic EmbeddedControl region handling.\n\nv12 (2007-12-18)\n\n* Changed EC region handling code, as per Alexey\u0027s comments.\n\nv13 (2007-12-27)\n\n* Changed event handling so that we can have one event handler registered\n  per GUID, as per Matthew Garrett\u0027s suggestion.\n\nv14 (2008-01-12)\n\n* Remove ACPI debug statements\n\nv15 (2008-02-01)\n\n* Replace two remaining \u0027x \u003d\u003d NULL\u0027 type tests with \u0027!x\u0027\n\nv16 (2008-02-05)\n\n* Change MAINTAINERS entry, as I am not, and never have been, paid to work\n  on WMI\n* Remove \u0027default\u0027 line from Kconfig\n\nSigned-off-by: Carlos Corbacho \u003ccarlos@strangeworlds.co.uk\u003e\nCC: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCC: Alexey Starikovskiy \u003caystarik@gmail.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    }
  ]
}
