)]}'
{
  "log": [
    {
      "commit": "fa9879edebdaad4cfcd2dbe3eaa2ba0dc4f0a262",
      "tree": "47032fd4e879f7390999b180f0557261647742f8",
      "parents": [
        "866fd9366a5b2c7d17eb10f7e7b1c17393ed0beb"
      ],
      "author": {
        "name": "Vinod Koul",
        "email": "vinod.koul@intel.com",
        "time": "Wed Feb 09 14:44:17 2011 +0530"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Feb 09 23:02:43 2011 +0000"
      },
      "message": "ASoC: add support for multiple jack types\n\nThis patch adds soc-jack support for adding voltage zones and for\ndetecting jack type\n\nSigned-off-by: Vinod Koul \u003cvinod.koul@intel.com\u003e\nSigned-off-by: Harsha Priya \u003cpriya.harsha@intel.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "a98a0bc6c92eacd181417a9c0ccd2e8028066622",
      "tree": "188923b6709275cce94a4a2c70f1081e94e2f8a9",
      "parents": [
        "338ee25393a5627e8ded5819147f98b919656ce9"
      ],
      "author": {
        "name": "Alexander Sverdlin",
        "email": "subaparts@yandex.ru",
        "time": "Thu Feb 03 03:11:45 2011 +0300"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Feb 08 11:26:14 2011 +0000"
      },
      "message": "ASoC: CS4271: Move Chip Select control out of the CODEC code.\n\nMove Chip Select control out of the CODEC code for CS4271.\n\nSigned-off-by: Alexander Sverdlin \u003csubaparts@yandex.ru\u003e\nReviewed-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "dddf3e4c257879bc35cda3f542507c43f2648a2a",
      "tree": "e832f150045ca50d879d979830ebe1a0844ac5dc",
      "parents": [
        "70d29331ac551c11e6e3934f43a548ae8154351e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jan 28 13:11:47 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jan 28 13:20:47 2011 +0000"
      },
      "message": "ASoC: Add card driver data\n\nProvide driver data for cards within the card structure. To simplify the\nimplementation of the PM operations we don\u0027t use the struct device driver\ndata as this is used by the core to retrieve the card in callbacks from\nthe device model and PM core.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "f85a9e0d260905f98d4ca6b66f0e64f63a729dba",
      "tree": "4d94f21c2bd5a01f8299afb44c797e3df1d49205",
      "parents": [
        "aaee8ef146111566e1c607bdf368d73fb966be2e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 26 21:41:28 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 27 11:59:14 2011 +0000"
      },
      "message": "ASoC: Add subsequence information to seq_notify callbacks\n\nAllows drivers to distinguish which subsequence is being notified when\nthey get called back.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "aaee8ef146111566e1c607bdf368d73fb966be2e",
      "tree": "a39aafeb67efa57acf7673bd53e4a92269682a06",
      "parents": [
        "6f8ab4ac292f81b9246ddf363bf1c6a2fc7a0629"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 26 20:53:50 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 27 11:57:01 2011 +0000"
      },
      "message": "ASoC: Make cache status available via debugfs\n\nCould just as well live in sysfs but sysfs doesn\u0027t have the simple\nvalue export helpers debugfs does.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "6f8ab4ac292f81b9246ddf363bf1c6a2fc7a0629",
      "tree": "1ca2bcaefd986fb19b72a1ac741c9371aec2f28a",
      "parents": [
        "e7361ec4996c170c63c4ac379085896db85ff34d"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 26 14:59:27 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 27 11:56:34 2011 +0000"
      },
      "message": "ASoC: Export card PM callbacks for use in direct registered cards\n\nAllow hookup of cards registered directly with the core to the PM\noperations by exporting the device power management operations to\nmodules, also exporting the default PM operations since it is\nexpected that most cards will end up using exactly the same setup.\n\nNote that the callbacks require that the driver data for the card be\nthe snd_soc_card.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "e7361ec4996c170c63c4ac379085896db85ff34d",
      "tree": "800a098271e33a38031d7d761f35328b853e1693",
      "parents": [
        "70b2ac126a60c87145ae8a8eb1b4dccaa0bf5468"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 26 14:17:20 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 27 11:56:13 2011 +0000"
      },
      "message": "ASoC: Replace pdev with card in machine driver probe and remove\n\nIn order to support cards instantiated without using soc-audio remove\nthe use of the platform device in the card probe() and remove() ops.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "70b2ac126a60c87145ae8a8eb1b4dccaa0bf5468",
      "tree": "314a435bc3753194b6abcf63ce7721810729f841",
      "parents": [
        "16af7d60aa27d3fc39e46fd456b8e33d34d60437"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 26 14:05:25 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 27 11:55:53 2011 +0000"
      },
      "message": "ASoC: Use card rather than soc-audio device to card PM functions\n\nThe platform device for the card is tied closely to the soc-audio\nimplementation which we\u0027re currently trying to remove in favour of\nallowing cards to have their own devices. Begin removing it by\nreplacing it with the card in the suspend and resume callbacks we\ngive to cards, also taking the opportunity to remove the legacy\nsuspend types which are currently hard coded anyway.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "f17c13ca52d5c5a6a164536244a6debb8cd17983",
      "tree": "a3a9a1fd3a0ed7cf1bb49f6c8c8591826fa58940",
      "parents": [
        "d7c5762bc72ea4184c413166c063899dffae7385"
      ],
      "author": {
        "name": "Kuninori Morimoto",
        "email": "kuninori.morimoto.gx@renesas.com",
        "time": "Mon Jan 24 10:43:19 2011 +0900"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 26 11:25:47 2011 +0000"
      },
      "message": "ASoC: sh: fsi: modify selection method of I2S/PCM/SPDIF format\n\nCurrent format selection of FSI-codecs depended on platform information for FSI,\nand chip default settings for codecs. It is not understandable/formal method.\nThis patch modify FSI and FSI-codecs to use snd_soc_dai_set_fmt.\n\nBut FSI can use I2S/PCM and SPDIF format today.\nIt can be selected to I2S/PCM by snd_soc_dai_set_fmt, but can not select SPDIF.\nSo, this patch change FSI platform information to have DAI/SPDIF mode.\n\nIf platform selects DAI mode (default),\nFSI-codecs can select I2S/PCM by snd_soc_dai_set_fmt,\nand if it is SPDIF mode, FSI become SPDIF format.\n\nSigned-off-by: Kuninori Morimoto \u003ckuninori.morimoto.gx@renesas.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "3d23c73fa0a47e8aecd2a4d8f280f45f6f7611a1",
      "tree": "db430cf4190c1f76f9af884533c4d72c55c04794",
      "parents": [
        "181e055e6bed80afbf8ba2bb5e3ce84fbd3f633c"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jan 24 21:51:25 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jan 25 15:13:35 2011 +0000"
      },
      "message": "ASoC: Remove controls from sequenced PGA arguments\n\nWe have zero users for PGA controls and the core support for them was\nremoved a while ago so no point in cut\u0027n\u0027pasting them into new macros,\neven if it\u0027s too much hassle to update the existing ones.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "181e055e6bed80afbf8ba2bb5e3ce84fbd3f633c",
      "tree": "44aa6d4b6df78a39fd937f6ae25b8e7a269293a7",
      "parents": [
        "86c3304181a25f127e46c864dc735e21f24484fc"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jan 24 14:05:25 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jan 25 14:14:31 2011 +0000"
      },
      "message": "ASoC: Fix type for snd_soc_volatile_register()\n\nWe generally refer to registers as unsigned ints (including in the\nunderlying CODEC driver operation).\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "4d805f7b6607f6e547dc22e5d57c201e43d21c05",
      "tree": "41ce090f7f9f3f4cc76e74101a108218da447f62",
      "parents": [
        "0d032c19e764ad2f60292f58116f6c2a052a58ab"
      ],
      "author": {
        "name": "Kuninori Morimoto",
        "email": "kuninori.morimoto.gx@renesas.com",
        "time": "Thu Jan 20 11:46:02 2011 +0900"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jan 21 19:01:47 2011 +0000"
      },
      "message": "ASoC: sh: fsi: Add snd_soc_dai_set_fmt support\n\nThis patch add snd_soc_dai_ops :: set_fmt to FSI driver and\nselect master/slave clock mode by snd_soc_dai_set_fmt on\nfsi-xxx.c instead of platform infomation code.\nThis patch remove fsi_is_master function which is no longer needed.\n\nSigned-off-by: Kuninori Morimoto \u003ckuninori.morimoto.gx@renesas.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "c358e640a669b528b32af5442c92b856de623e1c",
      "tree": "c40ceac6b635e6fdb00ee8eb4c5ab96044ca7503",
      "parents": [
        "67b22517d8e48a97e1d2ab10d095c538bbb2374c"
      ],
      "author": {
        "name": "Dimitris Papastamos",
        "email": "dp@opensource.wolfsonmicro.com",
        "time": "Fri Jan 21 15:29:02 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jan 21 18:30:51 2011 +0000"
      },
      "message": "ASoC: soc-cache: Add trace event for snd_soc_cache_sync()\n\nThis patch makes it easy to see when the syncing process begins and\nends.  You can also enable the snd_soc_reg_write tracepoint to see\nwhich registers are being synced.\n\nSigned-off-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "67b22517d8e48a97e1d2ab10d095c538bbb2374c",
      "tree": "ecd3514467e4a9680f9b21c27fb3e607cb83687f",
      "parents": [
        "7cfe56172ac14d2031f1896ecb629033f71caafa"
      ],
      "author": {
        "name": "Alexander Sverdlin",
        "email": "subaparts@yandex.ru",
        "time": "Wed Jan 19 21:22:06 2011 +0300"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jan 21 18:30:50 2011 +0000"
      },
      "message": "ASoC: CS4271 codec support\n\nAdded support for CS4271 codec to ASoC.\n\nSigned-off-by: Alexander Sverdlin \u003csubaparts@yandex.ru\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "7cfe56172ac14d2031f1896ecb629033f71caafa",
      "tree": "369220b82073bce8c6ba5db38e33ddcefa5cfaac",
      "parents": [
        "9978007befa5efdc16dc940631c594f420f96b09"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Thu Jan 20 13:52:08 2011 -0700"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jan 21 18:15:13 2011 +0000"
      },
      "message": "ASoC: wm8903: Expose GPIOs through gpiolib\n\nAlso, update platform_data GPIO handling to have an explicit \"don\u0027t\ntouch this pin\" option.\n\nAdd #defines for the GPIO pin functions.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "dad8e7aeeb83a26d267e757e4c1cf69591850477",
      "tree": "03ba025a19d20e4272db00761cf8723e19ecae38",
      "parents": [
        "e66ef2f81f1d36b5413e3fc7ff548de683f0750b"
      ],
      "author": {
        "name": "Dimitris Papastamos",
        "email": "dp@opensource.wolfsonmicro.com",
        "time": "Wed Jan 19 14:53:36 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 20 13:40:30 2011 +0000"
      },
      "message": "ASoC: soc-cache: Introduce the cache_bypass option\n\nThis is primarily needed to avoid writing back to the cache\nwhenever we are syncing the cache with the hardware.  This gives a\nperformance benefit especially for large register maps.\n\nSigned-off-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "474b62d6eee733abdcd36f8e3e5ce504fbb9110b",
      "tree": "1b399ebd627111f806fe7a20daa9f3df87ff567a",
      "parents": [
        "20e4859dedfc7e7b620d1756b29f8483c5be5fcc"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jan 18 16:14:44 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 19 13:02:32 2011 +0000"
      },
      "message": "ASoC: Provide per widget type callback when executing DAPM sequences\n\nMany modern devices have features such as DC servos which take time to start.\nCurrently these are handled by per-widget events but this makes it difficult\nto paralleise operations on multiple widgets, meaning delays can end up\nbeing needlessly serialised. By providing a callback to drivers when all\nwidgets of a given type have been handled during a DAPM sequence the core\nallows drivers to start operations separately and wait for them to complete\nmuch more simply.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "20e4859dedfc7e7b620d1756b29f8483c5be5fcc",
      "tree": "e7fff82807a50a5e0930438d7bf2f93826a95ec7",
      "parents": [
        "828a842f2e02de5d884ee14bd3c21ddbc77ec60e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Jan 15 13:40:50 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 19 13:02:32 2011 +0000"
      },
      "message": "ASoC: Add support for sequencing within\n\nWith larger devices there may be many widgets of the same type in series\nin an audio path. Allow drivers to specify an additional level of ordering\nwithin each widget type by adding a subsequence number to widgets and then\nsplitting operations on widgets so that widgets of the same type but\ndifferent sequence numbers are processed separately.  A typical example\nwould be a supply widget which requires that another widget be enabled\nto provide power or clocking.\n\nSND_SOC_DAPM_PGA_S() and SND_SOC_DAPM_SUPPLY_S() macros are provided\nallowing this to be used with PGAs and supplies as these are the most\ncommonly affected widgets.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "a1926d1745114789687ac029ae8c58944b7d2256",
      "tree": "c303e75615e378451a80b97bfd2c1ba54029d9bb",
      "parents": [
        "492e917635a0fa05439bb562fd51577efc9cef30",
        "52fc43f7c1c416b114e88ff39635c36e67ef15b6"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 19 11:22:54 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 19 11:22:54 2011 +0000"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 into for-2.6.39\n"
    },
    {
      "commit": "b7c15e4a1cbf19be3d3063819b472806902fb525",
      "tree": "802103cb642b9e7fb76677de544289a754cf4c57",
      "parents": [
        "6a7f6ec9512970874fa9fc883ea44d77d0f287c2",
        "27de094f54a4d96bae2cd3121eb157bb8a34f729"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 18 08:05:50 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 18 08:05:50 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: hda - Fix initialization for HP 2011 notebooks\n  ALSA: hda - Add support for VMware controller\n  ALSA: hda - consitify string arrays\n  ALSA: hda - Add add multi-streaming playback for AD1988\n  ASoC: EP93xx: fixed LRCLK rate and DMA oper. in I2S code\n  ASoC: WM8990: msleep() takes milliseconds not jiffies\n  ALSA : au88x0 - Limit number of channels to fix Oops via OSS emu\n  ALSA: constify functions in ac97\n  ASoC: WL1273 FM radio: Fix breakage with MFD API changes\n  ALSA: hda - More coverage for odd-number channels elimination for HDMI\n  ALSA: hda - Store PCM parameters properly in HDMI open callback\n  ALSA: hda - Rearrange fixup struct in patch_realtek.c\n  ALSA: oxygen: Xonar DG: fix CS4245 register writes\n  ALSA: hda - Suppress the odd number of channels for HDMI\n  ALSA: hda - Add fixup-call in init callback\n  ALSA: hda - Reorganize fixup structure for Realtek\n  ALSA: hda - Apply Sony VAIO hweq fixup only once\n  ALSA: hda - Apply mario fixup only once\n  ALSA: hda - Remove unused fixup entry for ALC262\n"
    },
    {
      "commit": "6845a44a314c0c626549de373131bf108f9cc1f1",
      "tree": "9152a5c557434515dd7306d288e8f55ecc64652e",
      "parents": [
        "eee2a817df7c5a6e569f353f8be78cc1b3604bb6",
        "4790f4dc5f4326dab5d81ed8fb8c9473e620bdbb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 14:45:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 14:45:48 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  RDMA: Update workqueue usage\n  RDMA/nes: Fix incorrect SFP+ link status detection on driver init\n  RDMA/nes: Fix SFP+ link down detection issue with switch port disable\n  RDMA/nes: Generate IB_EVENT_PORT_ERR/PORT_ACTIVE events\n  RDMA/nes: Fix bonding on iw_nes\n  IB/srp: Test only once whether iu allocation succeeded\n  IB/mlx4: Handle protocol field in multicast table\n  RDMA: Use vzalloc() to replace vmalloc()+memset(0)\n  mlx4_{core, ib, en}: Fix driver when sizeof (phys_addr_t) \u003e sizeof (long)\n  IB/mthca: Fix driver when sizeof (phys_addr_t) \u003e sizeof (long)\n"
    },
    {
      "commit": "9e8a462a0141b12e22c4a2f0c12e0542770401f0",
      "tree": "c0e32e5877f099b43e75afc5faecc944207dd51c",
      "parents": [
        "cf78859f520f8275318f47d7864f4459d940cb6b",
        "24562486be76cf223b8d911f45e1d26eb3364b13"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 12:39:57 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 12:39:57 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  ecryptfs: remove unnecessary decrypt when extending a file\n  ecryptfs: Fix ecryptfs_printk() size_t warnings\n  fs/ecryptfs: Add printf format/argument verification and fix fallout\n  ecryptfs: fixed testing of file descriptor flags\n  ecryptfs: test lower_file pointer when lower_file_mutex is locked\n  ecryptfs: missing initialization of the superblock \u0027magic\u0027 field\n  ecryptfs: moved ECRYPTFS_SUPER_MAGIC definition to linux/magic.h\n  ecryptfs: fix truncation error in ecryptfs_read_update_atime\n"
    },
    {
      "commit": "8c34482c17d8fd07966328c7b1cfc35ee290bd1c",
      "tree": "324f7535ae561dcc430764fd2c7531ff67d9780b",
      "parents": [
        "1a47f7a84ef386c1f7f55f669598bd9894ceb73a",
        "d95defaca7994ffff1ceb52f3011eb644dfe3274"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:18:40 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:18:40 2011 -0800"
      },
      "message": "Merge branch \u0027next-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027next-devicetree\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  spi/spi_sh_msiof: fix a wrong free_irq() parameter\n  dt/flattree: Return virtual address from early_init_dt_alloc_memory_arch()\n"
    },
    {
      "commit": "ab2020f2f11fc7fb81e6c71298b0830d85412011",
      "tree": "c9a6342063461dcf31278d65585bca73bdda4a84",
      "parents": [
        "235646a486d10891bd86af28d8eac75d9f22bd2d",
        "154bf89f5e3e3dc59666926f27ca4a0866f39157"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:15:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:15:30 2011 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (59 commits)\n  mtd: mtdpart: disallow reading OOB past the end of the partition\n  mtd: pxa3xx_nand: NULL dereference in pxa3xx_nand_probe\n  UBI: use mtd-\u003ewritebufsize to set minimal I/O unit size\n  mtd: initialize writebufsize in the MTD object of a partition\n  mtd: onenand: add mtd-\u003ewritebufsize initialization\n  mtd: nand: add mtd-\u003ewritebufsize initialization\n  mtd: cfi: add writebufsize initialization\n  mtd: add writebufsize field to mtd_info struct\n  mtd: OneNAND: OMAP2/3: prevent regulator sleeping while OneNAND is in use\n  mtd: OneNAND: add enable / disable methods to onenand_chip\n  mtd: m25p80: Fix JEDEC ID for AT26DF321\n  mtd: txx9ndfmc: limit transfer bytes to 512 (ECC provides 6 bytes max)\n  mtd: cfi_cmdset_0002: add support for Samsung K8D3x16UxC NOR chips\n  mtd: cfi_cmdset_0002: add support for Samsung K8D6x16UxM NOR chips\n  mtd: nand: ams-delta: drop omap_read/write, use ioremap\n  mtd: m25p80: add debugging trace in sst_write\n  mtd: nand: ams-delta: select for built-in by default\n  mtd: OneNAND: lighten scary initial bad block messages\n  mtd: OneNAND: OMAP2/3: add support for command line partitioning\n  mtd: nand: rearrange ONFI revision checking, add ONFI 2.3\n  ...\n\nFix up trivial conflict in drivers/mtd/Kconfig as per DavidW.\n"
    },
    {
      "commit": "235646a486d10891bd86af28d8eac75d9f22bd2d",
      "tree": "72308e6d2d7c936d00907689a2749715873d5f1b",
      "parents": [
        "af575e2d2e09517a8190f1b425453cc3e0102f6c",
        "ecf5632dd189ab4c366cef853d6e5fe7adfe52e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:00:09 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 11:00:09 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  fs: fix address space warnings in ioctl_fiemap()\n  aio: check return value of create_workqueue()\n  hpfs_setattr error case avoids unlock_kernel\n  compat: copy missing fields in compat_statfs64 to user\n  compat: update comment of compat statfs syscalls\n  compat: remove unnecessary assignment in compat_rw_copy_check_uvector()\n  fs: FS_POSIX_ACL does not depend on BLOCK\n  fs: Remove unlikely() from fget_light()\n  fs: Remove unlikely() from fput_light()\n  fallocate should be a file operation\n  make the feature checks in -\u003efallocate future proof\n  staging: smbfs building fix\n  tidy up around finish_automount()\n  don\u0027t drop newmnt on error in do_add_mount()\n  Take the completion of automount into new helper\n"
    },
    {
      "commit": "e1288cd72f54e7fc16ae9ebb4d0647537ef848d4",
      "tree": "b4fd87b9307d8041fb680cb9b8fbf787ec968df7",
      "parents": [
        "e78bf5e6cbe837daa6ab628a5f679548742994d3",
        "94ae85220a07d357d4937086c490854f63344de4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 10:54:41 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 17 10:54:41 2011 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (63 commits)\n  ARM: PL08x: cleanup comments\n  Update CONFIG_MD_RAID6_PQ to CONFIG_RAID6_PQ in drivers/dma/iop-adma.c\n  ARM: PL08x: fix a warning\n  Fix dmaengine_submit() return type\n  dmaengine: at_hdmac: fix race while monitoring channel status\n  dmaengine: at_hdmac: flags located in first descriptor\n  dmaengine: at_hdmac: use subsys_initcall instead of module_init\n  dmaengine: at_hdmac: no need set ACK in new descriptor\n  dmaengine: at_hdmac: trivial add precision to unmapping comment\n  dmaengine: at_hdmac: use dma_address to program DMA hardware\n  pch_dma: support new device ML7213 IOH\n  ARM: PL08x: prevent dma_set_runtime_config() reconfiguring memcpy channels\n  ARM: PL08x: allow dma_set_runtime_config() to return errors\n  ARM: PL08x: fix locking between prepare function and submit function\n  ARM: PL08x: introduce \u0027phychan_hold\u0027 to hold on to physical channels\n  ARM: PL08x: put txd\u0027s on the pending list in pl08x_tx_submit()\n  ARM: PL08x: rename \u0027desc_list\u0027 as \u0027pend_list\u0027\n  ARM: PL08x: implement unmapping of memcpy buffers\n  ARM: PL08x: store prep_* flags in async_tx structure\n  ARM: PL08x: shrink srcbus/dstbus in txd structure\n  ...\n"
    },
    {
      "commit": "2a8652f4e0d11ee27b1d2870c600fd1300661a6e",
      "tree": "f7ee0d8614b60a8733bcf0cfba8ac94776925ed5",
      "parents": [
        "38a708d7759476318d0eec64af174513032ec67a"
      ],
      "author": {
        "name": "Roberto Sassu",
        "email": "roberto.sassu@polito.it",
        "time": "Wed Nov 03 11:11:15 2010 +0100"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Jan 17 10:44:31 2011 -0600"
      },
      "message": "ecryptfs: moved ECRYPTFS_SUPER_MAGIC definition to linux/magic.h\n\nThe definition of ECRYPTFS_SUPER_MAGIC has been moved to the include\nfile \u0027linux/magic.h\u0027 to become available to other kernel subsystems.\n\nSigned-off-by: Roberto Sassu \u003croberto.sassu@polito.it\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "70a7ca34dbdcc6f0ed332baf2b308bab2871424a",
      "tree": "9f5effa903362d8b717bfd944551cd27e66ded4a",
      "parents": [
        "62ffac4d70ed996d303da0ac8e32c89b9810115c"
      ],
      "author": {
        "name": "Vinod Koul",
        "email": "vinod.koul@intel.com",
        "time": "Fri Jan 14 19:22:48 2011 +0530"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jan 17 13:50:08 2011 +0000"
      },
      "message": "ASoC: soc core allow machine driver to register the card\n\nThe machine driver can\u0027t register the card directly and need to do this thru\nsoc-audio device creation\n\nThis patch allows the register and unregister card to be directly called by\nmachine drivers\n\nSigned-off-by: Vinod Koul \u003cvinod.koul@intel.com\u003e\nSigned-off-by: Harsha Priya \u003cpriya.harsha@intel.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "ecf5632dd189ab4c366cef853d6e5fe7adfe52e5",
      "tree": "947ae7edf45415753e960d53957ae3a4121fb3b8",
      "parents": [
        "27eaa1c90c608aa907336c2743d5ecf35c469440"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Sun Jan 16 23:28:17 2011 +0900"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 17 08:21:42 2011 -0500"
      },
      "message": "fs: fix address space warnings in ioctl_fiemap()\n\nThe fi_extents_start field of struct fiemap_extent_info is a\nuser pointer but was not marked as __user. This makes sparse\nemit following warnings:\n\n  CHECK   fs/ioctl.c\nfs/ioctl.c:114:26: warning: incorrect type in argument 1 (different address spaces)\nfs/ioctl.c:114:26:    expected void [noderef] \u003casn:1\u003e*dst\nfs/ioctl.c:114:26:    got struct fiemap_extent *[assigned] dest\nfs/ioctl.c:202:14: warning: incorrect type in argument 1 (different address spaces)\nfs/ioctl.c:202:14:    expected void const volatile [noderef] \u003casn:1\u003e*\u003cnoident\u003e\nfs/ioctl.c:202:14:    got struct fiemap_extent *[assigned] fi_extents_start\nfs/ioctl.c:212:27: warning: incorrect type in argument 1 (different address spaces)\nfs/ioctl.c:212:27:    expected void [noderef] \u003casn:1\u003e*dst\nfs/ioctl.c:212:27:    got char *\u003cnoident\u003e\n\nAlso add \u0027ufiemap\u0027 variable to eliminate unnecessary casts.\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c2b3e74b78b24cb367289a75a2bd30e569e56e0e",
      "tree": "1ae2e53e0aa3831486afd2ec8c71a8cd32535b1b",
      "parents": [
        "2fe17c1075836b66678ed2a305fd09b6773883aa"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 13 19:38:08 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 17 03:26:26 2011 -0500"
      },
      "message": "fs: Remove unlikely() from fput_light()\n\nIn fput_light(), there\u0027s an unlikely(fput_needed), which running on\nmy normal desktop doing firefox, xchat, evolution and part of my distcc farm,\nand running the annotate branch profiler shows that the unlikely is not\nvery unlikely.\n\n correct incorrect  %        Function             File              Line\n ------- ---------  -        --------             ----              ----\n       0       48 100 fput_light                file.h               26\n115828710 897415279  88 fput_light              file.h               26\n865271179 5286128445  85 fput_light             file.h               26\n19568539  8923664  31 fput_light                file.h               26\n12353677  3562279  22 fput_light                file.h               26\n  267691    67062  20 fput_light                file.h               26\n15014853   348172   2 fput_light                file.h               26\n  209258      205   0 fput_light                file.h               26\n 1364164        0   0 fput_light                file.h               26\n\nWhich gives 1032903812 times it was correct and 6203351846 times it was\nincorrect, or 85% incorrect.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2fe17c1075836b66678ed2a305fd09b6773883aa",
      "tree": "eb5287be8138686682eef9622872cfc7657e0664",
      "parents": [
        "64c23e86873ee410554d6d1c76b60da47025e96f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jan 14 13:07:43 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 17 02:25:31 2011 -0500"
      },
      "message": "fallocate should be a file operation\n\nCurrently all filesystems except XFS implement fallocate asynchronously,\nwhile XFS forced a commit.  Both of these are suboptimal - in case of O_SYNC\nI/O we really want our allocation on disk, especially for the !KEEP_SIZE\ncase where we actually grow the file with user-visible zeroes.  On the\nother hand always commiting the transaction is a bad idea for fast-path\nuses of fallocate like for example in recent Samba versions.   Given\nthat block allocation is a data plane operation anyway change it from\nan inode operation to a file operation so that we have the file structure\navailable that lets us check for O_SYNC.\n\nThis also includes moving the code around for a few of the filesystems,\nand remove the already unnedded S_ISDIR checks given that we only wire\nup fallocate for regular files.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4790f4dc5f4326dab5d81ed8fb8c9473e620bdbb",
      "tree": "72d5bbcdc8aa72c4e48a81ce33be5ed797093224",
      "parents": [
        "f06267104dd9112f11586830d22501d0e26245ea",
        "da995a8aee044bc5d0847e19e351cd48a2cb8bcc",
        "eb4a7cbf27082bea34764bab3bc85595683f967b",
        "843276ad985cb59212ceb70d989474521ff516f6",
        "695b83495e2fba9d3a883193cfc9d5eefa96a911"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Jan 16 21:22:41 2011 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Jan 16 21:22:41 2011 -0800"
      },
      "message": "Merge branches \u0027misc\u0027, \u0027mlx4\u0027, \u0027mthca\u0027, \u0027nes\u0027 and \u0027srp\u0027 into for-next\n"
    },
    {
      "commit": "f06267104dd9112f11586830d22501d0e26245ea",
      "tree": "8f7c364abc84a5f69269974eaa2b955b24d8f421",
      "parents": [
        "948579cd8c6ea7c8c98c52b79f4470952e182ebd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Oct 19 15:24:36 2010 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sun Jan 16 21:16:31 2011 -0800"
      },
      "message": "RDMA: Update workqueue usage\n\n* ib_wq is added, which is used as the common workqueue for infiniband\n  instead of the system workqueue.  All system workqueue usages\n  including flush_scheduled_work() callers are converted to use and\n  flush ib_wq.\n\n* cancel_delayed_work() + flush_scheduled_work() converted to\n  cancel_delayed_work_sync().\n\n* qib_wq is removed and ib_wq is used instead.\n\nThis is to prepare for deprecation of flush_scheduled_work().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "94ae85220a07d357d4937086c490854f63344de4",
      "tree": "8dda364dc7cbae73a30bbe5ef47ac8d674d998c6",
      "parents": [
        "0261f7416362f6affc2d4fe7fea9320a6bdaaee6"
      ],
      "author": {
        "name": "Russell King - ARM Linux",
        "email": "linux@arm.linux.org.uk",
        "time": "Sun Jan 16 20:18:05 2011 +0000"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sun Jan 16 16:55:43 2011 -0800"
      },
      "message": "ARM: PL08x: cleanup comments\n\nCleanup the formatting of comments, remove some which don\u0027t make sense\nanymore.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n[fix conflict with 96a608a4]\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "b3697c0255d9d73eaaa4deb4512e3f0ff97b3b71",
      "tree": "59f7c5aa4c6ac509381071997f0888e2687cebd5",
      "parents": [
        "7e3d0eb0b028ed9e9384e6afcae2f22993bbdf25"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Sun Jan 16 13:10:39 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 16 15:05:44 2011 -0800"
      },
      "message": "fix non-x86 build failure in pmdp_get_and_clear\n\npmdp_get_and_clear/pmdp_clear_flush/pmdp_splitting_flush were trapped as\nBUG() and they were defined only to diminish the risk of build issues on\nnot-x86 archs and to be consistent with the generic pte methods previously\ndefined in include/asm-generic/pgtable.h.\n\nBut they are causing more trouble than they were supposed to solve, so\nit\u0027s simpler not to define them when THP is off.\n\nThis is also correcting the export of pmdp_splitting_flush which is\ncurrently unused (x86 isn\u0027t using the generic implementation in\nmm/pgtable-generic.c and no other arch needs that [yet]).\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc8fe1e992ae0326a88edbe4d6793e840bbdd4ff",
      "tree": "40eb3f1660898b9261219c0c256f569f0258a953",
      "parents": [
        "f8206b925fb0eba3a11839419be118b09105d7b1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Jan 16 20:42:43 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 16 11:56:26 2011 -0800"
      },
      "message": "PCI / ACPI: Fix build of the AER driver for CONFIG_ACPI unset\n\nAfter commit 415e12b23792 (\"PCI/ACPI: Request _OSC control once for each\nroot bridge (v3)\") include/linux/pci-acpi.h is included by\ndrivers/pci/pcie/aer/aerdrv.c and if CONFIG_ACPI is unset, the bogus and\nunnecessary alternative definition of acpi_find_root_bridge_handle()\ncauses a build error to occur.\n\nRemove the offending piece of garbage.\n\nReported-and-tested-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8206b925fb0eba3a11839419be118b09105d7b1",
      "tree": "5d41b356a043da09c816ed80bd79d1ea8b2b47e5",
      "parents": [
        "1b59be2a6cdcb5a12e18d8315c07c94a624de48f",
        "f03c65993b98eeb909a4012ce7833c5857d74755"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 16 11:31:50 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 16 11:31:50 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (23 commits)\n  sanitize vfsmount refcounting changes\n  fix old umount_tree() breakage\n  autofs4: Merge the remaining dentry ops tables\n  Unexport do_add_mount() and add in follow_automount(), not -\u003ed_automount()\n  Allow d_manage() to be used in RCU-walk mode\n  Remove a further kludge from __do_follow_link()\n  autofs4: Bump version\n  autofs4: Add v4 pseudo direct mount support\n  autofs4: Fix wait validation\n  autofs4: Clean up autofs4_free_ino()\n  autofs4: Clean up dentry operations\n  autofs4: Clean up inode operations\n  autofs4: Remove unused code\n  autofs4: Add d_manage() dentry operation\n  autofs4: Add d_automount() dentry operation\n  Remove the automount through follow_link() kludge code from pathwalk\n  CIFS: Use d_automount() rather than abusing follow_link()\n  NFS: Use d_automount() rather than abusing follow_link()\n  AFS: Use d_automount() rather than abusing follow_link()\n  Add an AT_NO_AUTOMOUNT flag to suppress terminal automount\n  ...\n"
    },
    {
      "commit": "f03c65993b98eeb909a4012ce7833c5857d74755",
      "tree": "a6dd5e353889b7fe4ab87c54170d09443d788fec",
      "parents": [
        "7b8a53fd815deb39542085897743fa0063f9fe06"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 14 22:30:21 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 16 13:47:07 2011 -0500"
      },
      "message": "sanitize vfsmount refcounting changes\n\nInstead of splitting refcount between (per-cpu) mnt_count\nand (SMP-only) mnt_longrefs, make all references contribute\nto mnt_count again and keep track of how many are longterm\nones.\n\nAccounting rules for longterm count:\n\t* 1 for each fs_struct.root.mnt\n\t* 1 for each fs_struct.pwd.mnt\n\t* 1 for having non-NULL -\u003emnt_ns\n\t* decrement to 0 happens only under vfsmount lock exclusive\n\nThat allows nice common case for mntput() - since we can\u0027t drop the\nfinal reference until after mnt_longterm has reached 0 due to the rules\nabove, mntput() can grab vfsmount lock shared and check mnt_longterm.\nIf it turns out to be non-zero (which is the common case), we know\nthat this is not the final mntput() and can just blindly decrement\npercpu mnt_count.  Otherwise we grab vfsmount lock exclusive and\ndo usual decrement-and-check of percpu mnt_count.\n\nFor fs_struct.c we have mnt_make_longterm() and mnt_make_shortterm();\nnamespace.c uses the latter in places where we don\u0027t already hold\nvfsmount lock exclusive and opencodes a few remaining spots where\nwe need to manipulate mnt_longterm.\n\nNote that we mostly revert the code outside of fs/namespace.c back\nto what we used to have; in particular, normal code doesn\u0027t need\nto care about two kinds of references, etc.  And we get to keep\nthe optimization Nick\u0027s variant had bought us...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "672c54466d24994eb9633f993862c89539504a42",
      "tree": "e08f17e5fa260676912eb9b7d2263d47d667fdec",
      "parents": [
        "1b59be2a6cdcb5a12e18d8315c07c94a624de48f"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jan 13 15:36:09 2011 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Jan 15 22:01:58 2011 -0700"
      },
      "message": "dt/flattree: Return virtual address from early_init_dt_alloc_memory_arch()\n\nThe physical address is never used by the device tree code when\nallocating memory for unflattening.  Change the architecture\u0027s alloc\nhook to return the virutal address instead.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "ea5b778a8b98c85a87d66bf844904f9c3802b869",
      "tree": "baa56cbe1a907d76341f2cad53e16569cc1d3288",
      "parents": [
        "ab90911ff90cdab59b31c045c3f0ae480d14f29d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 19:10:03 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:48 2011 -0500"
      },
      "message": "Unexport do_add_mount() and add in follow_automount(), not -\u003ed_automount()\n\nUnexport do_add_mount() and make -\u003ed_automount() return the vfsmount to be\nadded rather than calling do_add_mount() itself.  follow_automount() will then\ndo the addition.\n\nThis slightly complicates things as -\u003ed_automount() normally wants to add the\nnew vfsmount to an expiration list and start an expiration timer.  The problem\nwith that is that the vfsmount will be deleted if it has a refcount of 1 and\nthe timer will not repeat if the expiration list is empty.\n\nTo this end, we require the vfsmount to be returned from d_automount() with a\nrefcount of (at least) 2.  One of these refs will be dropped unconditionally.\nIn addition, follow_automount() must get a 3rd ref around the call to\ndo_add_mount() lest it eat a ref and return an error, leaving the mount we\nhave open to being expired as we would otherwise have only 1 ref on it.\n\nd_automount() should also add the the vfsmount to the expiration list (by\ncalling mnt_set_expiry()) and start the expiration timer before returning, if\nthis mechanism is to be used.  The vfsmount will be unlinked from the\nexpiration list by follow_automount() if do_add_mount() fails.\n\nThis patch also fixes the call to do_add_mount() for AFS to propagate the mount\nflags from the parent vfsmount.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ab90911ff90cdab59b31c045c3f0ae480d14f29d",
      "tree": "683450a66eb9dc6bf053e38d63f4740bb53a7b6e",
      "parents": [
        "87556ef19926e97464e0163a7840140527ae6615"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:46:51 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:47 2011 -0500"
      },
      "message": "Allow d_manage() to be used in RCU-walk mode\n\nAllow d_manage() to be called from pathwalk when it is in RCU-walk mode as well\nas when it is in Ref-walk mode.  This permits __follow_mount_rcu() to call\nd_manage() directly.  d_manage() needs a parameter to indicate that it is in\nRCU-walk mode as it isn\u0027t allowed to sleep if in that mode (but should return\n-ECHILD instead).\n\nautofs4_d_manage() can then be set to retain RCU-walk mode if the daemon\naccesses it and otherwise request dropping back to ref-walk mode.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1972580bb4edea3ed6fe273b2ca72f44f10f8c86",
      "tree": "9c8e34448ed30e040dcdb18b5b92ec663baa0750",
      "parents": [
        "dd89f90d2deb9aa5bc8e1b15d726ff5c0bb2b623"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Fri Jan 14 18:46:40 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:45 2011 -0500"
      },
      "message": "autofs4: Bump version\n\nIncrease the autofs module sub-version so we can tell what kernel\nimplementation is being used from user space debug logging.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "36d43a43761b004ad1879ac21471d8fc5f3157ec",
      "tree": "6cb6c6d978f4e58de7f9bf901707d6929f098345",
      "parents": [
        "d18610b0ce9eb48c60649d8fcbf68374c84349d3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:42 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:34 2011 -0500"
      },
      "message": "NFS: Use d_automount() rather than abusing follow_link()\n\nMake NFS use the new d_automount() dentry operation rather than abusing\nfollow_link() on directories.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6f45b65672c8017d5e210e338bb5858a938ef445",
      "tree": "b62877c489fb682033c37d30d91c53e4d0c3833a",
      "parents": [
        "cc53ce53c86924bfe98a12ea20b7465038a08792"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:31 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:33 2011 -0500"
      },
      "message": "Add an AT_NO_AUTOMOUNT flag to suppress terminal automount\n\nAdd an AT_NO_AUTOMOUNT flag to suppress terminal automounting of automount\npoint directories.  This can be used by fstatat() users to permit the\ngathering of attributes on an automount point and also prevent\nmass-automounting of a directory of automount points by ls.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cc53ce53c86924bfe98a12ea20b7465038a08792",
      "tree": "3c9a4923dd9f413c46bfa83a20cb579446df6deb",
      "parents": [
        "9875cf806403fae66b2410a3c2cc820d97731e04"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:26 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:31 2011 -0500"
      },
      "message": "Add a dentry op to allow processes to be held during pathwalk transit\n\nAdd a dentry op (d_manage) to permit a filesystem to hold a process and make it\nsleep when it tries to transit away from one of that filesystem\u0027s directories\nduring a pathwalk.  The operation is keyed off a new dentry flag\n(DCACHE_MANAGE_TRANSIT).\n\nThe filesystem is allowed to be selective about which processes it holds and\nwhich it permits to continue on or prohibits from transiting from each flagged\ndirectory.  This will allow autofs to hold up client processes whilst letting\nits userspace daemon through to maintain the directory or the stuff behind it\nor mounted upon it.\n\nThe -\u003ed_manage() dentry operation:\n\n\tint (*d_manage)(struct path *path, bool mounting_here);\n\ntakes a pointer to the directory about to be transited away from and a flag\nindicating whether the transit is undertaken by do_add_mount() or\ndo_move_mount() skipping through a pile of filesystems mounted on a mountpoint.\n\nIt should return 0 if successful and to let the process continue on its way;\n-EISDIR to prohibit the caller from skipping to overmounted filesystems or\nautomounting, and to use this directory; or some other error code to return to\nthe user.\n\n-\u003ed_manage() is called with namespace_sem writelocked if mounting_here is true\nand no other locks held, so it may sleep.  However, if mounting_here is true,\nit may not initiate or wait for a mount or unmount upon the parameter\ndirectory, even if the act is actually performed by userspace.\n\nWithin fs/namei.c, follow_managed() is extended to check with d_manage() first\non each managed directory, before transiting away from it or attempting to\nautomount upon it.\n\nfollow_down() is renamed follow_down_one() and should only be used where the\nfilesystem deliberately intends to avoid management steps (e.g. autofs).\n\nA new follow_down() is added that incorporates the loop done by all other\ncallers of follow_down() (do_add/move_mount(), autofs and NFSD; whilst AFS, NFS\nand CIFS do use it, their use is removed by converting them to use\nd_automount()).  The new follow_down() calls d_manage() as appropriate.  It\nalso takes an extra parameter to indicate if it is being called from mount code\n(with namespace_sem writelocked) which it passes to d_manage().  follow_down()\nignores automount points so that it can be used to mount on them.\n\n__follow_mount_rcu() is made to abort rcu-walk mode if it hits a directory with\nDCACHE_MANAGE_TRANSIT set on the basis that we\u0027re probably going to have to\nsleep.  It would be possible to enter d_manage() in rcu-walk mode too, and have\nthat determine whether to abort or not itself.  That would allow the autofs\ndaemon to continue on in rcu-walk mode.\n\nNote that DCACHE_MANAGE_TRANSIT on a directory should be cleared when it isn\u0027t\nrequired as every tranist from that directory will cause d_manage() to be\ninvoked.  It can always be set again when necessary.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nWHAT THIS MEANS FOR AUTOFS\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAutofs currently uses the lookup() inode op and the d_revalidate() dentry op to\ntrigger the automounting of indirect mounts, and both of these can be called\nwith i_mutex held.\n\nautofs knows that the i_mutex will be held by the caller in lookup(), and so\ncan drop it before invoking the daemon - but this isn\u0027t so for d_revalidate(),\nsince the lock is only held on _some_ of the code paths that call it.  This\nmeans that autofs can\u0027t risk dropping i_mutex from its d_revalidate() function\nbefore it calls the daemon.\n\nThe bug could manifest itself as, for example, a process that\u0027s trying to\nvalidate an automount dentry that gets made to wait because that dentry is\nexpired and needs cleaning up:\n\n\tmkdir         S ffffffff8014e05a     0 32580  24956\n\tCall Trace:\n\t [\u003cffffffff885371fd\u003e] :autofs4:autofs4_wait+0x674/0x897\n\t [\u003cffffffff80127f7d\u003e] avc_has_perm+0x46/0x58\n\t [\u003cffffffff8009fdcf\u003e] autoremove_wake_function+0x0/0x2e\n\t [\u003cffffffff88537be6\u003e] :autofs4:autofs4_expire_wait+0x41/0x6b\n\t [\u003cffffffff88535cfc\u003e] :autofs4:autofs4_revalidate+0x91/0x149\n\t [\u003cffffffff80036d96\u003e] __lookup_hash+0xa0/0x12f\n\t [\u003cffffffff80057a2f\u003e] lookup_create+0x46/0x80\n\t [\u003cffffffff800e6e31\u003e] sys_mkdirat+0x56/0xe4\n\nversus the automount daemon which wants to remove that dentry, but can\u0027t\nbecause the normal process is holding the i_mutex lock:\n\n\tautomount     D ffffffff8014e05a     0 32581      1              32561\n\tCall Trace:\n\t [\u003cffffffff80063c3f\u003e] __mutex_lock_slowpath+0x60/0x9b\n\t [\u003cffffffff8000ccf1\u003e] do_path_lookup+0x2ca/0x2f1\n\t [\u003cffffffff80063c89\u003e] .text.lock.mutex+0xf/0x14\n\t [\u003cffffffff800e6d55\u003e] do_rmdir+0x77/0xde\n\t [\u003cffffffff8005d229\u003e] tracesys+0x71/0xe0\n\t [\u003cffffffff8005d28d\u003e] tracesys+0xd5/0xe0\n\nwhich means that the system is deadlocked.\n\nThis patch allows autofs to hold up normal processes whilst the daemon goes\nahead and does things to the dentry tree behind the automouter point without\nrisking a deadlock as almost no locks are held in d_manage() and none in\nd_automount().\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nWas-Acked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9875cf806403fae66b2410a3c2cc820d97731e04",
      "tree": "6f9546b400716766af95e0f78e3d600e765b2b51",
      "parents": [
        "1a8edf40e7c3eee955e0dd0316a7c9d85e36f597"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:21 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:05:03 2011 -0500"
      },
      "message": "Add a dentry op to handle automounting rather than abusing follow_link()\n\nAdd a dentry op (d_automount) to handle automounting directories rather than\nabusing the follow_link() inode operation.  The operation is keyed off a new\ndentry flag (DCACHE_NEED_AUTOMOUNT).\n\nThis also makes it easier to add an AT_ flag to suppress terminal segment\nautomount during pathwalk and removes the need for the kludge code in the\npathwalk algorithm to handle directories with follow_link() semantics.\n\nThe -\u003ed_automount() dentry operation:\n\n\tstruct vfsmount *(*d_automount)(struct path *mountpoint);\n\ntakes a pointer to the directory to be mounted upon, which is expected to\nprovide sufficient data to determine what should be mounted.  If successful, it\nshould return the vfsmount struct it creates (which it should also have added\nto the namespace using do_add_mount() or similar).  If there\u0027s a collision with\nanother automount attempt, NULL should be returned.  If the directory specified\nby the parameter should be used directly rather than being mounted upon,\n-EISDIR should be returned.  In any other case, an error code should be\nreturned.\n\nThe -\u003ed_automount() operation is called with no locks held and may sleep.  At\nthis point the pathwalk algorithm will be in ref-walk mode.\n\nWithin fs/namei.c itself, a new pathwalk subroutine (follow_automount()) is\nadded to handle mountpoints.  It will return -EREMOTE if the automount flag was\nset, but no d_automount() op was supplied, -ELOOP if we\u0027ve encountered too many\nsymlinks or mountpoints, -EISDIR if the walk point should be used without\nmounting and 0 if successful.  The path will be updated to point to the mounted\nfilesystem if a successful automount took place.\n\n__follow_mount() is replaced by follow_managed() which is more generic\n(especially with the patch that adds -\u003ed_manage()).  This handles transits from\ndirectories during pathwalk, including automounting and skipping over\nmountpoints (and holding processes with the next patch).\n\n__follow_mount_rcu() will jump out of RCU-walk mode if it encounters an\nautomount point with nothing mounted on it.\n\nfollow_dotdot*() does not handle automounts as you don\u0027t want to trigger them\nwhilst following \"..\".\n\nI\u0027ve also extracted the mount/don\u0027t-mount logic from autofs4 and included it\nhere.  It makes the mount go ahead anyway if someone calls open() or creat(),\ntries to traverse the directory, tries to chdir/chroot/etc. into the directory,\nor sticks a \u0027/\u0027 on the end of the pathname.  If they do a stat(), however,\nthey\u0027ll only trigger the automount if they didn\u0027t also say O_NOFOLLOW.\n\nI\u0027ve also added an inode flag (S_AUTOMOUNT) so that filesystems can mark their\ninodes as automount points.  This flag is automatically propagated to the\ndentry as DCACHE_NEED_AUTOMOUNT by __d_instantiate().  This saves NFS and could\nsave AFS a private flag bit apiece, but is not strictly necessary.  It would be\npreferable to do the propagation in d_set_d_op(), but that doesn\u0027t normally\nhave access to the inode.\n\n[AV: fixed breakage in case if __follow_mount_rcu() fails and nameidata_drop_rcu()\nsucceeds in RCU case of do_lookup(); we need to fall through to non-RCU case after\nthat, rather than just returning with ungrabbed *path]\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nWas-Acked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1b59be2a6cdcb5a12e18d8315c07c94a624de48f",
      "tree": "5cf48d9f94d85e9b1f984610b6868ad100ca1916",
      "parents": [
        "f9ee7f60d6f37ae0184812b4c59b3869f875768b",
        "2ed1c5257b5d669df2a64bd53e61dc19c7d936cd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 13:01:14 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 13:01:14 2011 -0800"
      },
      "message": "Merge branch \u0027slab/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027slab/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  Update Pekka\u0027s email address in MAINTAINERS\n  mm/slab.c: make local symbols static\n  slub: Avoid use of slub_lock in show_slab_objects()\n  memory hotplug: one more lock on memory hotplug\n"
    },
    {
      "commit": "f9ee7f60d6f37ae0184812b4c59b3869f875768b",
      "tree": "6c30a7e94b90cfa3a43cda45f4bdb2f254f3ba10",
      "parents": [
        "16c1020362083b320868c0deef492249089c3cd3",
        "1161ec944916069ceec21c487e30247d9ff22857",
        "76d1f7bfcd5872056902c5a88b5fcd5d4d00a7a9",
        "afa14e7c553ebe45844d76208f66017a43abd0e2",
        "7c46d8da09df22361d1d43465c4f1b06cecaf25f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 12:45:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 15 12:45:00 2011 -0800"
      },
      "message": "Merge branches \u0027core-fixes-for-linus\u0027, \u0027x86-fixes-for-linus\u0027, \u0027timers-fixes-for-linus\u0027 and \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: avoid pointless blocked-task warnings\n  rcu: demote SRCU_SYNCHRONIZE_DELAY from kernel-parameter status\n  rtmutex: Fix comment about why new_owner can be NULL in wake_futex_pi()\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, olpc: Add missing Kconfig dependencies\n  x86, mrst: Set correct APB timer IRQ affinity for secondary cpu\n  x86: tsc: Fix calibration refinement conditionals to avoid divide by zero\n  x86, ia64, acpi: Clean up x86-ism in drivers/acpi/numa.c\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timekeeping: Make local variables static\n  time: Rename misnamed minsec argument of clocks_calc_mult_shift()\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Remove syscall_exit_fields\n  tracing: Only process module tracepoints once\n  perf record: Add \"nodelay\" mode, disabled by default\n  perf sched: Fix list of events, dropping unsupported \u0027:r\u0027 modifier\n  Revert \"perf tools: Emit clearer message for sys_perf_event_open ENOENT return\"\n  perf top: Fix annotate segv\n  perf evsel: Fix order of event list deletion\n"
    },
    {
      "commit": "597fb188cbee2d371246e1669bbc6051bb666aa9",
      "tree": "fd9cb605050ca15274cf391dc6bd4073d04808df",
      "parents": [
        "38567333a6dabd0f2b4150e9fb6dd8e3ba2985e5",
        "04d94879c8a4973b5499dc26b9d38acee8928791"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Jan 15 13:28:17 2011 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Sat Jan 15 13:28:17 2011 +0200"
      },
      "message": "Merge branch \u0027slub/hotplug\u0027 into slab/urgent\n"
    },
    {
      "commit": "96a608a4bfd8468c21881b3f92024923886eb015",
      "tree": "5c1cac2a320f8ba019ccd3d45730ac8d0ecbaa5d",
      "parents": [
        "98d530fe246b65fbd3cdeeeca319a80c46cb4793"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 14 17:51:11 2011 -0800"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 14 17:51:11 2011 -0800"
      },
      "message": "ARM: PL08x: fix a warning\n\ndrivers/dma/amba-pl08x.c: In function \u0027pl08x_start_txd\u0027:\ndrivers/dma/amba-pl08x.c:205: warning: dereferencing \u0027void *\u0027 pointer\n\nWe never dereference llis_va aside from assigning it to a struct\npl08x_lli pointer or calculating the address of array element 0.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "98d530fe246b65fbd3cdeeeca319a80c46cb4793",
      "tree": "f5b6d711fd6d24ae6a042e91c4bc9108914fb382",
      "parents": [
        "dda36f9821321edf65d69da5c0807df7e73d26fc"
      ],
      "author": {
        "name": "Russell King - ARM Linux",
        "email": "linux@arm.linux.org.uk",
        "time": "Sat Jan 01 23:00:23 2011 +0000"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jan 14 17:07:49 2011 -0800"
      },
      "message": "Fix dmaengine_submit() return type\n\ndesc-\u003etx_submit\u0027s return type is dma_cookie_t, not int.  Therefore,\ndmaengine_submit() should match this return type as it\u0027s just\nwrapping this detail.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "38567333a6dabd0f2b4150e9fb6dd8e3ba2985e5",
      "tree": "1101e3df845ce804035335f80ef3467397bd5373",
      "parents": [
        "de23be5f3580f7b9b52cad6633bb3a3cd13abafe",
        "c66ac9db8d4ad9994a02b3e933ea2ccc643e1fe5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 16:29:49 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 16:29:49 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-post-merge-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-post-merge-2.6:\n  [SCSI] target: Add LIO target core v4.0.0-rc6\n  [SCSI] sd,sr: kill compat SDEV_MEDIA_CHANGE event\n  [SCSI] sd: implement sd_check_events()\n"
    },
    {
      "commit": "3632ef8909118db9584e1bed9538dc180adb32f8",
      "tree": "033925e11aef3c700492b4da0a1332f710de1299",
      "parents": [
        "8473dbb43db92fa8de7c24d1973aaf1e0276a89f"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Sat Jan 15 09:27:00 2011 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 16:10:28 2011 -0800"
      },
      "message": "Revert \"drm: Update fbdev fb_fix_screeninfo\"\n\nThis reverts commit dfe63bb0ad9810db13aab0058caba97866e0a681.\n\nThis commit was causing nouveau not to work properly, for -rc1 I\u0027d\nprefer it worked and we can look if this is useful for 2.6.39.\n\nCc: James Simmons \u003cjsimmons@infradead.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab0724ffee24409a7f81afb539b2ac29090bff3e",
      "tree": "8d0611d921494af2477d517f4f8a331150bf328d",
      "parents": [
        "9a1fe2f27f71dd275caf2be5be2fa59bd2a3f8d4"
      ],
      "author": {
        "name": "Markus Trippelsdorf",
        "email": "markus@trippelsdorf.de",
        "time": "Sat Jan 15 00:07:22 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 15:23:25 2011 -0800"
      },
      "message": "PCI / ACPI: Fix build issue in pci_root.c for !CONFIG_PCIEPORTBUS\n\nThe compilation of drivers/acpi/pci_root.c fails if\nCONFIG_PCIEPORTBUS is unset.  Fix the problem.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ab82196492a0b6968a654a06aae923b28afef0d",
      "tree": "8affe1097bba194fe677d5399f47693dc0363dd8",
      "parents": [
        "6f7f7caab259026234277b659485d22c1dcb1ab4",
        "49731baa41df404c2c3f44555869ab387363af43"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:32:07 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:32:07 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: restore multiple bd_link_disk_holder() support\n  block cfq: compensate preempted queue even if it has no slice assigned\n  block cfq: make queue preempt work for queues from different workload\n"
    },
    {
      "commit": "d018b6f4f1539f3679fbdc2d02d58d09e76be84a",
      "tree": "317b9e04d8e7a73a4d07c69a5cb5455ec34f47e5",
      "parents": [
        "18bce371ae09af6c20ee62c1092a4d1d0e84dd49",
        "0f73f2c5a3ebb957ee66718c903c17ed71a4fc2e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:25:30 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:25:30 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)\n  GRETH: resolve SMP issues and other problems\n  GRETH: handle frame error interrupts\n  GRETH: avoid writing bad speed/duplex when setting transfer mode\n  GRETH: fixed skb buffer memory leak on frame errors\n  GRETH: GBit transmit descriptor handling optimization\n  GRETH: fix opening/closing\n  GRETH: added raw AMBA vendor/device number to match against.\n  cassini: Fix build bustage on x86.\n  e1000e: consistent use of Rx/Tx vs. RX/TX/rx/tx in comments/logs\n  e1000e: update Copyright for 2011\n  e1000: Avoid unhandled IRQ\n  r8169: keep firmware in memory.\n  netdev: tilepro: Use is_unicast_ether_addr helper\n  etherdevice.h: Add is_unicast_ether_addr function\n  ks8695net: Use default implementation of ethtool_ops::get_link\n  ks8695net: Disable non-working ethtool operations\n  USB CDC NCM: Don\u0027t deref NULL in cdc_ncm_rx_fixup() and don\u0027t use uninitialized variable.\n  vxge: Remember to release firmware after upgrading firmware\n  netdev: bfin_mac: Remove is_multicast_ether_addr use in netdev_for_each_mc_addr\n  ipsec: update MAX_AH_AUTH_LEN to support sha512\n  ...\n"
    },
    {
      "commit": "18bce371ae09af6c20ee62c1092a4d1d0e84dd49",
      "tree": "f3467fafd8e49392e3f6efef7b88a7b4dd3b7b06",
      "parents": [
        "ec08bdb148767f1193f5f3028749ed865ac27181",
        "a8f2800b4f7b76cecb7209cb6a7d2b14904fc711"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 13:17:26 2011 -0800"
      },
      "message": "Merge branch \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.38\u0027 of git://linux-nfs.org/~bfields/linux: (62 commits)\n  nfsd4: fix callback restarting\n  nfsd: break lease on unlink, link, and rename\n  nfsd4: break lease on nfsd setattr\n  nfsd: don\u0027t support msnfs export option\n  nfsd4: initialize cb_per_client\n  nfsd4: allow restarting callbacks\n  nfsd4: simplify nfsd4_cb_prepare\n  nfsd4: give out delegations more quickly in 4.1 case\n  nfsd4: add helper function to run callbacks\n  nfsd4: make sure sequence flags are set after destroy_session\n  nfsd4: re-probe callback on connection loss\n  nfsd4: set sequence flag when backchannel is down\n  nfsd4: keep finer-grained callback status\n  rpc: allow xprt_class-\u003esetup to return a preexisting xprt\n  rpc: keep backchannel xprt as long as server connection\n  rpc: move sk_bc_xprt to svc_xprt\n  nfsd4: allow backchannel recovery\n  nfsd4: support BIND_CONN_TO_SESSION\n  nfsd4: modify session list under cl_lock\n  Documentation: fl_mylease no longer exists\n  ...\n\nFix up conflicts in fs/nfsd/vfs.c with the vfs-scale work.  The\nvfs-scale work touched some msnfs cases, and this merge removes support\nfor that entirely, so the conflict was trivial to resolve.\n"
    },
    {
      "commit": "3e8b3b90fecedcf20d895c4e6ad01a379fe252bf",
      "tree": "44c94a9fc098303fbd47e0d10b40ec258e9f816f",
      "parents": [
        "f8fe80e4383bf5f542beb80bf2abe9fc1505c366"
      ],
      "author": {
        "name": "Hanno Boeck",
        "email": "hanno@hboeck.de",
        "time": "Fri Jan 14 19:14:47 2011 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Fri Jan 14 19:14:47 2011 +0100"
      },
      "message": "ALSA: constify functions in ac97\n\nSigned-off-by: Hanno Boeck \u003channo@hboeck.de\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "49731baa41df404c2c3f44555869ab387363af43",
      "tree": "5d3476368fa546aebb1c223e9cf1bab5ad80f698",
      "parents": [
        "c553f8e335c00a7cff3ab3f13e793b13d3f2207f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jan 14 18:43:57 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Jan 14 18:44:22 2011 +0100"
      },
      "message": "block: restore multiple bd_link_disk_holder() support\n\nCommit e09b457b (block: simplify holder symlink handling) incorrectly\nassumed that there is only one link at maximum.  dm may use multiple\nlinks and expects block layer to track reference count for each link,\nwhich is different from and unrelated to the exclusive device holder\nidentified by @holder when the device is opened.\n\nRemove the single holder assumption and automatic removal of the link\nand revive the per-link reference count tracking.  The code\nessentially behaves the same as before commit e09b457b sans the\nunnecessary kobject reference count dancing.\n\nWhile at it, note that this facility should not be used by anyone else\nthan the current ones.  Sysfs symlinks shouldn\u0027t be abused like this\nand the whole thing doesn\u0027t belong in the block layer at all.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Milan Broz \u003cmbroz@redhat.com\u003e\nCc: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: linux-raid@vger.kernel.org\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "d73b388459b1ee2e80f8ff9c1916d75640d7d920",
      "tree": "3e4061226f817c5728009f0bcc1d810d0c4a7b37",
      "parents": [
        "5957e33d6aec266659a71cfabcf7cf2c593ad0d2",
        "0f953bf6b4efa0daddb7c418130a9bd3ee97f7ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:29:05 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:29:05 2011 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI/PM: Report wakeup events before resuming devices\n  PCI/PM: Use pm_wakeup_event() directly for reporting wakeup events\n  PCI: sysfs: Update ROM to include default owner write access\n  x86/PCI: make Broadcom CNB20LE driver EMBEDDED and EXPERIMENTAL\n  x86/PCI: don\u0027t use native Broadcom CNB20LE driver when ACPI is available\n  PCI/ACPI: Request _OSC control once for each root bridge (v3)\n  PCI: enable pci\u003dbfsort by default on future Dell systems\n  PCI/PCIe: Clear Root PME Status bits early during system resume\n  PCI: pci-stub: ignore zero-length id parameters\n  x86/PCI: irq and pci_ids patch for Intel Patsburg\n  PCI: Skip id checking if no id is passed\n  PCI: fix __pci_device_probe kernel-doc warning\n  PCI: make pci_restore_state return void\n  PCI: Disable ASPM if BIOS asks us to\n  PCI: Add mask bit definition for MSI-X table\n  PCI: MSI: Move MSI-X entry definition to pci_regs.h\n\nFix up trivial conflicts in drivers/net/{skge.c,sky2.c} that had in the\nmeantime been converted to not use legacy PCI power management, and thus\nno longer use pci_restore_state() at all (and that caused trivial\nconflicts with the \"make pci_restore_state return void\" patch)\n"
    },
    {
      "commit": "5957e33d6aec266659a71cfabcf7cf2c593ad0d2",
      "tree": "6397dec8d71e4ed4f5982792c57d7c0ddb525d1e",
      "parents": [
        "0ad53eeefcbb2620b6a71ffdaad4add20b450b8b",
        "359ab9f5b154cbd807a11e22792235f0f36b0cd5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:25:59 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:25:59 2011 -0800"
      },
      "message": "Merge git://git.infradead.org/battery-2.6\n\n* git://git.infradead.org/battery-2.6: (21 commits)\n  power_supply: Add MAX17042 Fuel Gauge Driver\n  olpc_battery: Fix up XO-1.5 properties list\n  olpc_battery: Add support for CURRENT_NOW and VOLTAGE_NOW\n  olpc_battery: Add support for CHARGE_NOW\n  olpc_battery: Add support for CHARGE_FULL_DESIGN\n  olpc_battery: Ambient temperature is not available on XO-1.5\n  jz4740-battery: Should include linux/io.h\n  s3c_adc_battery: Add gpio_inverted field to pdata\n  power_supply: Don\u0027t use flush_scheduled_work()\n  power_supply: Fix use after free and memory leak\n  gpio-charger: Fix potential race between irq handler and probe/remove\n  gpio-charger: Provide default name for the power_supply\n  gpio-charger: Check result of kzalloc\n  jz4740-battery: Check if platform_data is supplied\n  isp1704_charger: Detect charger after probe\n  isp1704_charger: Set isp-\u003edev before anything needs it\n  isp1704_charger: Detect HUB/Host chargers\n  isp1704_charger: Correct length for storing model\n  power_supply: Add gpio charger driver\n  jz4740-battery: Protect against concurrent battery readings\n  ...\n"
    },
    {
      "commit": "acda4721ae876dedab3fef04bbd8020bfa67ff0a",
      "tree": "ec48d554fe48b3915912e2ae62bc962ade0553bd",
      "parents": [
        "822e5215f9eef86c1dd56d5696bf55a212b0e3f0",
        "32385c7cf60a78375b63afc4f02001df84dfd1a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:29 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:29 2011 -0800"
      },
      "message": "Merge branch \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin\n\n* \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin:\n  kernel: fix hlist_bl again\n  cgroups: Fix a lockdep warning at cgroup removal\n  fs: namei fix -\u003eput_link on wrong inode in do_filp_open\n"
    },
    {
      "commit": "822e5215f9eef86c1dd56d5696bf55a212b0e3f0",
      "tree": "661de9888a0edef872e7366df09831bf7a5bc067",
      "parents": [
        "c1e0d97d3d63d5173baf8c39a13dc5c25b031bd4",
        "92d50a4132977b932ed830fa58c05deeb5c524f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:00 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 09:08:00 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (59 commits)\n  mfd: ab8500-core chip version cut 2.0 support\n  mfd: Flag WM831x /IRQ as a wake source\n  mfd: Convert WM831x away from legacy I2C PM operations\n  regulator: Support MAX8998/LP3974 DVS-GPIO\n  mfd: Support LP3974 RTC\n  i2c: Convert SCx200 driver from using raw PCI to platform device\n  x86: OLPC: convert olpc-xo1 driver from pci device to platform device\n  mfd: MAX8998/LP3974 hibernation support\n  mfd/ab8500: remove spi support\n  mfd: Remove ARCH_U8500 dependency from AB8500\n  misc: Make AB8500_PWM driver depend on U8500 due to PWM breakage\n  mfd: Add __devexit annotation for vx855_remove\n  mfd: twl6030 irq_data conversion.\n  gpio: Fix cs5535 printk warnings\n  misc: Fix cs5535 printk warnings\n  mfd: Convert Wolfson MFD drivers to use irq_data accessor function\n  mfd: Convert TWL4030 to new irq_ APIs\n  mfd: Convert tps6586x driver to new irq_ API\n  mfd: Convert tc6393xb driver to new irq_ APIs\n  mfd: Convert t7166xb driver to new irq_ API\n  ...\n"
    },
    {
      "commit": "b6e335aeeb114dccb07eaa09e8b62ff9510cf745",
      "tree": "f4292a579e594b6c0312e9c34467649cb978aea5",
      "parents": [
        "ff29530e651a3449aea6b0ef4c7048db9e22ef27"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Dec 29 13:21:23 2010 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jan 14 08:55:43 2011 -0800"
      },
      "message": "PCI/PM: Use pm_wakeup_event() directly for reporting wakeup events\n\nAfter recent changes related to wakeup events pm_wakeup_event()\nautomatically checks if the given device is configured to signal wakeup,\nso pci_wakeup_event() may be a static inline function calling\npm_wakeup_event() directly.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "415e12b2379239973feab91850b0dce985c6058a",
      "tree": "aa79c7a87fd30ac13ae3fd146aad5a44e854c4bc",
      "parents": [
        "6e8af08dfa40b747002207d3ce8e8b43a050d99f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jan 07 00:55:09 2011 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jan 14 08:55:41 2011 -0800"
      },
      "message": "PCI/ACPI: Request _OSC control once for each root bridge (v3)\n\nMove the evaluation of acpi_pci_osc_control_set() (to request control of\nPCI Express native features) into acpi_pci_root_add() to avoid calling\nit many times for the same root complex with the same arguments.\nAdditionally, check if all of the requisite _OSC support bits are set\nbefore calling acpi_pci_osc_control_set() for a given root complex.\n\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d20232\nReported-by: Ozan Caglayan \u003cozan@pardus.org.tr\u003e\nTested-by: Ozan Caglayan \u003cozan@pardus.org.tr\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "c94fbe1d9e1e9b1a1f82eb0b53b1cf53bcf9712b",
      "tree": "0191c752be8ea739136106f6cca95df61cffc676",
      "parents": [
        "4ad9f594d7199c99f6b1b3ef88c64bd5920a4592"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jan 14 11:25:58 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 14 11:25:58 2011 -0500"
      },
      "message": "tracing: Only process module tracepoints once\n\nThe commit:\n\n 9f987b3141f086de27832514aad9f50a53f754\n tracing: Include module.h in define_trace.h\n\nonly solved half the problem. If the trace/events/module.h header is\nincluded at the time of define_trace.h (or in ftrace.h within it),\nthe module.h TRACE_SYSTEM will override the current TRACE_SYSTEM\nmacro.\n\nSince define_trace.h is included when CREATE_TRACE_POINTS is set,\nand the first thing it does is to #undef CREATE_TRACE_POINTS,\nby placing the module.h TRACE_SYSTEM inside a\n #ifdef CREATE_TRACE_POINTS\nwe can prevent it from overriding the TRACE_SYSTEM that is\nbeing processed, and still process the module.h tracepoints\nwhen the module code defines CREATE_TRACE_POINTS and includes\nthe trace/events/module.h header.\n\nAs with commit 9f987b3141, this is only an issue if module.h\nis not included before the trace/events/\u003cevent\u003e.h file is\nincluded, which (luckily) has not happened yet.\n\nReported-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c66ac9db8d4ad9994a02b3e933ea2ccc643e1fe5",
      "tree": "71c6344688bf56ea6aaf18c586ab69ff4f077ade",
      "parents": [
        "f4013c3879d1bbd9f3ab8351185decd049502368"
      ],
      "author": {
        "name": "Nicholas Bellinger",
        "email": "nab@linux-iscsi.org",
        "time": "Fri Dec 17 11:11:26 2010 -0800"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Jan 14 10:12:29 2011 -0600"
      },
      "message": "[SCSI] target: Add LIO target core v4.0.0-rc6\n\nLIO target is a full featured in-kernel target framework with the\nfollowing feature set:\n\nHigh-performance, non-blocking, multithreaded architecture with SIMD\nsupport.\n\nAdvanced SCSI feature set:\n\n    * Persistent Reservations (PRs)\n    * Asymmetric Logical Unit Assignment (ALUA)\n    * Protocol and intra-nexus multiplexing, load-balancing and failover (MC/S)\n    * Full Error Recovery (ERL\u003d0,1,2)\n    * Active/active task migration and session continuation (ERL\u003d2)\n    * Thin LUN provisioning (UNMAP and WRITE_SAMExx)\n\nMultiprotocol target plugins\n\nStorage media independence:\n\n    * Virtualization of all storage media; transparent mapping of IO to LUNs\n    * No hard limits on number of LUNs per Target; maximum LUN size ~750 TB\n    * Backstores: SATA, SAS, SCSI, BluRay, DVD, FLASH, USB, ramdisk, etc.\n\nStandards compliance:\n\n    * Full compliance with IETF (RFC 3720)\n    * Full implementation of SPC-4 PRs and ALUA\n\nSignificant code cleanups done by Christoph Hellwig.\n\n[jejb: fix up for new block bdev exclusive interface. Minor fixes from\n Randy Dunlap and Dan Carpenter.]\nSigned-off-by: Nicholas A. Bellinger \u003cnab@linux-iscsi.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "323b7fe8f8f6d5ac6214382cf30e8b3a80b265c9",
      "tree": "537e4b8a2c528f8bd2a71f954e01b71e26ff231c",
      "parents": [
        "836cb711ad7960e52625b24195d6e70b79ab0816"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Fri Jan 14 09:34:29 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 08:06:39 2011 -0800"
      },
      "message": "include/gpio.h: remove remaining __must_check-annotiations\n\nCommit 5f829e405ec4e96f711165a4a7b55c271d4363e2 (gpiolib: add missing functions\nto generic fallback) also introduced two.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "836cb711ad7960e52625b24195d6e70b79ab0816",
      "tree": "b2e9d2060c24f7c68bc82c8e6add25180fe8eaca",
      "parents": [
        "11ff26c884ec957bed87b49e3a38908f37d0d3e4"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa@bluextal.(none)",
        "time": "Fri Jan 14 14:56:53 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 14 07:52:02 2011 -0800"
      },
      "message": "Revert update for dirty_ratio for memcg.\n\nThe flags added by commit db16d5ec1f87f17511599bc77857dd1662b5a22f\nhas no user now. We believe we\u0027ll use it soon but considering\npatch reviewing, the change itself should be folded into incoming\nset of \"dirty ratio for memcg\" patches.\n\nSo, it\u0027s better to drop this change from current mainline tree.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Greg Thelen \u003cgthelen@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "359ab9f5b154cbd807a11e22792235f0f36b0cd5",
      "tree": "3500652809c242b75deb5139ded7052c389e0bb4",
      "parents": [
        "bf542a4e7b634c2adcba4241a29082f69b0f45dc"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Fri Jan 14 14:46:11 2011 +0900"
      },
      "committer": {
        "name": "Anton Vorontsov",
        "email": "cbouatmailru@gmail.com",
        "time": "Fri Jan 14 18:11:59 2011 +0300"
      },
      "message": "power_supply: Add MAX17042 Fuel Gauge Driver\n\nThe MAX17042 is a fuel gauge with an I2C interface for lithium-ion\nbetteries. Unlike its predecessor MAX17040, MAX17042 uses 16bit\nregisters. Besides, MAX17042 has much more features than MAX17040; e.g.,\na thermistor, current and current accumulation measurement, battery\ninternal resistance estimate, average values of measurement, and others.\n\nThis patch implements a driver for MAX17042.\nIn this initial release, we have implemented the most basic features of\na fuel gauge: measure the battery capacity and voltage.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Anton Vorontsov \u003ccbouatmailru@gmail.com\u003e\n"
    },
    {
      "commit": "32385c7cf60a78375b63afc4f02001df84dfd1a0",
      "tree": "6419ac3c77cb38bac389e5efc59928e01780a2ae",
      "parents": [
        "3ec762ad8be364c2fadfe0d6b2cc6d4d3b5e1b54"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Fri Jan 14 13:12:45 2011 +0000"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 14 13:12:45 2011 +0000"
      },
      "message": "kernel: fix hlist_bl again\n\n__d_rehash is dereferencing an almost-NULL pointer on my ARM926.\nCONFIG_SMP\u003dn and CONFIG_DEBUG_SPINLOCK\u003dy.\n\nThe faulting instruction is:    strne   r3, [r2, #4]\nand as can be seen from the register dump below, r2 is 0x00000001, hence\nthe faulting 0x00000005 address.\n\n__d_rehash is essentially:\n\n       spin_lock_bucket(b);\n       entry-\u003ed_flags \u0026\u003d ~DCACHE_UNHASHED;\n       hlist_bl_add_head_rcu(\u0026entry-\u003ed_hash, \u0026b-\u003ehead);\n       spin_unlock_bucket(b);\n\nwhich is:\n\n       bit_spin_lock(0, (unsigned long *)\u0026b-\u003ehead.first);\n       entry-\u003ed_flags \u0026\u003d ~DCACHE_UNHASHED;\n       hlist_bl_add_head_rcu(\u0026entry-\u003ed_hash, \u0026b-\u003ehead);\n       __bit_spin_unlock(0, (unsigned long *)\u0026b-\u003ehead.first);\n\nbit_spin_lock(0, ptr) sets bit 0 of *ptr, in this case b-\u003ehead.first if\nCONFIG_SMP or CONFIG_DEBUG_SPINLOCK is set:\n\n#if defined(CONFIG_SMP) || defined(CONFIG_DEBUG_SPINLOCK)\n       while (unlikely(test_and_set_bit_lock(bitnum, addr))) {\n               while (test_bit(bitnum, addr)) {\n                       preempt_enable();\n                       cpu_relax();\n                       preempt_disable();\n               }\n       }\n#endif\n\nSo, b-\u003ehead.first starts off NULL, and becomes a non-NULL (address 1).\nhlist_bl_add_head_rcu() does this:\n\nstatic inline void hlist_bl_add_head_rcu(struct hlist_bl_node *n,\n                                       struct hlist_bl_head *h)\n{\n       first \u003d hlist_bl_first(h);\n       n-\u003enext \u003d first;\n       if (first)\n               first-\u003epprev \u003d \u0026n-\u003enext;\n\nIt is the store to first-\u003epprev which is faulting.\n\nhlist_bl_first():\n\nstatic inline struct hlist_bl_node *hlist_bl_first(struct hlist_bl_head *h)\n{\n       return (struct hlist_bl_node *)\n               ((unsigned long)h-\u003efirst \u0026 ~LIST_BL_LOCKMASK);\n}\n\nbut:\n#if defined(CONFIG_SMP)\n#define LIST_BL_LOCKMASK        1UL\n#else\n#define LIST_BL_LOCKMASK        0UL\n#endif\n\nSo, we have one piece of code which sets bit 0 of addresses, and another\nbit of code which doesn\u0027t clear it before dereferencing the pointer if\n!CONFIG_SMP \u0026\u0026 CONFIG_DEBUG_SPINLOCK.  With the patch below, I can again\nsucessfully boot the kernel on my Versatile PB/926 platform.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "92d50a4132977b932ed830fa58c05deeb5c524f0",
      "tree": "1ee4ca4b6126861e30d5ac79ad61b0884b4d8627",
      "parents": [
        "180e4f5f20ef2b03ce2b38634274dde5ccbd8951"
      ],
      "author": {
        "name": "Mattias Wallin",
        "email": "mattias.wallin@stericsson.com",
        "time": "Tue Dec 07 11:20:47 2010 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:38:18 2011 +0100"
      },
      "message": "mfd: ab8500-core chip version cut 2.0 support\n\nThis patch adds support for chip version 2.0 or cut 2.0.\nOne new interrupt latch register - latch 12 - is introduced.\n\nSigned-off-by: Mattias Wallin \u003cmattias.wallin@stericsson.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "735a3d9efdc5aeebe201008e6655b235c7f02aeb",
      "tree": "a1083cec498505b1dbd28dd09a73d477965d2d61",
      "parents": [
        "337ce5d1c5759644cea6c47220ce7e84f0398362"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Tue Jan 11 12:20:05 2011 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:38:16 2011 +0100"
      },
      "message": "regulator: Support MAX8998/LP3974 DVS-GPIO\n\nThe previous driver did not support BUCK1-DVS3, BUCK1-DVS4, and\nBUCK2-DVS2 modes. This patch adds such modes and an option to block\nsetting buck1/2 voltages out of the preset values.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "337ce5d1c5759644cea6c47220ce7e84f0398362",
      "tree": "0436dbc242425226202476d6181fa6ae89e3a206",
      "parents": [
        "de8255ccd219267cfd34139022b197c1ef8f032f"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Tue Jan 04 14:17:39 2011 +0900"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:38:16 2011 +0100"
      },
      "message": "mfd: Support LP3974 RTC\n\nThe first releases of LP3974 have a large delay in RTC registers,\nwhich requires 2 seconds of delay after writing to a rtc register\n(recommended by National Semiconductor\u0027s engineers)\nbefore reading it.\n\nIf \"rtc_delay\" field of the platform data is true, the rtc driver\nassumes that such delays are required. Although we have not seen\nLP3974s without requiring such delays, we assume that such LP3974s\nwill be released soon (or they have done so already) and they are\nsupported by \"lp3974\" without setting \"rtc_delay\" at the platform\ndata.\n\nThis patch adds delays with msleep when writing values to RTC registers\nif the platform data has rtc_delay set.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nReviewed-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "cdd137c9c86c201ddb7f42ec978d2da45e7b7a17",
      "tree": "1fe9850f283a3952b139d2fc113759fbb4fed88c",
      "parents": [
        "6680d940b80dbb0617226c5b76b071a3977feb1c"
      ],
      "author": {
        "name": "MyungJoo Ham",
        "email": "myungjoo.ham@samsung.com",
        "time": "Thu Dec 23 17:53:36 2010 +0900"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:38:14 2011 +0100"
      },
      "message": "mfd: MAX8998/LP3974 hibernation support\n\nThis patch makes the driver to save and restore register values\nfor hibernation.\n\nSigned-off-by: MyungJoo Ham \u003cmyungjoo.ham@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "e098aded79f24e2024139e82f778ff9db6dc142a",
      "tree": "9a8e55da30e25ddf10f1476dfc4c4c9467efe800",
      "parents": [
        "4f079985b2caacfda5103dd85fb028a2848c84ab"
      ],
      "author": {
        "name": "Mattias Wallin",
        "email": "mattias.wallin@stericsson.com",
        "time": "Thu Dec 02 15:40:31 2010 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:37:47 2011 +0100"
      },
      "message": "mfd: ab8500-core ioresources irq for subdrivers added\n\nThis patch adds the ioresources used by subdrivers to\nretrieve their interrupt.\n\nSigned-off-by: Mattias Wallin \u003cmattias.wallin@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "4c90aa94f6b3e33f57faaf19ef9819195dff61d3",
      "tree": "14eea47a6ca27e03d16514fe397a1cd9fbf4a901",
      "parents": [
        "d7b9f3220fd97522559316cdd72778f42ac4de04"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Nov 26 17:19:34 2010 +0000"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:37:42 2011 +0100"
      },
      "message": "mfd: Provide pm_runtime_no_callbacks flag in cell data\n\nAllow MFD cells to have pm_runtime_no_callbacks() called on them during\nregistration. This causes the runtime PM framework to ignore them,\nallowing use of runtime PM to suspend the device as a whole even if\nnot all drivers for the MFD can usefully implement runtime PM. For\nexample, RTCs are likely to run continuously regardless of the power\nstate of the system.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "412dc11d3fd01f96fdf4a8cbfbc5584a17dab7c8",
      "tree": "8550bcb089afaa1529973ce951c763697e39b312",
      "parents": [
        "798e6e321f807c46d81be1572118e031577ea9ab"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 24 18:01:41 2010 +0000"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Fri Jan 14 12:37:39 2011 +0100"
      },
      "message": "mfd: Add WM8326 support\n\nThe WM8326 is a high performance variant of the WM832x series with\nno software visible differences.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "51e7eed79c41180919ff94942895ba38467d9ad4",
      "tree": "7779a12f1a54d0d205c0ceec14cc2c59ba581c3d",
      "parents": [
        "5cd8a77df3e9916069787365a32918caa371fc16"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Wed Jan 12 22:14:56 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 13 21:49:56 2011 -0800"
      },
      "message": "etherdevice.h: Add is_unicast_ether_addr function\n\nFrom a check for !is_multicast_ether_addr it is not always obvious that\nwe\u0027re checking for a unicast address. So add this helper function to\nmake those code paths easier to read.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nAcked-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78d07369462e9feeaa5db301b0aa70e9dcb40b48",
      "tree": "8756347993a87a302df4f731ab59dc97ca3a5720",
      "parents": [
        "1ac9ad1394fa542ac7ae0dc943ee3cda678799fa"
      ],
      "author": {
        "name": "Nicolas Dichtel",
        "email": "nicolas.dichtel@6wind.com",
        "time": "Thu Jan 13 11:51:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 13 21:48:25 2011 -0800"
      },
      "message": "ipsec: update MAX_AH_AUTH_LEN to support sha512\n\nicv_truncbits is set to 256 for sha512, so update\nMAX_AH_AUTH_LEN to 64.\n\nSigned-off-by: Nicolas Dichtel \u003cnicolas.dichtel@6wind.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ac9ad1394fa542ac7ae0dc943ee3cda678799fa",
      "tree": "d846be421ed68f4fc612ae7c061783dab73d5fa2",
      "parents": [
        "1949e084bfd143c76e22c0b37f370d6e7bf4bfdd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jan 12 12:13:14 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 13 21:44:34 2011 -0800"
      },
      "message": "net: remove dev_txq_stats_fold()\n\nAfter recent changes, (percpu stats on vlan/tunnels...), we dont need\nanymore per struct netdev_queue tx_bytes/tx_packets/tx_dropped counters.\n\nOnly remaining users are ixgbe, sch_teql, gianfar \u0026 macvlan :\n\n1) ixgbe can be converted to use existing tx_ring counters.\n\n2) macvlan incremented txq-\u003etx_dropped, it can use the\ndev-\u003estats.tx_dropped counter.\n\n3) sch_teql : almost revert ab35cd4b8f42 (Use net_device internal stats)\n    Now we have ndo_get_stats64(), use it, even for \"unsigned long\"\nfields (No need to bring back a struct net_device_stats)\n\n4) gianfar adds a stats structure per tx queue to hold\ntx_bytes/tx_packets\n\nThis removes a lockdep warning (and possible lockup) in rndis gadget,\ncalling dev_get_stats() from hard IRQ context.\n\nRef: http://www.spinics.net/lists/netdev/msg149202.html\n\nReported-by: Neil Jones \u003cneiljay@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nCC: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nCC: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nCC: Sandeep Gopalpet \u003csandeep.kumar@freescale.com\u003e\nCC: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52cfd503ad7176d23a5dd7af3981744feb60622f",
      "tree": "0a8aeaaf4acbc86ac682f18632b8070c1c6b7ba1",
      "parents": [
        "dc8e7e3ec60bd5ef7868aa88755e9d4c948dc5cc",
        "4263d9a3ae4d15785897d0543bb59316c84ee605"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:35 2011 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (59 commits)\n  ACPI / PM: Fix build problems for !CONFIG_ACPI related to NVS rework\n  ACPI: fix resource check message\n  ACPI / Battery: Update information on info notification and resume\n  ACPI: Drop device flag wake_capable\n  ACPI: Always check if _PRW is present before trying to evaluate it\n  ACPI / PM: Check status of power resources under mutexes\n  ACPI / PM: Rename acpi_power_off_device()\n  ACPI / PM: Drop acpi_power_nocheck\n  ACPI / PM: Drop acpi_bus_get_power()\n  Platform / x86: Make fujitsu_laptop use acpi_bus_update_power()\n  ACPI / Fan: Rework the handling of power resources\n  ACPI / PM: Register power resource devices as soon as they are needed\n  ACPI / PM: Register acpi_power_driver early\n  ACPI / PM: Add function for updating device power state consistently\n  ACPI / PM: Add function for device power state initialization\n  ACPI / PM: Introduce __acpi_bus_get_power()\n  ACPI / PM: Introduce function for refcounting device power resources\n  ACPI / PM: Add functions for manipulating lists of power resources\n  ACPI / PM: Prevent acpi_power_get_inferred_state() from making changes\n  ACPICA: Update version to 20101209\n  ...\n"
    },
    {
      "commit": "dc8e7e3ec60bd5ef7868aa88755e9d4c948dc5cc",
      "tree": "df6b7002b3672dcd269a5bc1473413f50a12df29",
      "parents": [
        "2c79c69adc6205fd115e4b1980c979e1e0e1828a",
        "43952886f0b8b3c344c3392b88de067d5fa5419a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:18 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:15:18 2011 -0800"
      },
      "message": "Merge branch \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6\n\n* \u0027idle-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:\n  cpuidle/x86/perf: fix power:cpu_idle double end events and throw cpu_idle events from the cpuidle layer\n  intel_idle: open broadcast clock event\n  cpuidle: CPUIDLE_FLAG_CHECK_BM is omap3_idle specific\n  cpuidle: CPUIDLE_FLAG_TLB_FLUSHED is specific to intel_idle\n  cpuidle: delete unused CPUIDLE_FLAG_SHALLOW, BALANCED, DEEP definitions\n  SH, cpuidle: delete use of NOP CPUIDLE_FLAGS_SHALLOW\n  cpuidle: delete NOP CPUIDLE_FLAG_POLL\n  ACPI: processor_idle: delete use of NOP CPUIDLE_FLAGs\n  cpuidle: Rename X86 specific idle poll state[0] from C0 to POLL\n  ACPI, intel_idle: Cleanup idle\u003d internal variables\n  cpuidle: Make cpuidle_enable_device() call poll_idle_init()\n  intel_idle: update Sandy Bridge core C-state residency targets\n"
    },
    {
      "commit": "db9effe99adc67c53e6aedadadd2aa9a02342e48",
      "tree": "efe7ebfe951972568189ef2548130f0abd515210",
      "parents": [
        "9c4bc1c2befbbdce4b9fd526e67a7a2ea143ffa2",
        "f20877d94a74557b7c28b4ed8920d834c31e0ea5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:14:13 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 20:14:13 2011 -0800"
      },
      "message": "Merge branch \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin\n\n* \u0027vfs-scale-working\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/npiggin/linux-npiggin:\n  fs: fix do_last error case when need_reval_dot\n  nfs: add missing rcu-walk check\n  fs: hlist UP debug fixup\n  fs: fix dropping of rcu-walk from force_reval_path\n  fs: force_reval_path drop rcu-walk before d_invalidate\n  fs: small rcu-walk documentation fixes\n\nFixed up trivial conflicts in Documentation/filesystems/porting\n"
    },
    {
      "commit": "9c4bc1c2befbbdce4b9fd526e67a7a2ea143ffa2",
      "tree": "1b08c1bb00ce477ca947461777cd7e24de72c148",
      "parents": [
        "2c0076d8c7eb1dafa03d0a792444862080b34106",
        "e1b478e4ec4477520767d1a920433626263a2a6b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 18:46:48 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 18:46:48 2011 -0800"
      },
      "message": "Merge branch \u0027stable/gntdev\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\n* \u0027stable/gntdev\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/p2m: Fix module linking error.\n  xen p2m: clear the old pte when adding a page to m2p_override\n  xen gntdev: use gnttab_map_refs and gnttab_unmap_refs\n  xen: introduce gnttab_map_refs and gnttab_unmap_refs\n  xen p2m: transparently change the p2m mappings in the m2p override\n  xen/gntdev: Fix circular locking dependency\n  xen/gntdev: stop using \"token\" argument\n  xen: gntdev: move use of GNTMAP_contains_pte next to the map_op\n  xen: add m2p override mechanism\n  xen: move p2m handling to separate file\n  xen/gntdev: add VM_PFNMAP to vma\n  xen/gntdev: allow usermode to map granted pages\n  xen: define gnttab_set_map_op/unmap_op\n\nFix up trivial conflict in drivers/xen/Kconfig\n"
    },
    {
      "commit": "2c6755988afc003a0332406a134fb6a1626f9b28",
      "tree": "84eea829cab7b28585000f6fd7fe0dc176b746c5",
      "parents": [
        "90dbb77ba48dddb87445d238e84cd137cf97dd98"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 14 02:36:43 2011 +0000"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@hera.kernel.org",
        "time": "Fri Jan 14 02:36:43 2011 +0000"
      },
      "message": "fs: hlist UP debug fixup\n\nPo-Yu Chuang \u003cratbert.chuang@gmail.com\u003e noticed that hlist_bl_set_first could\ncrash on a UP system when LIST_BL_LOCKMASK is 0, because\n\n\tLIST_BL_BUG_ON(!((unsigned long)h-\u003efirst \u0026 LIST_BL_LOCKMASK));\n\nalways evaulates to true.\n\nFix the expression, and also avoid a dependency between bit spinlock\nimplementation and list bl code (list code shouldn\u0027t know anything\nexcept that bit 0 is set when adding and removing elements). Eventually\nif a good use case comes up, we might use this list to store 1 or more\narbitrary bits of data, so it really shouldn\u0027t be tied to locking either,\nbut for now they are helpful for debugging.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "9ce137eee4febaabca81143be07d4205d2bd52d4",
      "tree": "e52e5225e1d113164382bf85bca83a2c0330d64e",
      "parents": [
        "9ee1ba5402e9d35fb35f8e61c968f4987b5fb443"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Jan 11 14:07:12 2011 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Jan 13 21:04:07 2011 -0500"
      },
      "message": "nfsd: don\u0027t support msnfs export option\n\nWe\u0027ve long had these pointless #ifdef MSNFS\u0027s sprinkled throughout the\ncode--pointless because MSNFS is always defined (and we give no config\noption to make that easy to change).  So we could just remove the\nifdef\u0027s and compile the resulting code unconditionally.\n\nBut as long as we\u0027re there: why not just rip out this code entirely?\nThe only purpose is to implement the \"msnfs\" export option which turns\non Windows-like behavior in some cases, and:\n\n\t- the export option isn\u0027t documented anywhere;\n\t- the userland utilities (which would need to be able to parse\n\t  \"msnfs\" in an export file) don\u0027t support it;\n\t- I don\u0027t know how to maintain this, as I don\u0027t know what the\n\t  proper behavior is; and\n\t- google shows no evidence that anyone has ever used this.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "50de1dd967d4ba3b8a90ebe7a4f5feca24191317",
      "tree": "ed2aa4352ae3c2887a90ef6279588a7048397d1b",
      "parents": [
        "17295c88a160c6eea3fcf46cec9d08a0fcb02db9"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Thu Jan 13 15:47:43 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:51 2011 -0800"
      },
      "message": "memcg: fix memory migration of shmem swapcache\n\nIn the current implementation mem_cgroup_end_migration() decides whether\nthe page migration has succeeded or not by checking \"oldpage-\u003emapping\".\n\nBut if we are tring to migrate a shmem swapcache, the page-\u003emapping of it\nis NULL from the begining, so the check would be invalid.  As a result,\nmem_cgroup_end_migration() assumes the migration has succeeded even if\nit\u0027s not, so \"newpage\" would be freed while it\u0027s not uncharged.\n\nThis patch fixes it by passing mem_cgroup_end_migration() the result of\nthe page migration.\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nReviewed-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dbd4ea78f002df283c95d9774837041735fa1bf9",
      "tree": "e709c6c5c026b1c230bb87ddcfe8415aaf255820",
      "parents": [
        "2a7106f2cb0768d00fe8c1eb42a754a7d8518f08"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Thu Jan 13 15:47:38 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:50 2011 -0800"
      },
      "message": "memcg: add lock to synchronize page accounting and migration\n\nIntroduce a new bit spin lock, PCG_MOVE_LOCK, to synchronize the page\naccounting and migration code.  This reworks the locking scheme of\n_update_stat() and _move_account() by adding new lock bit PCG_MOVE_LOCK,\nwhich is always taken under IRQ disable.\n\n1. If pages are being migrated from a memcg, then updates to that\n   memcg page statistics are protected by grabbing PCG_MOVE_LOCK using\n   move_lock_page_cgroup().  In an upcoming commit, memcg dirty page\n   accounting will be updating memcg page accounting (specifically: num\n   writeback pages) from IRQ context (softirq).  Avoid a deadlocking\n   nested spin lock attempt by disabling irq on the local processor when\n   grabbing the PCG_MOVE_LOCK.\n\n2. lock for update_page_stat is used only for avoiding race with\n   move_account().  So, IRQ awareness of lock_page_cgroup() itself is not\n   a problem.  The problem is between mem_cgroup_update_page_stat() and\n   mem_cgroup_move_account_page().\n\nTrade-off:\n  * Changing lock_page_cgroup() to always disable IRQ (or\n    local_bh) has some impacts on performance and I think\n    it\u0027s bad to disable IRQ when it\u0027s not necessary.\n  * adding a new lock makes move_account() slower.  Score is\n    here.\n\nPerformance Impact: moving a 8G anon process.\n\nBefore:\n\treal    0m0.792s\n\tuser    0m0.000s\n\tsys     0m0.780s\n\nAfter:\n\treal    0m0.854s\n\tuser    0m0.000s\n\tsys     0m0.842s\n\nThis score is bad but planned patches for optimization can reduce\nthis impact.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Greg Thelen \u003cgthelen@google.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Andrea Righi \u003carighi@develer.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a7106f2cb0768d00fe8c1eb42a754a7d8518f08",
      "tree": "730bef06e752c1edcb2d475fd193f94bea00bf6a",
      "parents": [
        "ece72400c2a27a3d726cb0854449f991d9fcd2da"
      ],
      "author": {
        "name": "Greg Thelen",
        "email": "gthelen@google.com",
        "time": "Thu Jan 13 15:47:37 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:50 2011 -0800"
      },
      "message": "memcg: create extensible page stat update routines\n\nReplace usage of the mem_cgroup_update_file_mapped() memcg\nstatistic update routine with two new routines:\n* mem_cgroup_inc_page_stat()\n* mem_cgroup_dec_page_stat()\n\nAs before, only the file_mapped statistic is managed.  However, these more\ngeneral interfaces allow for new statistics to be more easily added.  New\nstatistics are added with memcg dirty page accounting.\n\nSigned-off-by: Greg Thelen \u003cgthelen@google.com\u003e\nSigned-off-by: Andrea Righi \u003carighi@develer.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db16d5ec1f87f17511599bc77857dd1662b5a22f",
      "tree": "e9bfa9addc71f08f60c98874aa695daec4ac6537",
      "parents": [
        "744ed1442757767ffede5008bb13e0805085902e"
      ],
      "author": {
        "name": "Greg Thelen",
        "email": "gthelen@google.com",
        "time": "Thu Jan 13 15:47:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:50 2011 -0800"
      },
      "message": "memcg: add page_cgroup flags for dirty page tracking\n\nThis patchset provides the ability for each cgroup to have independent\ndirty page limits.\n\nLimiting dirty memory is like fixing the max amount of dirty (hard to\nreclaim) page cache used by a cgroup.  So, in case of multiple cgroup\nwriters, they will not be able to consume more than their designated share\nof dirty pages and will be forced to perform write-out if they cross that\nlimit.\n\nThe patches are based on a series proposed by Andrea Righi in Mar 2010.\n\nOverview:\n\n- Add page_cgroup flags to record when pages are dirty, in writeback, or nfs\n  unstable.\n\n- Extend mem_cgroup to record the total number of pages in each of the\n  interesting dirty states (dirty, writeback, unstable_nfs).\n\n- Add dirty parameters similar to the system-wide  /proc/sys/vm/dirty_*\n  limits to mem_cgroup.  The mem_cgroup dirty parameters are accessible\n  via cgroupfs control files.\n\n- Consider both system and per-memcg dirty limits in page writeback when\n  deciding to queue background writeback or block for foreground writeback.\n\nKnown shortcomings:\n\n- When a cgroup dirty limit is exceeded, then bdi writeback is employed to\n  writeback dirty inodes.  Bdi writeback considers inodes from any cgroup, not\n  just inodes contributing dirty pages to the cgroup exceeding its limit.\n\n- When memory.use_hierarchy is set, then dirty limits are disabled.  This is a\n  implementation detail.  An enhanced implementation is needed to check the\n  chain of parents to ensure that no dirty limit is exceeded.\n\nPerformance data:\n- A page fault microbenchmark workload was used to measure performance, which\n  can be called in read or write mode:\n        f \u003d open(foo. $cpu)\n        truncate(f, 4096)\n        alarm(60)\n        while (1) {\n                p \u003d mmap(f, 4096)\n                if (write)\n\t\t\t*p \u003d 1\n\t\telse\n\t\t\tx \u003d *p\n                munmap(p)\n        }\n\n- The workload was called for several points in the patch series in different\n  modes:\n  - s_read is a single threaded reader\n  - s_write is a single threaded writer\n  - p_read is a 16 thread reader, each operating on a different file\n  - p_write is a 16 thread writer, each operating on a different file\n\n- Measurements were collected on a 16 core non-numa system using \"perf stat\n  --repeat 3\".  The -a option was used for parallel (p_*) runs.\n\n- All numbers are page fault rate (M/sec).  Higher is better.\n\n- To compare the performance of a kernel without non-memcg compare the first and\n  last rows, neither has memcg configured.  The first row does not include any\n  of these memcg patches.\n\n- To compare the performance of using memcg dirty limits, compare the baseline\n  (2nd row titled \"w/ memcg\") with the the code and memcg enabled (2nd to last\n  row titled \"all patches\").\n\n                           root_cgroup                    child_cgroup\n                 s_read s_write p_read p_write   s_read s_write p_read p_write\nmmotm w/o memcg   0.428  0.390   0.429  0.388\nmmotm w/ memcg    0.411  0.378   0.391  0.362     0.412  0.377   0.385  0.363\nall patches       0.384  0.360   0.370  0.348     0.381  0.363   0.368  0.347\nall patches       0.431  0.402   0.427  0.395\n  w/o memcg\n\nThis patch:\n\nAdd additional flags to page_cgroup to track dirty pages within a\nmem_cgroup.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrea Righi \u003carighi@develer.com\u003e\nSigned-off-by: Greg Thelen \u003cgthelen@google.com\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29c1f677d424e8c5683a837fc4f03fc9f19201d7",
      "tree": "97f257ab279cc000e02a1a58fa0869fb405f26cd",
      "parents": [
        "22e5c47ee238abe636655c3862ed28d6eb084ad4"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Thu Jan 13 15:47:21 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:48 2011 -0800"
      },
      "message": "mm: migration: use rcu_dereference_protected when dereferencing the radix tree slot during file page migration\n\nmigrate_pages() -\u003e unmap_and_move() only calls rcu_read_lock() for\nanonymous pages, as introduced by git commit\n989f89c57e6361e7d16fbd9572b5da7d313b073d (\"fix rcu_read_lock() in page\nmigraton\").  The point of the RCU protection there is part of getting a\nstable reference to anon_vma and is only held for anon pages as file pages\nare locked which is sufficient protection against freeing.\n\nHowever, while a file page\u0027s mapping is being migrated, the radix tree is\ndouble checked to ensure it is the expected page.  This uses\nradix_tree_deref_slot() -\u003e rcu_dereference() without the RCU lock held\ntriggering the following warning.\n\n[  173.674290] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  173.676016] [ INFO: suspicious rcu_dereference_check() usage. ]\n[  173.676016] ---------------------------------------------------\n[  173.676016] include/linux/radix-tree.h:145 invoked rcu_dereference_check() without protection!\n[  173.676016]\n[  173.676016] other info that might help us debug this:\n[  173.676016]\n[  173.676016]\n[  173.676016] rcu_scheduler_active \u003d 1, debug_locks \u003d 0\n[  173.676016] 1 lock held by hugeadm/2899:\n[  173.676016]  #0:  (\u0026(\u0026inode-\u003ei_data.tree_lock)-\u003erlock){..-.-.}, at: [\u003cc10e3d2b\u003e] migrate_page_move_mapping+0x40/0x1ab\n[  173.676016]\n[  173.676016] stack backtrace:\n[  173.676016] Pid: 2899, comm: hugeadm Not tainted 2.6.37-rc5-autobuild\n[  173.676016] Call Trace:\n[  173.676016]  [\u003cc128cc01\u003e] ? printk+0x14/0x1b\n[  173.676016]  [\u003cc1063502\u003e] lockdep_rcu_dereference+0x7d/0x86\n[  173.676016]  [\u003cc10e3db5\u003e] migrate_page_move_mapping+0xca/0x1ab\n[  173.676016]  [\u003cc10e41ad\u003e] migrate_page+0x23/0x39\n[  173.676016]  [\u003cc10e491b\u003e] buffer_migrate_page+0x22/0x107\n[  173.676016]  [\u003cc10e48f9\u003e] ? buffer_migrate_page+0x0/0x107\n[  173.676016]  [\u003cc10e425d\u003e] move_to_new_page+0x9a/0x1ae\n[  173.676016]  [\u003cc10e47e6\u003e] migrate_pages+0x1e7/0x2fa\n\nThis patch introduces radix_tree_deref_slot_protected() which calls\nrcu_dereference_protected().  Users of it must pass in the\nmapping-\u003etree_lock that is protecting this dereference.  Holding the tree\nlock protects against parallel updaters of the radix tree meaning that\nrcu_dereference_protected is allowable.\n\n[akpm@linux-foundation.org: remove unneeded casts]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.37.early]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22e5c47ee238abe636655c3862ed28d6eb084ad4",
      "tree": "4a4e7d330cbef6c99a8914de482eb0e8daba2485",
      "parents": [
        "29ad768cfc08611a4c1070d0f13f82eeea2bac7b"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:47:20 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:48 2011 -0800"
      },
      "message": "thp: add compound_trans_head() helper\n\nCleanup some code with common compound_trans_head helper.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Johannes Weiner \u003cjweiner@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60ab3244ec85c44276c585a2a20d3750402e1cf4",
      "tree": "e69e866b370243fc58a6fc721e5347a265e8fd4f",
      "parents": [
        "a664b2d8555c659127bf8fe049a58449d394a707"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:47:18 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:47 2011 -0800"
      },
      "message": "thp: khugepaged: make khugepaged aware about madvise\n\nMADV_HUGEPAGE and MADV_NOHUGEPAGE were fully effective only if run after\nmmap and before touching the memory.  While this is enough for most\nusages, it\u0027s little effort to make madvise more dynamic at runtime on an\nexisting mapping by making khugepaged aware about madvise.\n\nMADV_HUGEPAGE: register in khugepaged immediately without waiting a page\nfault (that may not ever happen if all pages are already mapped and the\n\"enabled\" knob was set to madvise during the initial page faults).\n\nMADV_NOHUGEPAGE: skip vmas marked VM_NOHUGEPAGE in khugepaged to stop\ncollapsing pages where not needed.\n\n[akpm@linux-foundation.org: tweak comment]\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@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": "a664b2d8555c659127bf8fe049a58449d394a707",
      "tree": "14771f4ab93a9dda98174f21e0361a77e2aebfa6",
      "parents": [
        "1ddd6db43a08cba56c7ee920800980862086f1c3"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:47:17 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:47 2011 -0800"
      },
      "message": "thp: madvise(MADV_NOHUGEPAGE)\n\nAdd madvise MADV_NOHUGEPAGE to mark regions that are not important to be\nhugepage backed.  Return -EINVAL if the vma is not of an anonymous type,\nor the feature isn\u0027t built into the kernel.  Never silently return\nsuccess.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ddd6db43a08cba56c7ee920800980862086f1c3",
      "tree": "696b6d3c44832b08a55de8724b8539dacd96bd4c",
      "parents": [
        "37c2ac7872a9387542616f658d20ac25f5bdb32e"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:47:17 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:47 2011 -0800"
      },
      "message": "thp: mm: define MADV_NOHUGEPAGE\n\nDefine MADV_NOHUGEPAGE.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37c2ac7872a9387542616f658d20ac25f5bdb32e",
      "tree": "d115915db4a61e261012bf0f9c4cf14630243d71",
      "parents": [
        "91600e9e592e48736e630851c83da2ad6bf0e91f"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:47:16 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:47 2011 -0800"
      },
      "message": "thp: compound_trans_order\n\nRead compound_trans_order safe. Noop for CONFIG_TRANSPARENT_HUGEPAGE\u003dn.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c888cfbc1b45508a44763d85ba2e8ac43faff5f",
      "tree": "9a7f2214e5d6a01d5724ae63d4d50cddeb2293ff",
      "parents": [
        "97562cd243298acf573620c764a1037bd545c9bc"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Thu Jan 13 15:47:13 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:46 2011 -0800"
      },
      "message": "thp: fix anon memory statistics with transparent hugepages\n\nCount each transparent hugepage as HPAGE_PMD_NR pages in the LRU\nstatistics, so the Active(anon) and Inactive(anon) statistics in\n/proc/meminfo are correct.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a03b051ed87e72b959f32a86054e1142ac4cf55",
      "tree": "31f0e8efb86d48b0292f8a7ea4bd9cf7c930a0ab",
      "parents": [
        "878aee7d6b5504e01b9caffce080e792b6b8d090"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:47:11 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:46 2011 -0800"
      },
      "message": "thp: use compaction in kswapd for GFP_ATOMIC order \u003e 0\n\nThis takes advantage of memory compaction to properly generate pages of\norder \u003e 0 if regular page reclaim fails and priority level becomes more\nsevere and we don\u0027t reach the proper watermarks.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ee53820edfd1f3b6554c593f337148dd3d7fc91",
      "tree": "ca69957e928cd3efa1b47f92dcfb00591702684c",
      "parents": [
        "4b7167b9ff9b7f3f528cbc4c7d02ebd275b9b10c"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "aarcange@redhat.com",
        "time": "Thu Jan 13 15:47:10 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 17:32:46 2011 -0800"
      },
      "message": "thp: mmu_notifier_test_young\n\nFor GRU and EPT, we need gup-fast to set referenced bit too (this is why\nit\u0027s correct to return 0 when shadow_access_mask is zero, it requires\ngup-fast to set the referenced bit).  qemu-kvm access already sets the\nyoung bit in the pte if it isn\u0027t zero-copy, if it\u0027s zero copy or a shadow\npaging EPT minor fault we relay on gup-fast to signal the page is in\nuse...\n\nWe also need to check the young bits on the secondary pagetables for NPT\nand not nested shadow mmu as the data may never get accessed again by the\nprimary pte.\n\nWithout this closer accuracy, we\u0027d have to remove the heuristic that\navoids collapsing hugepages in hugepage virtual regions that have not even\na single subpage in use.\n\n-\u003etest_young is full backwards compatible with GRU and other usages that\ndon\u0027t have young bits in pagetables set by the hardware and that should\nnuke the secondary mmu mappings when -\u003eclear_flush_young runs just like\nEPT does.\n\nRemoving the heuristic that checks the young bit in\nkhugepaged/collapse_huge_page completely isn\u0027t so bad either probably but\nI thought it was worth it and this makes it reliable.\n\nSigned-off-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "94fcc585fb85ad7b059c70872489b50044d401f3"
}
