)]}'
{
  "log": [
    {
      "commit": "b4c6e2ea5e46b03c764a918f4999a77a3149979f",
      "tree": "bc2ee8ac6a2b3bb656aa95d1477514aa45bb834c",
      "parents": [
        "6f46b120a96212b85cbdcb84a64c854dfd791ede",
        "991cfffa7c19aa648546aff666595af896e568ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 11:06:31 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 06 11:06:31 2011 -0800"
      },
      "message": "Merge branch \u0027x86-platform-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-platform-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, earlyprintk: Move mrst early console to platform/ and fix a typo\n  x86, apbt: Setup affinity for apb timers acting as per-cpu timer\n  ce4100: Add errata fixes for UART on CE4100\n  x86: platform: Move iris to x86/platform where it belongs\n  x86, mrst: Check platform_device_register() return code\n  x86/platform: Add Eurobraille/Iris power off support\n  x86, mrst: Add explanation for using 1960 as the year offset for vrtc\n  x86, mrst: Fix dependencies of \"select INTEL_SCU_IPC\"\n  x86, mrst: The shutdown for MRST requires the SCU IPC mechanism\n  x86: Ce4100: Add reboot_fixup() for CE4100\n  ce4100: Add PCI register emulation for CE4100\n  x86: Add CE4100 platform support\n  x86: mrst: Set vRTC\u0027s IRQ to level trigger type\n  x86: mrst: Add audio driver bindings\n  rtc: Add drivers/rtc/rtc-mrst.c\n  x86: mrst: Add vrtc driver which serves as a wall clock device\n  x86: mrst: Add Moorestown specific reboot/shutdown support\n  x86: mrst: Parse SFI timer table for all timer configs\n  x86/mrst: Add SFI platform device parsing code\n"
    },
    {
      "commit": "63ee41d794d9c555f84205517a68509848988760",
      "tree": "e34ccf5d2ee1ecc46139ed31159106951a3dab70",
      "parents": [
        "f797d22121404eac7b63f1291409f96bcab51c11"
      ],
      "author": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Mon Dec 20 18:40:06 2010 -0800"
      },
      "committer": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Thu Dec 23 09:51:36 2010 +0000"
      },
      "message": "drm/i915, intel_ips: When i915 loads after IPS, make IPS relink to i915.\n\nThe IPS driver is designed to be able to run detached from i915 and\njust not enable GPU turbo in that case, in order to avoid module\ndependencies between the two drivers.  This means that we don\u0027t know\nwhat the load order between the two is going to be, and we had\npreviously only supported IPS after (optionally) i915, but not i915\nafter IPS.  If the wrong order was chosen, you\u0027d get no GPU turbo, and\nsomething like half the possible graphics performance.\n\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "8b14d7b22c61f17ccb869e0047d9df6dd9f50a9f",
      "tree": "e0d21c1bf4b70e4edf318985a9a56c365ac62a5a",
      "parents": [
        "53c96dfdd0c0ccbba7aee84c60ce0f2aa466413f"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Sun Nov 28 19:46:50 2010 -0200"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Dec 06 17:19:13 2010 -0500"
      },
      "message": "wmi: use memcmp instead of strncmp to compare GUIDs\n\nWhile looking for the duplicates in /sys/class/wmi/, I couldn\u0027t find\nthem. The code that looks for duplicates uses strncmp in a binary GUID,\nwhich may contain zero bytes. The right function is memcmp, which is\nalso used in another section of wmi code.\n\nIt was finding 49142400-C6A3-40FA-BADB-8A2652834100 as a duplicate of\n39142400-C6A3-40FA-BADB-8A2652834100. Since the first byte is the fourth\nprinted, they were found as equal by strncmp.\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "53c96dfdd0c0ccbba7aee84c60ce0f2aa466413f",
      "tree": "af21186c30d43a05a2dc65504442a6221eb1b4eb",
      "parents": [
        "a80e1cd70144fe7727f2e2d838611b6b8cf8a6d5"
      ],
      "author": {
        "name": "Zeng Zhaoming",
        "email": "zengzm.kernel@gmail.com",
        "time": "Fri Nov 19 00:46:19 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Wed Nov 24 12:07:10 2010 -0500"
      },
      "message": "ACPI, hp-wmi: Fix memory leak in acpi query\n\nFree acpi return memory after query.\n\nSigned-off-by: Zeng Zhaoming \u003czengzm.kernel@gmail.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "a80e1cd70144fe7727f2e2d838611b6b8cf8a6d5",
      "tree": "b783f3116db4fdb41665943423eb5b80bc6f9c36",
      "parents": [
        "92f61cbc614fb422759790739cbd3e5a68c9a6fc"
      ],
      "author": {
        "name": "Anisse Astier",
        "email": "anisse@astier.eu",
        "time": "Thu Nov 18 13:00:54 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Wed Nov 24 12:00:28 2010 -0500"
      },
      "message": "msi-wmi: fix semantically incorrect use of keycode instead of scancode\n\nI didn\u0027t know the difference between the two when I wrote this code in\ncommit c30116c6f0d26cd6e46dfa578163d573ef4730b2.\n\nSigned-off-by: Anisse Astier \u003canisse@astier.eu\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "92f61cbc614fb422759790739cbd3e5a68c9a6fc",
      "tree": "5c3ee17d9323a8a8ac81afa8bbbc565bbe626a53",
      "parents": [
        "ba1ff5be52163a97ac4ce8bc51beae2c96861a43"
      ],
      "author": {
        "name": "Anisse Astier",
        "email": "anisse@astier.eu",
        "time": "Thu Nov 18 13:00:53 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Wed Nov 24 12:00:22 2010 -0500"
      },
      "message": "msi-wmi: Add mute key support\n\nAdd new MUTE key seen on Medion Akoya AIO PC P4010D using MSI motherboard\n(Product Name: MS-7621)\n\nReported-and-tested-by: Mark Huijgen \u003cmark.sf.net@huijgen.tk\u003e\nSigned-off-by: Anisse Astier \u003canisse@astier.eu\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "ba1ff5be52163a97ac4ce8bc51beae2c96861a43",
      "tree": "1be56d37cf5929d28a7444c7e83ebfb265d6ae03",
      "parents": [
        "67fa38ec097a3e270ab175636338185017b49fa7"
      ],
      "author": {
        "name": "Corentin Chary",
        "email": "corentincj@iksaif.net",
        "time": "Sun Nov 14 17:40:12 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Wed Nov 24 12:00:15 2010 -0500"
      },
      "message": "asus-laptop: add wimax and wwan support\n\nAsus UL30A has a 3G chip, but the radio is disabled by default.\nThe DSDT also reference a WIMAX device, which is not present on this model.\n\nThis patch adds two new files: wwan and wimax to control WWAN and\nWIMAX devices. It does not use rfkill, because like WLED and BLED,\nwe don\u0027t know yet that the two ACPI functions will always control the\nradio, they may control only the leds on some hardware.\n\nWe may add rfkill switchs later.\n\nSigned-off-by: Corentin Chary \u003ccorentincj@iksaif.net\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "67fa38ec097a3e270ab175636338185017b49fa7",
      "tree": "9860284c8bc5c284f488421859b6cfdfafd46207",
      "parents": [
        "1d37db77c1aa199ae9a4114af7c0412c8417e949"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Nov 03 11:14:01 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Wed Nov 24 12:00:09 2010 -0500"
      },
      "message": "eeepc-wmi: fix compiler warning\n\nThis fixes the following:\n\n  CC [M]  drivers/platform/x86/eeepc-wmi.o\ndrivers/platform/x86/eeepc-wmi.c:322: warning: initialization from incompatible pointer type\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "1d37db77c1aa199ae9a4114af7c0412c8417e949",
      "tree": "02f8c308fea9441487c815422a470c7f48bc9df9",
      "parents": [
        "a2262260f9eaee4acd56b5624b5d2bf4be9bb38a"
      ],
      "author": {
        "name": "Vernon Mauery",
        "email": "vernux@us.ibm.com",
        "time": "Tue Nov 02 13:08:11 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Wed Nov 24 12:00:03 2010 -0500"
      },
      "message": "ibm_rtl: _RTL_ is not available in UEFI mode\n\nSome of the IBM servers that are supported by ibm_rtl\ncan run in both Legacy mode (BIOS) and in UEFI mode.\nWhen running in UEFI mode, it is possible that the\nEBDA table exists but cannot be mapped and reports\nerrors.  We need to make sure that by default we don\u0027t\ntry to probe the machines if they are running in UEFI\nmode.\n\nSigned-off-by: Vernon Mauery \u003cvernux@us.ibm.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "a2262260f9eaee4acd56b5624b5d2bf4be9bb38a",
      "tree": "2af951bd5e6fecdefd4687e0ed4d2dd3397b2156",
      "parents": [
        "d41014b92d60a6b375aad9b6ebc52201ee58df70"
      ],
      "author": {
        "name": "Vernon Mauery",
        "email": "vernux@us.ibm.com",
        "time": "Tue Nov 02 13:08:10 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Wed Nov 24 11:59:57 2010 -0500"
      },
      "message": "ibm_rtl: Loosen the DMI criteria to all IBM machines\n\nAllow all IBM machines to pass the DMI check so that we\ndon\u0027t have to add them one by one to the driver.  Any IBM\nmachine that has the _RTL_ table in the EBDA will work.\n\nSigned-off-by: Vernon Mauery \u003cvernux@us.ibm.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "d41014b92d60a6b375aad9b6ebc52201ee58df70",
      "tree": "13c311ceb4399fa94882c44e62e20befc6d4eeef",
      "parents": [
        "e599ab2556006398ba9aad536a58eedad515e807"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Oct 26 12:25:37 2010 +0200"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Wed Nov 24 11:59:51 2010 -0500"
      },
      "message": "drivers/platform/x86/thinkpad_acpi.c: delete double assignment\n\nDelete successive assignments to the same location.\n\nA simplified version of the semantic match that finds this problem is as\nfollows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression i;\n@@\n\n*i \u003d ...;\n i \u003d ...;\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "a49010f53b723ed0711d645ec43bde498c6756dc",
      "tree": "e01e044e5c1e78042986a0a2916ad55c77c29c0d",
      "parents": [
        "c72b844ed2f55c442b464e382a2eb2ecab5292a8"
      ],
      "author": {
        "name": "Jon Dowland",
        "email": "jmtd@debian.org",
        "time": "Wed Oct 27 00:24:59 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Wed Nov 24 11:59:37 2010 -0500"
      },
      "message": "toshiba_acpi.c: Add key_entry for a lone FN keypress\n\nA lone FN key press on a Toshiba Portégé R700 without another key in\nconjunction results in an ACPI event and a spurious error message on\nthe console.\n\nAdd a key entry to map this event to a KEY_FN keypress. This prevents\nthe console message.\n\nSigned-off-by: Jon Dowland \u003cjmtd@debian.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "c72b844ed2f55c442b464e382a2eb2ecab5292a8",
      "tree": "19235773a86747084b913dfd6b4f1b169cdd3e9a",
      "parents": [
        "ea49b1669b7b405e0eb0bf877c7b7fb01f8dd19b"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Oct 22 16:18:47 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Wed Nov 24 11:59:31 2010 -0500"
      },
      "message": "ibm_rtl: fix printk format warning\n\nFix printk format warning:\n\ndrivers/platform/x86/ibm_rtl.c:305:warning: format \u0027%#llx\u0027 expects type \u0027long long unsigned int\u0027, but argument 2 has type \u0027phys_addr_t\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Keith Mannthey \u003ckmannth@us.ibm.com\u003e\nCc: Vernon Mauery \u003cvernux@us.ibm.com\u003e\nCc: platform-driver-x86@vger.kernel.org\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "1da4b1c6a4dfb5a13d7147a27c1ac53fed09befd",
      "tree": "7b68a2afaa2972217cb0eabc1aa30b8109955f41",
      "parents": [
        "814ce2521121c2459e16cea8c7221e157edbeddd"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Tue Nov 09 11:22:58 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 09 14:45:52 2010 +0100"
      },
      "message": "x86/mrst: Add SFI platform device parsing code\n\nSFI provides a series of tables. These describe the platform devices present\nincluding SPI and I²C devices, as well as various sensors, keypads and other\nglue as well as interfaces provided via the SCU IPC mechanism (intel_scu_ipc.c)\n\nThis patch is a merge of the core elements and relevant fixes from the\nIntel development code by Feng, Alek, myself into a single coherent patch\nfor upstream submission.\n\nIt provides the needed infrastructure to register I2C, SPI and platform devices\ndescribed by the tables, as well as handlers for some of the hardware already\nsupported in kernel. The 0.8 firmware also provides GPIO tables.\n\nDevices are created at boot time or if they are SCU dependant at the point an\nSCU is discovered. The existing Linux device mechanisms will then handle the\ndevice binding. At an abstract level this is an SFI to Linux device translator.\n\nDevice/platform specific setup/glue is in this file. This is done so that the\ndrivers for the generic I²C and SPI bus devices remain cross platform as they\nshould.\n\n(Updated from RFC version to correct the emc1403 name used by the firmware\n and a wrongly used #define)\n\nSigned-off-by: Alek Du \u003calek.du@linux.intel.com\u003e\nLKML-Reference: \u003c20101109112158.20013.6158.stgit@localhost.localdomain\u003e\n[Clean ups, removal of 0.7 support]\nSigned-off-by: Feng Tang \u003cfeng.tang@linux.intel.com\u003e\n[Clean ups]\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "61d8e11e519ee7912ab59610fba1aaf08e3c1d84",
      "tree": "f06e035c88cbf508eb6e24875b878ee78d581cf8",
      "parents": [
        "c3b92ce9e75f6353104fc7f8e32fb9fdb2550ad0"
      ],
      "author": {
        "name": "Zimny Lech",
        "email": "napohybelskurwysynom2010@gmail.com",
        "time": "Wed Oct 27 15:34:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:03:18 2010 -0700"
      },
      "message": "Remove duplicate includes from many files\n\nSigned-off-by: Zimny Lech \u003cnapohybelskurwysynom2010@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fbaab1dc19751c80a7df62425f1d9ad2688e42f5",
      "tree": "87d9fb36de2873677449bb1737086a3c64f87ef6",
      "parents": [
        "51f00a471ce8f359627dd99aeac322947a0e491b",
        "7f80d734b3b5d23b9851cc03cc20733bca2c724e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 08:28:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 25 08:28:13 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (44 commits)\n  eeepc-wmi: Add cpufv sysfs interface\n  eeepc-wmi: add additional hotkeys\n  panasonic-laptop: Simplify calls to acpi_pcc_retrieve_biosdata\n  panasonic-laptop: Handle errors properly if they happen\n  intel_pmic_gpio: fix off-by-one value range checking\n  IBM Real-Time \"SMI Free\" mode driver -v7\n  Add OLPC XO-1 rfkill driver\n  Move hdaps driver to platform/x86\n  ideapad-laptop: Fix Makefile\n  intel_pmic_gpio: swap the bits and mask args for intel_scu_ipc_update_register\n  ideapad: Add param: no_bt_rfkill\n  ideapad: Change the driver name to ideapad-laptop\n  ideapad: rewrite the sw rfkill set\n  ideapad: rewrite the hw rfkill notify\n  ideapad: use EC command to control camera\n  ideapad: use return value of _CFG to tell if device exist or not\n  ideapad: make sure we bind on the correct device\n  ideapad: check VPC bit before sync rfkill hw status\n  ideapad: add ACPI helpers\n  dell-laptop: Add debugfs support\n  ...\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "7f80d734b3b5d23b9851cc03cc20733bca2c724e",
      "tree": "406b97e43f8e2db6ab7ca5cf3433e41532f9e699",
      "parents": [
        "eda1748418beb1b9a75d0cea3304edf922c66134"
      ],
      "author": {
        "name": "Chris Bagwell",
        "email": "chris@cnpbagwell.com",
        "time": "Mon Oct 11 18:47:18 2010 -0500"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 10:10:53 2010 -0400"
      },
      "message": "eeepc-wmi: Add cpufv sysfs interface\n\neeepc-laptop provides a sysfs interface to read and control what it\ncalls cpufv.  When WMI is enabled, the ACPI interface changes slightly\nand becames a write-only control with 3 valid values.\n\nExpose cpufv again to allow for user space utils that can extended battery\nlife noticably and come a little closer to parity with eeepc-laptop.\n\nWrite-only is OK for most user space apps because read status was\nmostly used to prevent unneeded mode changes.  Since this same check\nto ignore changes to same mode also exists in the DSDT then it was\nwasted ACPI call.\n\nacpi_osi\u003d\"!Windows 2009\" can be used for get back eeepc-laptop\u0027s\nread support of cpufv for debugging things such as behaviour\nduring resume.\n\nThis patch was tested with EEE PC 1005PE by monitoring powertop output while\nwriting values of \"0\", \"1\", and \"2\" and by reviewing the decompiled DSDT of\nan 1201NL and comparing it to 1005PE\u0027s DSDT.\n\nSigned-off-by: Chris Bagwell \u003cchris@cnpbagwell.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "eda1748418beb1b9a75d0cea3304edf922c66134",
      "tree": "01500058bda60b707099b9561701a4b36d3b9abc",
      "parents": [
        "e253fb944d3335a29bc392eafbe14c43832e806a"
      ],
      "author": {
        "name": "Chris Bagwell",
        "email": "chris@cnpbagwell.com",
        "time": "Mon Oct 11 18:47:17 2010 -0500"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 10:10:51 2010 -0400"
      },
      "message": "eeepc-wmi: add additional hotkeys\n\nAdded 4 hotkeys using same keymap values as eeepc-latop.\nThese are mousepad toggle, resolution change, screen off,\nand task manager.  These were tested on 1005PE and are the\nFn-F3, F4, F7, and F9, respectively.\n\nAlso, added a new hot key for power toggles (Fn-Space on 1005PE)\nand is meant to drive cpufv interface from userspace.\n\nSigned-off-by: Chris Bagwell \u003cchris@cnpbagwell.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "e253fb944d3335a29bc392eafbe14c43832e806a",
      "tree": "bdbbd46d4c59b031997c4566a898a3703486cb42",
      "parents": [
        "aa13857f13c3d5535904781e264d8f9115e30438"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "jdelvare@suse.de",
        "time": "Thu Oct 21 11:50:47 2010 +0200"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 10:10:50 2010 -0400"
      },
      "message": "panasonic-laptop: Simplify calls to acpi_pcc_retrieve_biosdata\n\nFunction acpi_pcc_retrieve_biosdata is always called with parameters\n(pcc, pcc-\u003esinf), so we can drop the second parameter. It was\ndangerous to pass the sinf array separately anyway, as its length is\nchecked as pcc-\u003enum_sifr, which pretty much assumed it was pcc-\u003esinf\n(or at least had the same size.)\n\nThis change makes the code slightly more compact and thus marginally\nfaster.\n\nSigned-off-by: Jean Delvare \u003cjdelvare@suse.de\u003e\nCc: Harald Welte \u003claforge@gnumonks.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "aa13857f13c3d5535904781e264d8f9115e30438",
      "tree": "88493bebeabb3a8d2595569ac3aec968577b4947",
      "parents": [
        "4119617919c243755946699808ffd0f4befa62c7"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "jdelvare@suse.de",
        "time": "Thu Oct 21 11:48:47 2010 +0200"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 10:10:49 2010 -0400"
      },
      "message": "panasonic-laptop: Handle errors properly if they happen\n\nacpi_pcc_retrieve_biosdata() returns success instead of error if\nHKEY.SINF is invalid. Fix this.\n\nFurthermore, if acpi_pcc_retrieve_biosdata() returns an error\nduring device addition, initialization is properly reverted but value\n0 is returned, which means success. This would cause a crash when\nlater using or removing the device, so fix this too.\n\nSigned-off-by: Jean Delvare \u003cjdelvare@suse.de\u003e\nCc: Harald Welte \u003claforge@gnumonks.org\u003e\nCc: Bruno Premont \u003cbonbons@linux-vserver.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "4119617919c243755946699808ffd0f4befa62c7",
      "tree": "a3072ec2107810b3dac2e9da0e8c366bfe946e43",
      "parents": [
        "35f0ce032b0f2d6974da516b5a113f49b7b70b09"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Fri Oct 08 17:54:31 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 10:10:47 2010 -0400"
      },
      "message": "intel_pmic_gpio: fix off-by-one value range checking\n\nIn pmic_irq_type(), we use gpio as array index for trigger,\nthus the valid value range for gpio should be 0 .. NUM_GPIO - 1.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "35f0ce032b0f2d6974da516b5a113f49b7b70b09",
      "tree": "c988974a4e0cb06e0bff53f29e6541d21631e16a",
      "parents": [
        "260586d2b444909380137de6c6423e5b44edf4db"
      ],
      "author": {
        "name": "Vernon Mauery",
        "email": "vernux@us.ibm.com",
        "time": "Tue Oct 05 15:47:18 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 10:10:46 2010 -0400"
      },
      "message": "IBM Real-Time \"SMI Free\" mode driver -v7\n\nAfter a period of RFC for this driver, I think it is ready\nfor inclusion in the platform-driver-x86 tree, hopefully to\nbe staged in the next merge window into Linus\u0027s tree.\n\n--Vernon\n\n------------------------------------------------------------\n\nIBM Real-Time \"SMI Free\" mode driver\n\nThis driver supports the Real-Time Linux (RTL) BIOS feature.\nThe RTL feature allows non-fatal System Management Interrupts\n(SMIs) to be disabled on supported IBM platforms and is\nintended to be coupled with a user-space daemon to monitor\nthe hardware in a way that can be prioritized and scheduled\nto better suit the requirements for the system.\n\nThe Device is presented as a special \"_RTL_\" table to the OS\nin the Extended BIOS Data Area.  There is a simple protocol\nfor entering and exiting the mode at runtime.  This driver\ncreates a simple sysfs interface to allow a simple entry and\nexit from RTL mode in the UFI/BIOS.\n\nSince the driver is specific to IBM SystemX hardware (x86-\nbased servers) it only builds on x86 builds.  To reduce the\nrisk of loading on the wrong hardware, the module uses DMI\ninformation and checks a list of servers that are known to\nwork.\n\nSigned-off-by: Vernon Mauery \u003cvernux@us.ibm.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "260586d2b444909380137de6c6423e5b44edf4db",
      "tree": "612411c307af79ff2bc1f1545b76c1ad5a8c9dc8",
      "parents": [
        "bd9fc3a72345807683a009c1e19dc0d517f0f4e7"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@laptop.org",
        "time": "Tue Oct 05 15:55:21 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 10:10:44 2010 -0400"
      },
      "message": "Add OLPC XO-1 rfkill driver\n\nAdd a software rfkill switch for the WLAN interface in the OLPC XO-1\nlaptop. It uses the OLPC embedded controller to cut/restore power to\nthe Marvell WLAN chip on the motherboard.\n\nSigned-off-by: Daniel Drake \u003cdsd@laptop.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "bd9fc3a72345807683a009c1e19dc0d517f0f4e7",
      "tree": "40bdb1b25b8936f97148b0e563f87a4887ead164",
      "parents": [
        "75b2d09a295d3232fdacd0a0a07d91c6f118ca18"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Oct 05 12:08:57 2010 +0200"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 10:10:43 2010 -0400"
      },
      "message": "Move hdaps driver to platform/x86\n\nThe hdaps driver isn\u0027t a hardware monitoring driver, so it shouldn\u0027t\nlive under driver/hwmon. drivers/platform/x86 seems much more\nappropriate, as the driver is only useful on x86 laptops.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Frank Seidel \u003cfrank@f-seidel.de\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "75b2d09a295d3232fdacd0a0a07d91c6f118ca18",
      "tree": "5e4f6f4cd1ec2a99f616de9a935b417b2146584b",
      "parents": [
        "ffcfff3a8d6cc94f1fb598e0b021c64ce35b5036"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Oct 05 09:18:30 2010 -0400"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:51 2010 -0400"
      },
      "message": "ideapad-laptop: Fix Makefile\n\nThe makefile didn\u0027t get updated when the driver changed name, which broke\nthe build.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "ffcfff3a8d6cc94f1fb598e0b021c64ce35b5036",
      "tree": "a902f1d0b09262d9c1b3c63c66b478d06b3af398",
      "parents": [
        "bfa97b7dab708b100040a1335ea0860a8b9ef346"
      ],
      "author": {
        "name": "Alek Du",
        "email": "alek.du@intel.com",
        "time": "Mon Oct 04 16:40:35 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:51 2010 -0400"
      },
      "message": "intel_pmic_gpio: swap the bits and mask args for intel_scu_ipc_update_register\n\nThe intel_scu_ipc_update_register 2nd paramter should the bits and 3rd\nparamter should be the mask.\n\nThis typo was introduced during IPC function changing...\n\nReported-by: Ryan Zhou \u003cryan.zhou@intel.com\u003e\nSigned-off-by: Alek Du \u003calek.du@intel.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "bfa97b7dab708b100040a1335ea0860a8b9ef346",
      "tree": "372a9f0ebef5b12579f30367128915d7b72487fa",
      "parents": [
        "57ac3b051cc09693f2e0f4725c87091ab11c7318"
      ],
      "author": {
        "name": "Ike Panhc",
        "email": "ike.pan@canonical.com",
        "time": "Fri Oct 01 15:40:22 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:51 2010 -0400"
      },
      "message": "ideapad: Add param: no_bt_rfkill\n\nAdd new module parameter that force module not to register bluetooth rfkill.\n\nThere is report that saying using this bluetooth rfkill to enable/disable\nbluetooth will let bluetooth device initial failed when enable on Lenovo\nideapad S12. Fortunately there is another rfkill registered by bluetooth\ndriver for S12 and user can shutdown the bluetooth by either bluetooth driver\nor HW RF switch.\n\nFor dual OS user, it may have some trouble that using Linux after turning off\nbluetooth with another OS if we do not register bluetooth rfkill at all. So\nwe will force bluetooth enable when no_bt_rfkill\u003d1.\n\nSigned-off-by: Ike Panhc \u003cike.pan@canonical.com\u003e\nTested-by: Mario \u0027BitKoenig\u0027 Holbe \u003cMario.Holbe@TU-Ilmenau.DE\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "57ac3b051cc09693f2e0f4725c87091ab11c7318",
      "tree": "c2bd612211ebf861808ac40ef18f1ce8ecdde271",
      "parents": [
        "fa08359ee29bd0dc52a4281d0e482fff08664b96"
      ],
      "author": {
        "name": "Ike Panhc",
        "email": "ike.pan@canonical.com",
        "time": "Fri Oct 01 15:40:09 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:51 2010 -0400"
      },
      "message": "ideapad: Change the driver name to ideapad-laptop\n\nSince the platform drivers doing more for laptops than just using specific\nACPI device. It will be good to change the name from *_acpi to *-laptop.\n\nReference: http://lkml.org/lkml/2010/8/14/154\n\nSigned-off-by: Ike Panhc \u003cike.pan@canonical.com\u003e\nAcked-by: Len Brown \u003clen.brown@intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "fa08359ee29bd0dc52a4281d0e482fff08664b96",
      "tree": "22e3835fd6ec0e4c939e9c60a796dcccaa6efd11",
      "parents": [
        "2b7266bd49efc84f6642cf9bb7fb37d286345d15"
      ],
      "author": {
        "name": "Ike Panhc",
        "email": "ike.pan@canonical.com",
        "time": "Fri Oct 01 15:39:59 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:50 2010 -0400"
      },
      "message": "ideapad: rewrite the sw rfkill set\n\nControl power of rf modules by ec commands\n\nSigned-off-by: Ike Panhc \u003cike.pan@canonical.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "2b7266bd49efc84f6642cf9bb7fb37d286345d15",
      "tree": "024771a34a04b365ee6114b98104c73d43c866d9",
      "parents": [
        "26c81d5c9a88af404a5fef43caa259e8637fec94"
      ],
      "author": {
        "name": "Ike Panhc",
        "email": "ike.pan@canonical.com",
        "time": "Fri Oct 01 15:39:49 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:50 2010 -0400"
      },
      "message": "ideapad: rewrite the hw rfkill notify\n\n1. Read hw rfkill status by ec command\n2. Not to touch sw status of each rfkill when hw rfkill notify\n3. Initial rfkill status when module loaded\n\nSigned-off-by: Ike Panhc \u003cike.pan@canonical.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "26c81d5c9a88af404a5fef43caa259e8637fec94",
      "tree": "dce10bc349f2be5d07749650ab962eb91a68b321",
      "parents": [
        "dfa7f6fe0ad7697ba43303bf37487987409b1b91"
      ],
      "author": {
        "name": "Ike Panhc",
        "email": "ike.pan@canonical.com",
        "time": "Fri Oct 01 15:39:40 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:50 2010 -0400"
      },
      "message": "ideapad: use EC command to control camera\n\nSigned-off-by: Ike Panhc \u003cike.pan@canonical.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "dfa7f6fe0ad7697ba43303bf37487987409b1b91",
      "tree": "0541fae10b2e0c56fb8e6abc94ff29eeb89e799a",
      "parents": [
        "6f8371c05e64138c305aa1b6a21857cd7a50e147"
      ],
      "author": {
        "name": "Ike Panhc",
        "email": "ike.pan@canonical.com",
        "time": "Fri Oct 01 15:39:29 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:50 2010 -0400"
      },
      "message": "ideapad: use return value of _CFG to tell if device exist or not\n\nThere are several bits of the return value of _CFG shows if RF/Camera devices\nexist or not.\n\nSigned-off-by: Ike Panhc \u003cike.pan@canonical.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "6f8371c05e64138c305aa1b6a21857cd7a50e147",
      "tree": "50d8462ed93436ccad764d4e34ff198b60727417",
      "parents": [
        "8e7d354370f61cbe82a8b4a0f74224aed900b410"
      ],
      "author": {
        "name": "Ike Panhc",
        "email": "ike.pan@canonical.com",
        "time": "Fri Oct 01 15:39:14 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:49 2010 -0400"
      },
      "message": "ideapad: make sure we bind on the correct device\n\nBy reading from method _CFG to make sure we bind on the correct VPC2004 device.\n\nSigned-off-by: Ike Panhc \u003cike.pan@canonical.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "8e7d354370f61cbe82a8b4a0f74224aed900b410",
      "tree": "a91e29fd981992e2f3dc59e14418dbe2dc855160",
      "parents": [
        "6a09f21dd1e205a68c8f8c4f39e4cff8f63801b6"
      ],
      "author": {
        "name": "Ike Panhc",
        "email": "ike.pan@canonical.com",
        "time": "Fri Oct 01 15:39:05 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:49 2010 -0400"
      },
      "message": "ideapad: check VPC bit before sync rfkill hw status\n\nCheck VPC bit to make sure the HW rfkill is touched.\n\nSigned-off-by: Ike Panhc \u003cike.pan@canonical.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "6a09f21dd1e205a68c8f8c4f39e4cff8f63801b6",
      "tree": "547bc3b0d628dcc4a185b552a26fcb16aec6170e",
      "parents": [
        "037accfa14b28ecf49d9060063929c4b4cde373f"
      ],
      "author": {
        "name": "Ike Panhc",
        "email": "ike.pan@canonical.com",
        "time": "Fri Oct 01 15:38:46 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:49 2010 -0400"
      },
      "message": "ideapad: add ACPI helpers\n\nThere are two methods under VPC2004 which is used to access VDAT/VCMD of EC\nregister. Add helpers for read and write these two registers.\n\nAnd add read_method_int for reading the return value from ACPI methods which\nrequires no parameter.\n\nSigned-off-by: Ike Panhc \u003cike.pan@canonical.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "037accfa14b28ecf49d9060063929c4b4cde373f",
      "tree": "5efaeb97e507105dd08e19367ea3574274e2b0bc",
      "parents": [
        "c64eefd48c44fa8145ad1f96edabf4a053fffc49"
      ],
      "author": {
        "name": "Keng-Yu Lin",
        "email": "keng-yu.lin@canonical.com",
        "time": "Tue Sep 28 11:43:31 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:49 2010 -0400"
      },
      "message": "dell-laptop: Add debugfs support\n\nExport the status of RF killswitch through debugfs.\n\nThe killswitch status is obtained by the SMI to BIOS. Exporting this status\nthrough debugfs can help identify the issue with the misbehaving firmware.\n\nSigned-off-by: Keng-Yu Lin \u003ckeng-yu.lin@canonical.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "c64eefd48c44fa8145ad1f96edabf4a053fffc49",
      "tree": "6956b6d86c7253d1cd52233c3818d3041787405b",
      "parents": [
        "614ef4322200086447d5e1f79e8876213c94f499"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Aug 26 00:15:30 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:48 2010 -0400"
      },
      "message": "WMI: embed struct device directly into wmi_block\n\nInstead of creating wmi_blocks and then register corresponding devices\non a separate pass do it all in one shot, since lifetime rules for both\nobjects are the same. This also takes care of leaking devices when\ndevice_create fails for one of them.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "614ef4322200086447d5e1f79e8876213c94f499",
      "tree": "4e0fc6e06502e57e3f70ad5cbc83570d7338de0d",
      "parents": [
        "8e07514db8d037a8454e81cd529a9844c9fa7075"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Aug 26 00:15:25 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:48 2010 -0400"
      },
      "message": "WMI: make use of class device\u0027s attributres\n\nInstead of adding modalias attribute manually set it up as class\u0027s\ndevice attribute so driver core will create and remove it for us.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "8e07514db8d037a8454e81cd529a9844c9fa7075",
      "tree": "64129475e95fef0bf7e779d87d76ce20ce5ab352",
      "parents": [
        "762e1a2ff6c1116d8f6f175994753fa2319097f2"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Aug 26 00:15:19 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:48 2010 -0400"
      },
      "message": "WMI: use pr_err() and friends\n\nThis makes source more concise and easier to read.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "762e1a2ff6c1116d8f6f175994753fa2319097f2",
      "tree": "a44386f6d83243751c5fbfd542083c7b259d53f7",
      "parents": [
        "378306628e26d2945a1ed245f177a693c314e68d"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Aug 26 00:15:14 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:47 2010 -0400"
      },
      "message": "WMI: use separate list head for storing wmi blocks\n\nDo not abuse wmi_block structure to hold the head of list\nof blocks, use separate list_head for that.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "378306628e26d2945a1ed245f177a693c314e68d",
      "tree": "c32dbd4988e1e51bbbff88fa8e20221492b34c06",
      "parents": [
        "3d2c63eb5e0abfd06b19928c8ed43020b3451a3c"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Aug 26 00:15:09 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:47 2010 -0400"
      },
      "message": "WMI: simplify handling of returned WMI blocks in parse_wdg()\n\nThere is no reason why we allocate memory and copy data into an\nintermediate buffer, it is not like we are working with data coming\nfrom userspace.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "3d2c63eb5e0abfd06b19928c8ed43020b3451a3c",
      "tree": "785fd8b6ab560a06f78fe29d22599990a09c3dbc",
      "parents": [
        "64ed0ab8d060d28a7787de29c76178c2efc1dd65"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Aug 26 00:15:03 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:47 2010 -0400"
      },
      "message": "WMI: fix potential NULL pointer dereference\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "64ed0ab8d060d28a7787de29c76178c2efc1dd65",
      "tree": "0fb02e7d696f310886a9e57c01130322fc60e3e8",
      "parents": [
        "4e4304d7498c85f6ea798ee5fcb5d3bd3741e74f"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Aug 26 00:14:58 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:47 2010 -0400"
      },
      "message": "WMI: do not leak memory in parse_wdg()\n\nIf we _WDG returned object that is not buffer we were forgetting\nto free memory allocated for that object.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "4e4304d7498c85f6ea798ee5fcb5d3bd3741e74f",
      "tree": "fc98cb6fbcdc84b41c21323ef08f4506bd4cae34",
      "parents": [
        "2d5ab5551f38793f8977114d78a98aad138cfb4e"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Aug 26 00:14:53 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:46 2010 -0400"
      },
      "message": "WMI: fix wmi_gtoa() to actully terminate the string\n\nCourtesy of sparse...\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "2d5ab5551f38793f8977114d78a98aad138cfb4e",
      "tree": "ea9d19d0fefcecc8d8dc1a3ab541602bd18c68f9",
      "parents": [
        "5212cd678af82fef00f6d60d14de01c1211aad56"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Aug 26 00:14:48 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:46 2010 -0400"
      },
      "message": "WMI: free wmi blocks when parse_wdg() fails\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "5212cd678af82fef00f6d60d14de01c1211aad56",
      "tree": "8d19ceef8de9e4ac568cc498b2dc47245eb2ce08",
      "parents": [
        "ac9b1e5b63d5d9829ecf2294f0486ccd270c5db4"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Aug 26 00:14:42 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:46 2010 -0400"
      },
      "message": "WMI: remove EC region handler when _WDG parsing fails\n\nDriver initialization was forgetting to remove EC address space handler\nin cases when parse_wdg() method failed.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "ac9b1e5b63d5d9829ecf2294f0486ccd270c5db4",
      "tree": "44038c936ea0ab24c4761cc9fd1aac1f1651dcc4",
      "parents": [
        "209009b2cb29124ad707fbb3ba4c95d3d100a1c4"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Aug 26 00:12:19 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:46 2010 -0400"
      },
      "message": "asus-laptop: use attribute group to manage attributes\n\nInstead of registering (and removing) every attribute individually\nswitch to using sysfs attribute group. This makes sure that we\nproperly unwind and do not try to remove non-existent attributes which\nmay not be safe to do in the future.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "209009b2cb29124ad707fbb3ba4c95d3d100a1c4",
      "tree": "55dc23b6c154234260ba62b55df3b9a82a51a3c1",
      "parents": [
        "392bd8b58414106b129d72a33fa99b999b720237"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Sep 13 15:55:05 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:45 2010 -0400"
      },
      "message": "scu_ipc: Fix warning caused by include changes\n\nWe need to include the SFI headers. This is fine as the SCU is only\nrelevant to x86 platforms with SFI.\n\nFixes the -next warning report.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "392bd8b58414106b129d72a33fa99b999b720237",
      "tree": "432b6aad41b2e511b7750917049335d04f80730e",
      "parents": [
        "91e5d284a7f14c70187914056b0466163a5e2f03"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andy.shevchenko@gmail.com",
        "time": "Sat Sep 11 16:31:02 2010 +0300"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:45 2010 -0400"
      },
      "message": "platform: x86: throw away custom methods\n\nIn 2.6.35 the hex_to_bin() was introduced.\n\nSigned-off-by: Andy Shevchenko \u003candy.shevchenko@gmail.com\u003e\nCc: Carlos Corbacho \u003ccarlos@strangeworlds.co.uk\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: platform-driver-x86@vger.kernel.org\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "91e5d284a7f14c70187914056b0466163a5e2f03",
      "tree": "c5f9eab479dcf73c64123505333ea423434af7e6",
      "parents": [
        "af9902e130d30ce46b5827d18f8dd56e2accbaf1"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sat Aug 28 10:10:50 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:45 2010 -0400"
      },
      "message": "acpi_toshiba: fix kconfig error\n\nFix kconfig recursive dependency error in ACPI_TOSHIBA:\nit uses both select and depends on for BACKLIGHT_CLASS_DEVICE.\n\ndrivers/video/backlight/Kconfig:117:error: recursive dependency detected!\ndrivers/video/backlight/Kconfig:117:    symbol BACKLIGHT_CLASS_DEVICE is selected by ACPI_TOSHIBA\ndrivers/platform/x86/Kconfig:490:       symbol ACPI_TOSHIBA depends on LEDS_CLASS\ndrivers/leds/Kconfig:12:        symbol LEDS_CLASS is selected by BACKLIGHT_ADP8860\ndrivers/video/backlight/Kconfig:285:    symbol BACKLIGHT_ADP8860 depends on BACKLIGHT_CLASS_DEVICE\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "af9902e130d30ce46b5827d18f8dd56e2accbaf1",
      "tree": "08fec1f4416d99a5f85bf9dc666204ddd142c82a",
      "parents": [
        "b404ecbf91a5c19c0f448b513aa26696eee09392"
      ],
      "author": {
        "name": "Pascal de Bruijn",
        "email": "pascal@unilogicnetworks.net",
        "time": "Mon Aug 30 09:09:53 2010 +0200"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:44 2010 -0400"
      },
      "message": "Don\u0027t show error if Acer WMI is not found\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "b404ecbf91a5c19c0f448b513aa26696eee09392",
      "tree": "29374f61968f0010b410eb94c7684e06a102a0dd",
      "parents": [
        "23f45c3a76e715217f40ac397c15815c774cad7f"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Aug 25 07:45:45 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:44 2010 -0400"
      },
      "message": "asus-laptop: remove no longer used keycode_map field\n\nThe driver uses sparse keymap library and does not use this field\nanymore.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "23f45c3a76e715217f40ac397c15815c774cad7f",
      "tree": "8d115313d9e3a7a83e326eac2289fb1c2d8346e0",
      "parents": [
        "b58baecddee634903f339b7f7e9db7fc2a1449f1"
      ],
      "author": {
        "name": "Corentin Chary",
        "email": "corentincj@iksaif.net",
        "time": "Tue Aug 24 09:30:46 2010 +0200"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:44 2010 -0400"
      },
      "message": "asus-laptop: fix gps rfkill\n\nThe GPS rfkill crappy code. The ops_data argument wasn\u0027t\nset, and was totally misused. The fix have been tested\non an Asus R2H.\n\nCc: stable@kernel.org\nSigned-off-by: Corentin Chary \u003ccorentincj@iksaif.net\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "b58baecddee634903f339b7f7e9db7fc2a1449f1",
      "tree": "1fb990d06b2b17f84f6e863a57b53b1820e32fec",
      "parents": [
        "71e687dc499819caa0d6ee0f80dcda1d5c24b5b2"
      ],
      "author": {
        "name": "Corentin Chary",
        "email": "corentincj@iksaif.net",
        "time": "Tue Aug 24 09:30:45 2010 +0200"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:44 2010 -0400"
      },
      "message": "asus-laptop: Add key found on Asus N61JQ\n\nSigned-off-by: Corentin Chary \u003ccorentincj@iksaif.net\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "71e687dc499819caa0d6ee0f80dcda1d5c24b5b2",
      "tree": "33b70e066417a74e90b093816ae7796b5e0a3eb7",
      "parents": [
        "384a7cd9ace5b37a17ffea436f09170cdf671c88"
      ],
      "author": {
        "name": "Corentin Chary",
        "email": "corentincj@iksaif.net",
        "time": "Tue Aug 24 09:30:44 2010 +0200"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:43 2010 -0400"
      },
      "message": "platform-x86: sync eeepc-laptop and asus-laptop\n\nMakes asus-laptop and eeepc-laptop _init/_exit functions\nlooks exactly the same as they do the same thing.\n\nSigned-off-by: Corentin Chary \u003ccorentincj@iksaif.net\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "384a7cd9ace5b37a17ffea436f09170cdf671c88",
      "tree": "eb76ae01c26465ae4c3d96f57de2abfb73810929",
      "parents": [
        "4d291ed7217d617dacbf54b4bd35819b0d08b981"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Aug 04 22:30:19 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:43 2010 -0400"
      },
      "message": "toshiba-acpi - switch to using sparse keymap\n\nInstead of implementing its own version of keymap hanlding switch over\nto using sparse keymap library.\n\nAlso, install notify handler only after we allocated input device,\notherwise we may risk getting event too early and crash. Similarly,\nnotify handler should be removed before we unregister input device.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "4d291ed7217d617dacbf54b4bd35819b0d08b981",
      "tree": "8bb47a2fb8eb1117f3f59f137ecc2a477b5bf940",
      "parents": [
        "890a7c8e8dc2d0890e795bda9ad3484ebac42c0b"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Aug 04 22:30:13 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:43 2010 -0400"
      },
      "message": "Input: hp-wmi - switch to using sparse keymap library\n\nInstead of implementing its own version of keymap hanlding switch over\nto using sparse keymap library.\n\nAlso make sure that we install notify handler only after we allocated\ninput device and that we remove notify handler before unregistering\ninput device.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "890a7c8e8dc2d0890e795bda9ad3484ebac42c0b",
      "tree": "57617b45a45b9c6e8e82db53a6338c1afa4923e7",
      "parents": [
        "1a765cac9a241380511a3b1dd4edf74a41cbfdf9"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Aug 04 22:30:08 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:43 2010 -0400"
      },
      "message": "Input: dell-wmi - switch to using sparse keymap library\n\nInstead of implementing its own version of keymap hanlding switch over to\nusing sparse keymap library.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "1a765cac9a241380511a3b1dd4edf74a41cbfdf9",
      "tree": "8750624e54e162082abb379170bf54197d99d2b7",
      "parents": [
        "97490f1cf82cccf2e088aafffb0517802f0ee336"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Aug 04 22:30:02 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:42 2010 -0400"
      },
      "message": "panasonic-laptop - switch to using sparse keymap library\n\nnstead of implementing its own version of keymap hanlding switch over to\nusing sparse keymap library.\n\nCc: Harald Welte \u003claforge@gnumonks.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "97490f1cf82cccf2e088aafffb0517802f0ee336",
      "tree": "80fb1b72c8a4dbc261328e2382987e0ec7cf657d",
      "parents": [
        "f6f94e2ab1b33f0082ac22d71f66385a60d8157f"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Aug 04 22:29:57 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Oct 21 09:36:42 2010 -0400"
      },
      "message": "topstar-laptop - switch to using sparse keymap library\n\nInstead of implementing its own version of keymap hanlding switch over to\nusing sparse keymap library.\n\nAcked-by: Herton Ronaldo Krzesinski \u003cherton@mandriva.com.br\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "d24a9da573444ab4aff38af2f4a0da07408ff491",
      "tree": "f217ec69296dd5c73d26d10f5cc1ab1e453e3d0e",
      "parents": [
        "96f3823f537088c13735cfdfbf284436c802352a"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Oct 05 14:54:06 2010 -0400"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Oct 05 14:59:35 2010 -0400"
      },
      "message": "IPS driver: Fix limit clamping when reducing CPU power\n\nValues here are in internal units rather than Watts, so we shouldn\u0027t\nperform any conversion.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "96f3823f537088c13735cfdfbf284436c802352a",
      "tree": "c9e205e864bc717676a5aa424f2cdb2a2e6f9c86",
      "parents": [
        "4fd07ac00d87b942cc8d8f30a27192fea2fc4ab2"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Oct 05 14:50:59 2010 -0400"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Oct 05 14:59:28 2010 -0400"
      },
      "message": "[PATCH 2/2] IPS driver: disable CPU turbo\n\nThe undocumented interface we\u0027re using for reading CPU power seems to be\noverreporting power.  Until we figure out how to correct it, disable CPU\nturbo and power reporting to be safe.  This will keep the CPU within default\nlimits and still allow us to increase GPU frequency as needed.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "4fd07ac00d87b942cc8d8f30a27192fea2fc4ab2",
      "tree": "64b9b818b8a1ae4f01a3adee62e3f2474025b058",
      "parents": [
        "070c0ee1ef9f5550cac9247190f0289349f28c01"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Oct 05 11:26:22 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Oct 05 14:59:25 2010 -0400"
      },
      "message": "IPS driver: apply BIOS provided CPU limit if different from default\n\nThe BIOS may hand us a lower CPU power limit than the default for a\ngiven SKU.  We should use it in case the platform isn\u0027t designed to\ndissapate the full TDP of a given part.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "070c0ee1ef9f5550cac9247190f0289349f28c01",
      "tree": "b78952dc9942382fb59a548304ce14b465bff53a",
      "parents": [
        "a8c096adbd2b55942ff13c8bbc573a7551768003"
      ],
      "author": {
        "name": "Andy Whitcroft",
        "email": "apw@canonical.com",
        "time": "Tue Oct 05 09:48:42 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Oct 05 14:59:21 2010 -0400"
      },
      "message": "intel_ips -- ensure we do not enable gpu turbo mode without driver linkage\n\nBoth when polling the current turbo status (in poll_turbo_status mode)\nand when handling thermal events (in ips_irq_handler) the current status\nof GPU turbo is updated to match the hardware status.  However if during\ndriver initialisation we were unable aquire linkage to the i915 driver\nenabling GPU turbo will lead to an oops on the first attempt to determine\nGPU busy status.\n\nEnsure that we do not enable GPU turbo unless we have driver linkage.\n\nBugLink: http://bugs.launchpad.net/bugs/632430\nCc: stable@kernel.org\nSigned-off-by: Andy Whitcroft \u003capw@canonical.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "a8c096adbd2b55942ff13c8bbc573a7551768003",
      "tree": "086a38b7d983a5428ed8666e822f7b6dd6da7b52",
      "parents": [
        "eceab272fb895148f6293b5c0644fc2dd36d3aff"
      ],
      "author": {
        "name": "Tim Gardner",
        "email": "tim.gardner@canonical.com",
        "time": "Tue Sep 28 14:58:15 2010 -0600"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Oct 05 14:59:17 2010 -0400"
      },
      "message": "intel_ips: Print MCP limit exceeded values.\n\nPrint some interesting values when MCP limits\nare exceeded.\n\nSigned-off-by: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "eceab272fb895148f6293b5c0644fc2dd36d3aff",
      "tree": "45150765669f0230cac28904c126d4c891ddd190",
      "parents": [
        "354aeeb1ca8f82ea133ede21987034addc75057a"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Sep 23 23:49:29 2010 +0200"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Oct 05 14:59:14 2010 -0400"
      },
      "message": "IPS driver: verify BIOS provided limits\n\nThey\u0027re optional.  If not present or sane, we should use the CPU\ndefaults.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "354aeeb1ca8f82ea133ede21987034addc75057a",
      "tree": "dd398a9bc263ecd2cfe10dfecaa18aec87abab4c",
      "parents": [
        "a7abda8d721359363d679c5f2de964f29419568c"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Sep 23 23:49:28 2010 +0200"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Oct 05 14:59:09 2010 -0400"
      },
      "message": "IPS driver: don\u0027t toggle CPU turbo on unsupported CPUs\n\nIf the CPU doesn\u0027t support turbo, don\u0027t try to enable/disable it.\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d18742\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "a7abda8d721359363d679c5f2de964f29419568c",
      "tree": "8f0fe2df8a421a8b1f558a9952fffc2f9d411472",
      "parents": [
        "fed522f7ea780d195d5d3e55df95fee520136e17"
      ],
      "author": {
        "name": "minskey guo",
        "email": "chaohong.guo@linux.intel.com",
        "time": "Fri Sep 17 14:03:27 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Oct 05 14:59:06 2010 -0400"
      },
      "message": "NULL pointer might be used in ips_monitor()\n\n The patch is to create ips_adjust thread before ips_monitor begins\n to run  because the latter will kthread_stop() or wake up the former\n via ips-\u003eadjust pointer. Without this change, it is possible that\n ips-\u003eadjust is NULL when kthread_stop() or wake_up_process() is\n called in ips_monitor().\n\nSigned-off-by: minskey guo \u003cchaohong.guo@intel.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "fed522f7ea780d195d5d3e55df95fee520136e17",
      "tree": "a694e5894fdf552dd9850067ddcba9bfa3838592",
      "parents": [
        "c21eae4f7c38db0e4693fb4cb24fb42fb83d8c15"
      ],
      "author": {
        "name": "minskey guo",
        "email": "chaohong.guo@linux.intel.com",
        "time": "Fri Sep 17 14:03:15 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Oct 05 14:59:01 2010 -0400"
      },
      "message": "Release symbol on error-handling path of ips_get_i915_syms()\n\nIn ips_get_i915_syms(), the symbol i915_gpu_busy() is not released\nwhen error occurs.\n\nSigned-off-by: minskey guo \u003cchaohong.guo@intel.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "c21eae4f7c38db0e4693fb4cb24fb42fb83d8c15",
      "tree": "f81720a023cf14eb6cbe6ec189fd627107f117e2",
      "parents": [
        "6230d18cc7c4c68b7a38ea73bf5910e7652e5b21"
      ],
      "author": {
        "name": "minskey guo",
        "email": "chaohong.guo@linux.intel.com",
        "time": "Fri Sep 17 14:03:01 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Oct 05 14:58:57 2010 -0400"
      },
      "message": "old_cpu_power is wrongly divided by 65535 in ips_monitor()\n\nThe variable old_cpu_power is used to save the value of THM_CEC\nregister. In get_cpu_power(), it will be divided by 65535.\n\nSigned-off-by: minskey guo \u003cchaohong.guo@intel.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "6230d18cc7c4c68b7a38ea73bf5910e7652e5b21",
      "tree": "80d8a9a68bd3818ed9231d38abb0d845c5c1d552",
      "parents": [
        "3c06806e690885ce978ef180c8f8b6f8c17fb4b4"
      ],
      "author": {
        "name": "minskey guo",
        "email": "chaohong.guo@linux.intel.com",
        "time": "Fri Sep 17 14:02:37 2010 +0800"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Oct 05 14:58:54 2010 -0400"
      },
      "message": "seqno mask of THM_ITV register is 16bit\n\nThe mask of sequence number in THM_ITV register is 16bit width instead\nof 8bit.\n\nSigned-off-by: minskey guo \u003cchaohong.guo@intel.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "fc6e756894b703952fd277a1f98a5d93e7ba847a",
      "tree": "bf4853c75ebf45d863ce53b619ea265aa303e5b7",
      "parents": [
        "58e226c6d44b250641e229b306030da5c84e4341"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Fri Sep 17 21:53:41 2010 -0300"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Thu Sep 23 15:42:04 2010 -0400"
      },
      "message": "thinkpad-acpi: avoid keymap pitfall\n\nChange the code so that it will use the correct size for keymap entries.\nDo it in a way that makes it harder to screw it up in the future.\n\nReported-by: Jaime Velasco Juan \u003cjsagarribay@gmail.com\u003e\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "32e2f63bcc8903487975506d8db5931a8c4bbb1f",
      "tree": "9a0ea01c64faaf86dcfafac27f44a691f3f77702",
      "parents": [
        "a9728c9a31524ef927260096411ee85c8ee6b163"
      ],
      "author": {
        "name": "Jianwei Yang",
        "email": "jianwei.yang@intel.com",
        "time": "Tue Aug 24 14:32:38 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 24 10:42:09 2010 -0700"
      },
      "message": "intel_scu_ipc: fix IPC i2c write bug\n\nWe should pass the data to the data register.\n\nSigned-off-by: Jianwei Yang \u003cjianwei.yang@intel.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a9728c9a31524ef927260096411ee85c8ee6b163",
      "tree": "429229aadf335c62a44b159fc5e721218ec4393f",
      "parents": [
        "577ba406e1cceac4776b095c83ee2896074a0327"
      ],
      "author": {
        "name": "Ossama Othman",
        "email": "ossama.othman@intel.com",
        "time": "Tue Aug 24 12:55:14 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 24 10:42:08 2010 -0700"
      },
      "message": "rar: Fix off by one error\n\nIt looks like there is an off-by-one error in one of your changes to\ndrivers/staging/rar_register/rar_register.c:\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a8ec105c0764c848d59f18a31f91fa00c99b2e7f",
      "tree": "eb4c68789aae5d4ffaeb6acaff40af5b0823c944",
      "parents": [
        "c76a3e1d6c52c5cc1371f1abc7381c5715ebdf7f"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Aug 23 15:52:34 2010 -0400"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Aug 23 16:27:08 2010 -0400"
      },
      "message": "hp-wmi: Fix query interface\n\nThe machines I have appear to provide their return value in the arguments\nstructure, not the output structure. Rework the driver to use that again\nin order to get rfkill working again.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "c76a3e1d6c52c5cc1371f1abc7381c5715ebdf7f",
      "tree": "6291024ea5dacbf33c876666ac9c7e0c39dfad45",
      "parents": [
        "9ee47476d6734c9deb9ae9ab05d963302f6b6150"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Aug 23 11:32:36 2010 -0600"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Aug 23 15:56:43 2010 -0400"
      },
      "message": "ACPI_TOSHIBA needs LEDS support\n\nDon\u0027t ask how ACPI_TOSHIBA got enabled on in desktop system\u0027s .config -\nI don\u0027t know.  But it has silently been there until I tried 2.6.36-rc2,\nwhere it broke the build because I don\u0027t have LED support turned on.\nAttached patch fixes things up.\n\n(I had to change BACKLIGHT_CLASS_DEVICE to \"depends\" because otherwise\nI get unsightly core dumps out of scripts/kconfig/conf).\n\njon\n\n--\ntoshiba: make sure we pull in LED support\n\nThe Toshiba extras driver uses the LED module, so make sure we have it\nconfigure in.\n\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "c3f755e3842108c1cffe570fe9802239810352b6",
      "tree": "0b13907142b799693f425138bacb6831fd213995",
      "parents": [
        "2b75426282a8eb29d0a004ef0d289b0491c719be"
      ],
      "author": {
        "name": "Victor van den Elzen",
        "email": "victor.vde@gmail.com",
        "time": "Sun Aug 15 01:19:33 2010 +0200"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Aug 16 11:55:00 2010 -0400"
      },
      "message": "platform/x86: move rfkill for Dell Mini 1012 to compal-laptop\n\nLike others in the Mini series, the Dell Mini 1012 does not support\nthe smbios hook required by dell-laptop.\n\nSigned-off-by: Victor van den Elzen \u003cvictor.vde@gmail.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "2b75426282a8eb29d0a004ef0d289b0491c719be",
      "tree": "ef8fd498c06c84279056711c41fa00ae3fe394b9",
      "parents": [
        "d1e14dca6a18aa40394316c872993ae3bc7e311a"
      ],
      "author": {
        "name": "Jens Taprogge",
        "email": "jens.taprogge@taprogge.org",
        "time": "Mon Aug 09 23:48:22 2010 -0300"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Aug 16 11:54:57 2010 -0400"
      },
      "message": "thinkpad-acpi: Add KEY_CAMERA (Fn-F6) for Lenovo keyboards\n\nOn the T410s and most likely other current models, Fn-F6 is labeled as\nCamera/Headphone key.  Report key presses as KEY_CAMERA.\n\nSigned-off-by: Jens Taprogge \u003cjens.taprogge@taprogge.org\u003e\nAcked-by: Jerone Young \u003cjerone.young@canonical.com\u003e\nAcked-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "d1e14dca6a18aa40394316c872993ae3bc7e311a",
      "tree": "242299c9e69785b3b2b388da7988934f478bda67",
      "parents": [
        "34a656d22f5539f613b93e7a1d14b4bd53592505"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Aug 09 23:48:21 2010 -0300"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Aug 16 11:54:55 2010 -0400"
      },
      "message": "thinkpad-acpi: add support for model-specific keymaps\n\nUse the quirks engine to select model-specific keymaps, which makes\nit much easier to extend should we need it.\n\nKeycodes are based on the tables at\nhttp://www.thinkwiki.org/wiki/Default_meanings_of_special_keys.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "34a656d22f5539f613b93e7a1d14b4bd53592505",
      "tree": "7b664b042426531f9f52e4f6f4442a94d35208c6",
      "parents": [
        "217f09631a420295a9688e18aa4dbad1b385e56c"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Aug 09 23:48:20 2010 -0300"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Aug 16 11:54:52 2010 -0400"
      },
      "message": "thinkpad-acpi: lock down size of hotkey keymap\n\nUse a safer coding style for the hotkey keymap.  This does not fix any\nproblems, as the current code is correct.  But it might help avoid\nmistakes in the future.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "217f09631a420295a9688e18aa4dbad1b385e56c",
      "tree": "4b3f7890f28abad25c1bf3ff2b4b60499c06765d",
      "parents": [
        "122f26726b5e16174bf8a707df14be1d93c49d62"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Aug 09 23:48:19 2010 -0300"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Aug 16 11:54:50 2010 -0400"
      },
      "message": "thinkpad-acpi: untangle ACPI/vendor backlight selection\n\nacpi_video_backlight_support() already tells us if ACPI is handling\nbacklight control through the generic ACPI handle.  It is better to just\ntrust it.\n\nWhile at it, adjust down a printk priority, and test earlier for\nbrightness_enable\u003d0.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "122f26726b5e16174bf8a707df14be1d93c49d62",
      "tree": "7e71e1fa0c2dda912796f1cb9fd1f1f71bb872e4",
      "parents": [
        "52d7ee558d3babb4918eed6769f593adc1b6616e"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Aug 09 23:48:18 2010 -0300"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Aug 16 11:54:47 2010 -0400"
      },
      "message": "thinkpad-acpi: find ACPI video device by synthetic HID\n\nThe Linux ACPI core locates the ACPI video devices for us and marks them\nwith ACPI_VIDEO_HID.  Use that information to locate the video device\ninstead of a half-baked hunt for _BCL.\n\nThis uncouples the detection of the number of backlight brightness\nlevels on ThinkPads from the ACPI paths in vid_handle.\n\nWith this change, the driver should be able to always detect whether the\nThinkPad uses a 8-level or 16-level brightness scale even on newer\nmodels for which the vid_handle paths have not been updated yet.\n\nIt will skip deactivated devices in the ACPI device tree, which is a\nchange in behaviour.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "52d7ee558d3babb4918eed6769f593adc1b6616e",
      "tree": "89b54e76934e3d9c44fb8eb8e8647dc9a93350fd",
      "parents": [
        "2e0ee69c214a0197e1b081ffec9c409ab2a5f094"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sun Aug 08 00:01:12 2010 +0200"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Aug 16 11:54:29 2010 -0400"
      },
      "message": "intel_ips: potential null dereference\n\nThere is a potential NULL dereference of \"limits.\"  We can just return\nNULL earlier to avoid it.  The caller already handles NULL returns.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nReviewed-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "2e0ee69c214a0197e1b081ffec9c409ab2a5f094",
      "tree": "38dbfed5f655aa1ea3bd5aa23abb760f998cd7ae",
      "parents": [
        "5629236b31239dbaa182cb7eb39aad4d62278f7c"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Thu Aug 05 22:24:12 2010 +0200"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Aug 16 11:54:20 2010 -0400"
      },
      "message": "drivers/platform/x86: Adjust confusing if indentation\n\nThe assignment of ret to -EIO appears to only make sense if the branch that\nit is aligned with is executed, so move it into that branch.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r disable braces4@\nposition p1,p2;\nstatement S1,S2;\n@@\n\n(\nif (...) { ... }\n|\nif (...) S1@p1 S2@p2\n)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\n@@\n\nif (p1[0].column \u003d\u003d p2[0].column):\n  cocci.print_main(\"branch\",p1)\n  cocci.print_secs(\"after\",p2)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "5629236b31239dbaa182cb7eb39aad4d62278f7c",
      "tree": "7d89214f205ce5a98bca13a018f42eb308e4e345",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Tue Aug 03 19:44:16 2010 +0400"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Mon Aug 16 11:53:44 2010 -0400"
      },
      "message": "x86: intel_ips: do not use PCI resources before pci_enable_device()\n\nIRQ and resource[] may not have correct values until\nafter PCI hotplug setup occurs at pci_enable_device() time.\n\nThe semantic match that finds this problem is as follows:\n\n// \u003csmpl\u003e\n@@\nidentifier x;\nidentifier request ~\u003d \"pci_request.*|pci_resource.*\";\n@@\n\n(\n* x-\u003eirq\n|\n* x-\u003eresource\n|\n* request(x, ...)\n)\n ...\n*pci_enable_device(x)\n// \u003c/smpl\u003e\n\nSigned-off-by: Kulikov Vasiliy \u003csegooon@gmail.com\u003e\nReviewed-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "2016e4a0a1c49b68c9d820e28dadab7080c45d1b",
      "tree": "6d69dc0ad0ec90c30f301f76f49a06330a7449fe",
      "parents": [
        "ce326329d72238196d61312d1cf1556ebaf94da7"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Aug 11 17:59:51 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Aug 11 18:00:52 2010 +0100"
      },
      "message": "ideapad: Only allow camera state to be set to 0 or 1\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "ce326329d72238196d61312d1cf1556ebaf94da7",
      "tree": "bc8b7883ea8dbd490d7cb373425dc976a456144e",
      "parents": [
        "58ac7aa0c308d8b7e38e92840de59da7a39834d8"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Aug 11 17:59:35 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Aug 11 18:00:43 2010 +0100"
      },
      "message": "ideapad: Stop using global variables\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "58ac7aa0c308d8b7e38e92840de59da7a39834d8",
      "tree": "21db24925bb7ea42531a2394f6adfda171d833a9",
      "parents": [
        "f6cec0ae58c17522a7bc4e2f39dae19f199ab534"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Aug 10 23:44:05 2010 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Aug 11 00:01:21 2010 +0100"
      },
      "message": "Add Lenovo ideapad driver\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "1a14703d6b20010401ca273ac1f07bff7992aa2c",
      "tree": "3c4243192bbe94270fd36a58c07de9a00c04d40f",
      "parents": [
        "5aa06930fbcfcb6b03fcb18b753122b10ac47a87"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jul 28 14:42:56 2010 -0700"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Aug 03 11:55:15 2010 -0400"
      },
      "message": "ips driver: make it less chatty\n\nWe don\u0027t need a dev_warn when we exceed a thermal or power limit as\nwe\u0027ll handle it appropriately by clamping down on the CPU, GPU or both\nas needed.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "5aa06930fbcfcb6b03fcb18b753122b10ac47a87",
      "tree": "862cd3c32c75deda79e028bec6b3dc1de83b4d98",
      "parents": [
        "77e01d6d177f060f466417fa32fc3e1381a73502"
      ],
      "author": {
        "name": "Hong Liu",
        "email": "hong.liu@intel.com",
        "time": "Mon Jul 26 10:06:31 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Aug 03 09:50:33 2010 -0400"
      },
      "message": "intel_scu_ipc: fix size field for intel_scu_ipc_command\n\nSize for PMIC read/write command is byte, while it is DWORD for other\nIPC commands.\n\nSigned-off-by: Hong Liu \u003chong.liu@intel.com\u003e\nSigned-off-by: ALan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "77e01d6d177f060f466417fa32fc3e1381a73502",
      "tree": "bda4acd937c9230d7f3f0fb02077b857ac39b7da",
      "parents": [
        "215c330fe92be8d9f74bc292ea085dbe2ace6bf5"
      ],
      "author": {
        "name": "Hong Liu",
        "email": "hong.liu@intel.com",
        "time": "Mon Jul 26 10:06:12 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Aug 03 09:50:33 2010 -0400"
      },
      "message": "intel_scu_ipc: return -EIO for error condition in busy_loop\n\nSigned-off-by: Hong Liu \u003chong.liu@intel.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "215c330fe92be8d9f74bc292ea085dbe2ace6bf5",
      "tree": "9ec3b38ee34160b2167e02e37ff0431ba3f118d1",
      "parents": [
        "6c8d0fdbe88e8bb1a07fa9a2830767cc180f7d1b"
      ],
      "author": {
        "name": "Hong Liu",
        "email": "hong.liu@intel.com",
        "time": "Mon Jul 26 10:05:52 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Aug 03 09:50:32 2010 -0400"
      },
      "message": "intel_scu_ipc: fix data packing of PMIC command on Moorestown\n\nData is 2-byte per entry for PMIC read-modify-update command.\n\nSigned-off-by: Hong Liu \u003chong.liu@intel.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "6c8d0fdbe88e8bb1a07fa9a2830767cc180f7d1b",
      "tree": "498f41d73ee97d633c6f7cea6a3db726eb88bc51",
      "parents": [
        "ed6f2b4da32913875355f5c9cbbb38e4168b7801"
      ],
      "author": {
        "name": "Andy Ross",
        "email": "andy.ross@windriver.com",
        "time": "Mon Jul 26 10:05:03 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Aug 03 09:50:32 2010 -0400"
      },
      "message": "Clean up command packing on MRST.\n\nDon\u0027t pass more bytes in the command length field than we filled.\n\nSigned-off-by: Andy Ross \u003candy.ross@windriver.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "ed6f2b4da32913875355f5c9cbbb38e4168b7801",
      "tree": "eb195b81e86a047653f60e8ae17616a1252b143f",
      "parents": [
        "51cd525dce018f298568d8e2e769b1a698ef91cd"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jul 26 10:04:37 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Aug 03 09:50:31 2010 -0400"
      },
      "message": "zero the stack buffer before giving random garbage to the SCU\n\nsome messages take 4 bytes, but only fill 3 bytes....\nthis patch makes sure that whatever we send to the SCU is zeroed first\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "51cd525dce018f298568d8e2e769b1a698ef91cd",
      "tree": "ac07e343da1fb1f5c9ae4de15b5d6b751088300d",
      "parents": [
        "9dd3adeb00b14d4b3d106360e2e33272deab35f3"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Jul 26 10:04:24 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Aug 03 09:50:31 2010 -0400"
      },
      "message": "Fix stack buffer size for IPC writev messages\n\nThe stack buffer for IPC messages was 16 bytes, limiting messages to a\nsize of 4 (each message is 32 bit).\nHowever, the touch screen driver is trying to send messages of size 5....\n\n(AC: Set to 20 bytes having checked the max size allowed)\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "9dd3adeb00b14d4b3d106360e2e33272deab35f3",
      "tree": "4d6f85882d65107c6aa1076d07286eb2bb620774",
      "parents": [
        "a5b74e69e1238eb46a6fcf2b9dc9d0e4efbb4e46"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Jul 26 10:03:58 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Aug 03 09:50:30 2010 -0400"
      },
      "message": "intel_scu_ipc: Use the new cpu identification function\n\nThis provides an architecture level board identify function to replace the\ncpuid direct usage\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "a5b74e69e1238eb46a6fcf2b9dc9d0e4efbb4e46",
      "tree": "7e435b83e1b18d67292ca2c40ab0418e02f15c2f",
      "parents": [
        "804f8681a99da2aa49bd7f0dab3750848d1ab1bc"
      ],
      "author": {
        "name": "Sreedhara DS",
        "email": "sreedhara.ds@intel.com",
        "time": "Mon Jul 26 10:03:30 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Aug 03 09:50:30 2010 -0400"
      },
      "message": "intel_scu_ipc: tidy up unused bits\n\nDelete unused constants IPC_CMD_INDIRECT_RD and IPC_CMD_INDIRECT_WR\nRemove multiple inclusion of header file \"asm/mrst.h\"\n\nSigned-off-by: Sreedhara DS \u003csreedhara.ds@intel.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    },
    {
      "commit": "804f8681a99da2aa49bd7f0dab3750848d1ab1bc",
      "tree": "76bfafe233b4fd93682bbd0a467cce9afc2c7e8f",
      "parents": [
        "e3359fd5d2d97f4d3bca5778e35427b07a2b1060"
      ],
      "author": {
        "name": "Sreedhara DS",
        "email": "sreedhara.ds@intel.com",
        "time": "Mon Jul 26 10:03:10 2010 +0100"
      },
      "committer": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Aug 03 09:50:30 2010 -0400"
      },
      "message": "Remove indirect read write api support.\n\nThe firmware of production devices does not support this interface so this\nis dead code.\n\nSigned-off-by: Sreedhara DS \u003csreedhara.ds@intel.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\n"
    }
  ],
  "next": "e3359fd5d2d97f4d3bca5778e35427b07a2b1060"
}
