)]}'
{
  "log": [
    {
      "commit": "b2ef1a2bb2eb49cd7c75b22f1ea40ead0bdfdb8a",
      "tree": "5f28a7fc1225eb6226770ceaade014090f420197",
      "parents": [
        "8dbaea4bfcecacaf496a3e2ae92867baedbcab8e"
      ],
      "author": {
        "name": "Hans-Christian Egtvedt",
        "email": "hans-christian.egtvedt@atmel.com",
        "time": "Thu Nov 05 15:53:43 2009 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Nov 30 09:51:26 2009 +0000"
      },
      "message": "mtd: move manufacturer to the common cfi.h header file\n\nThis patch moves the MANUFACTURER_ST and MANUFACTURER_INTEL to the\ninclude/linux/mtd/cfi.h header file and renames them to CFI_MFR_ST and\nCFI_MFR_INTEL. CFI_MFR_ST was already present there.\n\nAll references in drivers/mtd/chips/cfi_cmdset_0001.c are updated to reflect\nthis.\n\nSigned-off-by: Hans-Christian Egtvedt \u003chans-christian.egtvedt@atmel.com\u003e\nAcked-by: Nicolas Pitre \u003cnico@fluxnic.net\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "b1c6e6db5bb7acad82e1c64914c6a9404dae3ee1",
      "tree": "92fda540b31a8687dca448fd1e91dd1f78a08825",
      "parents": [
        "6eb4feffb9d619a44fe434e777ef095a29cf4759"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben@simtec.co.uk",
        "time": "Mon Nov 02 18:12:33 2009 +0000"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Nov 30 09:48:31 2009 +0000"
      },
      "message": "mtd: nand: add option to quieten off the no device found messgae\n\nAdd NAND_SCAN_SILENT_NODEV to chip-\u003eoptions to the user-worrying messages\n\u0027No NAND device found!!!\u0027. This message often worries users (was three\nexclamation marks really necessary?) and especially in systems such as the\nSimtec Osiris where there may be optional NAND devices which are not\nknown until probe time.\n\nRevised version of the original NAND_PROBE_SPECULATIVE patch after comments\nby Artem Bityutskiy about adding a whole new call.\n\nSigned-off-by: Ben Dooks \u003cben@simtec.co.uk\u003e\nSigned-off-by: Simtec Linux Team \u003clinux@simtec.co.uk\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "72073027ee95d059eb5a064da4a978efab36d4ab",
      "tree": "a7ee5f24092602d7fda6c34db6781c3de2d415d8",
      "parents": [
        "73885aeaca046a21183db598c2da46529e46fdab"
      ],
      "author": {
        "name": "Mika Korhonen",
        "email": "ext-mika.2.korhonen@nokia.com",
        "time": "Fri Oct 23 07:50:43 2009 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Nov 30 09:43:18 2009 +0000"
      },
      "message": "mtd: OneNAND: multiblock erase support\n\nAdd support for multiblock erase command. OneNANDs (excluding Flex-OneNAND)\nare capable of simultaneous erase of up to 64 eraseblocks which is much faster.\n\nThis changes the erase requests for regions covering multiple eraseblocks\nto be performed using multiblock erase.\n\nSigned-off-by: Mika Korhonen \u003cext-mika.2.korhonen@nokia.com\u003e\nReviewed-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "1c63aca32903efc219fb9df72bae5344f3e54ed5",
      "tree": "f3731478a5b163344e55bdf03eef25895d03cdab",
      "parents": [
        "3cf602532c535ec655725e9833378e04c9fd7783"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Thu Oct 22 16:53:32 2009 +0900"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Nov 30 09:32:19 2009 +0000"
      },
      "message": "mtd: Add __nand_calculate_ecc() to NAND ECC functions\n\nAdd __nand_calculate_ecc() which does not take struct mtd_info.\nThe built-in 256/512 software ECC calculation and correction tester\nwill use it.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Vimal Singh \u003cvimalsingh@ti.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "3cf602532c535ec655725e9833378e04c9fd7783",
      "tree": "93f8fba910778012b6a5a82cf7beb920e460fe69",
      "parents": [
        "782e5711d61b2cda45dea447badba3ab07c236f0"
      ],
      "author": {
        "name": "Amul Kumar Saha",
        "email": "amul.saha@samsung.com",
        "time": "Wed Oct 21 17:00:05 2009 +0530"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Nov 30 09:31:13 2009 +0000"
      },
      "message": "mtd: OneNAND OTP support rework\n\nWhat is OTP in OneNAND?\nThe device includes,\n1. one block-sized OTP (One Time Programmable) area and\n2. user-controlled 1st block OTP(Block 0)\nthat can be used to increase system security or to provide\nidentification capabilities.\n\nWhat is done?\nIn OneNAND, one block of the NAND Array is set aside as an OTP\nmemory area, and 1st Block (Block 0) can be used as OTP area.\nThis area, available to the user, can be configured and locked\nwith secured user information. The OTP block can be read,\nprogrammed and locked using the same operations as any other NAND\nFlash Array memory block. After issuing an OTP-Lock, OTP block\ncannot be erased. OTP block is fully-guaranteed to be a good\nblock.\n\nWhy it is done?\nLocking the 1st Block OTP has the effect of a \u0027Write-protect\u0027 to\nguard against accidental re-programming of data stored in the 1st\nblock and OTP Block.\n\nWhich problem it solves?\nOTP support is provided in the existing implementation of\nOneNAND/Flex-OneNAND driver, but it is not working with OneNAND\ndevices. Have observed the following in current OTP OneNAND Implmentation,\n1. DataSheet specific sequence to lock the OTP Area is not followed.\n2. Certain functions are quiet generic to cope with OTP specific activity.\nThis patch re-implements OTP support for OneNAND device.\n\nHow it is done?\nFor all blocks, 8th word is available to the user.\nHowever, in case of OTP Block, 8th word of sector 0, page 0 is reserved as\nOTP Locking Bit area. Therefore, in case of OTP Block, user usage on this\narea is prohibited. Condition specific values are entered in the 8th word,\nsector0, page 0 of the OTP block during the process of issuing an OTP-Lock.\nThe possible conditions are:\n1. Only 1st Block Lock\n2. Only OTP Block Lock\n3. Lock both the 1st Block and the OTP Block\n\nWhat Other feature additions have been done in this patch?\nThis patch adds feature for:\n1. Only 1st Block Lock\n2. Lock both the 1st Block and the OTP Blocks\n\nRe-implemented OTP support for OneNAND\nAdded following features to OneNAND\n\t1. Lock only 1st Block in OneNAND\n\t2. Lock BOTH 1st Block and OTP Block in OneNAND\n\n[comments were slightly tweaked by Artem]\n\nSigned-off-by: Amul Kumar Saha \u003camul.saha@samsung.com\u003e\nReviewed-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "30631cb82d5c6c662d5ec682beaa834c1f9f0987",
      "tree": "9c329ebf759cdbc4be4cc488ae448bbb6ef73c11",
      "parents": [
        "c62d81bcfe82526cc3da10cf4fc63faad368bc60"
      ],
      "author": {
        "name": "Alessandro Rubini",
        "email": "rubini@unipv.it",
        "time": "Sun Sep 20 23:28:14 2009 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Sep 24 12:55:07 2009 -0700"
      },
      "message": "mtd: unify status enum from three headers\n\nnand.h, onenand.h and flashchip.h defined enumeration types\nfor chip status using the same symbolic names. This prevented\na board file to include more than one of them. In particular,\nno nand and onenand platform devices could live in the same file.\nThis patch augments flashchip.h with a few status values in order\nto cover all cases, so nand.h and onenand.h can use flstate_t\nwithout declaring their own status enum.\n\nSigned-off-by: Alessandro Rubini \u003crubini@unipv.it\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "c62d81bcfe82526cc3da10cf4fc63faad368bc60",
      "tree": "cef5216198a22daf60573f986167788f89e05e4c",
      "parents": [
        "ea60658a08f8f3511a70587b27f12cd7e0ac5ae3"
      ],
      "author": {
        "name": "Alessandro Rubini",
        "email": "rubini@unipv.it",
        "time": "Sun Sep 20 23:28:04 2009 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Sep 24 12:54:59 2009 -0700"
      },
      "message": "mtd: use bbm.h in nand.h\n\nThis consolidates common code in nand.h and bbm.h. The\ncomments and data structures were the same, this keeps\nthe comment from nand.h as it fits 80 columns, while the one\nin bbm.h did not.\n\nSigned-off-by: Alessandro Rubini \u003crubini@unipv.it\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "a7c367b95a9d8e65e0f0e7da31f700a556794efb",
      "tree": "5b1bb202801e29e3237381aa7aad5aa288378d5b",
      "parents": [
        "15f964bed054821d6d940d3752508c5f96a9ffd3",
        "e1070211f7327a1f197d535aa886f721a241c32f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:07:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:07:49 2009 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (58 commits)\n  mtd: jedec_probe: add PSD4256G6V id\n  mtd: OneNand support for Nomadik 8815 SoC (on NHK8815 board)\n  mtd: nand: driver for Nomadik 8815 SoC (on NHK8815 board)\n  m25p80: Add Spansion S25FL129P serial flashes\n  jffs2: Use SLAB_HWCACHE_ALIGN for jffs2_raw_{dirent,inode} slabs\n  mtd: sh_flctl: register sh_flctl using platform_driver_probe()\n  mtd: nand: txx9ndfmc: transfer 512 byte at a time if possible\n  mtd: nand: fix tmio_nand ecc correction\n  mtd: nand: add __nand_correct_data helper function\n  mtd: cfi_cmdset_0002: add 0xFF intolerance for M29W128G\n  mtd: inftl: fix fold chain block number\n  mtd: jedec: fix compilation problem with I28F640C3B definition\n  mtd: nand: fix ECC Correction bug for SMC ordering for NDFC driver\n  mtd: ofpart: Check availability of reg property instead of name property\n  driver/Makefile: Initialize \"mtd\" and \"spi\" before \"net\"\n  mtd: omap: adding DMA mode support in nand prefetch/post-write\n  mtd: omap: add support for nand prefetch-read and post-write\n  mtd: add nand support for w90p910 (v2)\n  mtd: maps: add mtd-ram support to physmap_of\n  mtd: pxa3xx_nand: add single-bit error corrections reporting\n  ...\n"
    },
    {
      "commit": "15f964bed054821d6d940d3752508c5f96a9ffd3",
      "tree": "36778917886ab5eeffab356f21827e7ba8a06710",
      "parents": [
        "b09a75fc5e77b7c58d097236f89b1ff72dcdb562",
        "7c329288d72e025db4feac65f0fed95fb3e3ef1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:07:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:07:24 2009 -0700"
      },
      "message": "Merge branch \u0027vgaarb-fix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027vgaarb-fix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  vgaarb: make client interface config invariant.\n"
    },
    {
      "commit": "b09a75fc5e77b7c58d097236f89b1ff72dcdb562",
      "tree": "8f818f1b3e44d9bc822b13dc7c368077981dd6ea",
      "parents": [
        "cf63ff5fa4399e215cc5ef322ccd8bddfff9afa6",
        "b94996c99c8befed9cbbb8804a4625e203913318"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:06:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:06:10 2009 -0700"
      },
      "message": "Merge git://git.infradead.org/iommu-2.6\n\n* git://git.infradead.org/iommu-2.6: (23 commits)\n  intel-iommu: Disable PMRs after we enable translation, not before\n  intel-iommu: Kill DMAR_BROKEN_GFX_WA option.\n  intel-iommu: Fix integer wrap on 32 bit kernels\n  intel-iommu: Fix integer overflow in dma_pte_{clear_range,free_pagetable}()\n  intel-iommu: Limit DOMAIN_MAX_PFN to fit in an \u0027unsigned long\u0027\n  intel-iommu: Fix kernel hang if interrupt remapping disabled in BIOS\n  intel-iommu: Disallow interrupt remapping if not all ioapics covered\n  intel-iommu: include linux/dmi.h to use dmi_ routines\n  pci/dmar: correct off-by-one error in dmar_fault()\n  intel-iommu: Cope with yet another BIOS screwup causing crashes\n  intel-iommu: iommu init error path bug fixes\n  intel-iommu: Mark functions with __init\n  USB: Work around BIOS bugs by quiescing USB controllers earlier\n  ia64: IOMMU passthrough mode shouldn\u0027t trigger swiotlb init\n  intel-iommu: make domain_add_dev_info() call domain_context_mapping()\n  intel-iommu: Unify hardware and software passthrough support\n  intel-iommu: Cope with broken HP DC7900 BIOS\n  iommu\u003dpt is a valid early param\n  intel-iommu: double kfree()\n  intel-iommu: Kill pointless intel_unmap_single() function\n  ...\n\nFixed up trivial include lines conflict in drivers/pci/intel-iommu.c\n"
    },
    {
      "commit": "fd8b327ee46593ccc5230bfd053287fbf7c38a69",
      "tree": "f4927e5d71ce5004f0d8ccca7f8de57851280841",
      "parents": [
        "0c9af2807490cc5f4d2833799482c391a3a3fee4",
        "63209a71e8e7727f52208d17bb7180cd392edcfb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:04:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 10:04:37 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: (41 commits)\n  regulator: Add some brief design documentation\n  regulator: fix voltage range in da9034 ldo12\n  regulator/driver: be more specific in nanodoc for is_enabled\n  regulator/lp3971: drop unnecessary initialization\n  regulator: drop \u0027default n\u0027\n  regulator: fix typos\n  regulator: fix calculation of voltage range in da9034_set_ldo12_voltage()\n  regulator: update a filename in documentation\n  drivers/regulator/Kconfig: fix typo (s/Usersapce/Userspace/) in REGULATOR_USERSPACE_CONSUMER description\n  REGULATOR Handle positive returncode from enable\n  regulator: tps650xx - build fixes for x86_64\n  Fix some regulator documentation\n  Regulator: Adding TPS65023 and TPS6507x in Kconfig and Makefile\n  Regulator: Add TPS6507x regulator driver\n  Regulator: Add TPS65023 regulator driver\n  regulator: userspace: use sysfs_create_group\n  regulator: Add GPIO enable control to fixed voltage regulator driver\n  Regulator: Implement list_voltage for pcf50633 regulator driver.\n  regulator: regulator_enable() permission checking\n  regulator: Push locking for regulator_is_enabled() out\n  ...\n"
    },
    {
      "commit": "31bbb9b58d1e8ebcf2b28c95c2250a9f8e31e397",
      "tree": "6bb0c0490d66d32eca43e73abb28d8b3ab0e7b91",
      "parents": [
        "ff830b8e5f999d1ccbd0282a666520f0b557daa4",
        "3f0a525ebf4b8ef041a332bbe4a73aee94bb064b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:46:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:46:15 2009 -0700"
      },
      "message": "Merge branch \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  itimers: Add tracepoints for itimer\n  hrtimer: Add tracepoint for hrtimers\n  timers: Add tracepoints for timer_list timers\n  cputime: Optimize jiffies_to_cputime(1)\n  itimers: Simplify arm_timer() code a bit\n  itimers: Fix periodic tics precision\n  itimers: Merge ITIMER_VIRT and ITIMER_PROF\n\nTrivial header file include conflicts in kernel/fork.c\n"
    },
    {
      "commit": "ff830b8e5f999d1ccbd0282a666520f0b557daa4",
      "tree": "5979aba5ed48c93d658a208f3a1f714e9e1e8b67",
      "parents": [
        "746942d06acdb4dd78d16baa5f3728a48a033bdd",
        "625f0850a8e27b6a8d6fdb95056f35bc22d92b55"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:43:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:43:22 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: sbp2: remove a workaround for Momobay FX-3A\n  firewire: sbp2: remove a workaround for Momobay FX-3A\n  firewire: sbp2: fix status reception\n  firewire: core: fix topology map response handler\n  firewire: core: fix race with parallel PCI device probe\n  firewire: core: header file cleanup\n  firewire: ohci: fix Self ID Count register mask (safeguard against buffer overflow)\n  ieee1394: raw1394: Do not leak memory on failed trylock.\n"
    },
    {
      "commit": "746942d06acdb4dd78d16baa5f3728a48a033bdd",
      "tree": "1470ffab015f6b7c2ff6f44314f9fab17d3a4c3f",
      "parents": [
        "c11f6c82581e8be4e1829c677db54e7f55cebece",
        "c602c65b2f81d14456771d1e3f15d1381f4b7efa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:34:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:34:07 2009 -0700"
      },
      "message": "Merge branch \u0027sfi-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6\n\n* \u0027sfi-release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6:\n  SFI: remove unneeded includes\n  sfi: Remove unused code\n  SFI: Hook PCI MMCONFIG\n  x86: add arch-specific SFI support\n  SFI: add capability to parse ACPI tables\n  SFI: add platform-independent core support\n  SFI: create linux/sfi.h\n  SFI: Simple Firmware Interface - MAINTAINERS, Kconfig\n"
    },
    {
      "commit": "c11f6c82581e8be4e1829c677db54e7f55cebece",
      "tree": "1a116241b0831ded998aabe800bdc24104cbd826",
      "parents": [
        "40aba218969914d1b225e742617adb921cf94eae",
        "193a6dec1c0246a80b6d0101e4f351ccf877bcac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:32:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:32:11 2009 -0700"
      },
      "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: (119 commits)\n  ACPI: don\u0027t pass handle for fixed hardware notifications\n  ACPI: remove null pointer checks in deferred execution path\n  ACPI: simplify deferred execution path\n  acerhdf: additional BIOS versions\n  acerhdf: convert to dev_pm_ops\n  acerhdf: fix fan control for AOA150 model\n  thermal: add missing Kconfig dependency\n  acpi: switch /proc/acpi/{debug_layer,debug_level} to seq_file\n  hp-wmi: fix rfkill memory leak on unload\n  ACPI: remove unnecessary #ifdef CONFIG_DMI\n  ACPI: linux/acpi.h should not include linux/dmi.h\n  hwmon driver for ACPI 4.0 power meters\n  topstar-laptop: add new driver for hotkeys support on Topstar N01\n  thinkpad_acpi: fix rfkill memory leak on unload\n  thinkpad-acpi: report brightness events when required\n  thinkpad-acpi: don\u0027t poll by default any of the reserved hotkeys\n  thinkpad-acpi: Fix procfs hotkey reset command\n  thinkpad-acpi: deprecate hotkey_bios_mask\n  thinkpad-acpi: hotkey poll fixes\n  thinkpad-acpi: be more strict when detecting a ThinkPad\n  ...\n"
    },
    {
      "commit": "40aba218969914d1b225e742617adb921cf94eae",
      "tree": "663ec9cdadbedec5f8eab754cbc590298c1d40be",
      "parents": [
        "b64ada6b23d4a305fb3ca59b79dd38707fc53b69",
        "cfd550ed3d3bd509b475c7a9d425fc63bf843a7c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:30:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:30:48 2009 -0700"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  i2c: Clearly mark ACPI drivers as such\n  i2c: Add driver for SMBus Control Method Interface\n  i2c-pnx: Correct use of request_region/request_mem_region\n  MAINTAINERS: Add maintainer for AT24 and PCA9564/PCA9665\n  i2c-piix4: Add AMD SB900 SMBus device ID\n  i2c/chips: Remove deprecated pcf8574 driver\n  i2c/chips: Remove deprecated pca9539 driver\n  i2c/chips: Remove deprecated pcf8575 driver\n  gpio/pcf857x: Copy i2c_device_id from old pcf8574 driver\n  i2c/scx200_acb: Provide more information on bus errors\n  i2c: Provide compatibility links for i2c adapters\n  i2c: Convert i2c adapters to bus devices\n  i2c: Convert i2c clients to a device type\n  i2c/tsl2550: Use combined SMBus transactions\n  i2c-taos-evm: Switch echo off to improve performance\n  i2c: Drop unused i2c_driver.id field\n"
    },
    {
      "commit": "be90a49ca22a95f184d9f32d35b5247b44032849",
      "tree": "d3c2edc18c003c384366f57901616ac29c80bc27",
      "parents": [
        "1f0918d03ff4b5c94540c71ce889672abdbc2f4a",
        "a87371b477774b290c27bc5cb7f4ccc5379574a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:25:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:25:16 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (142 commits)\n  USB: Fix sysfs paths in documentation\n  USB: skeleton: fix coding style issues.\n  USB: O_NONBLOCK in read path of skeleton\n  USB: make usb-skeleton honor O_NONBLOCK in write path\n  USB: skel_read really sucks royally\n  USB: Add hub descriptor update hook for xHCI\n  USB: xhci: Support USB hubs.\n  USB: xhci: Set multi-TT field for LS/FS devices under hubs.\n  USB: xhci: Set route string for all devices.\n  USB: xhci: Fix command wait list handling.\n  USB: xhci: Change how xHCI commands are handled.\n  USB: xhci: Refactor input device context setup.\n  USB: xhci: Endpoint representation refactoring.\n  USB: gadget: ether needs to select CRC32\n  USB: fix USBTMC get_capabilities success handling\n  USB: fix missing error check in probing\n  USB: usbfs: add USBDEVFS_URB_BULK_CONTINUATION flag\n  USB: support for autosuspend in sierra while online\n  USB: ehci-dbgp,ehci: Allow dbpg to work with suspend/resume\n  USB: ehci-dbgp,documentation: Documentation updates for ehci-dbgp\n  ...\n"
    },
    {
      "commit": "1f0918d03ff4b5c94540c71ce889672abdbc2f4a",
      "tree": "ecee710444fb3405da55933501e339e10e4ac880",
      "parents": [
        "4266c97a3ef4604561a22212eb0eab8a3c338971",
        "ca60a42c9be41c07ebcc2ec8c43dd1be53f147bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:23:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:23:45 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  lguest: don\u0027t force VIRTIO_F_NOTIFY_ON_EMPTY\n  lguest: cleanup for map_switcher()\n  lguest: use PGDIR_SHIFT for PAE code to allow different PAGE_OFFSET\n  lguest: use set_pte/set_pmd uniformly for real page table entries\n  lguest: move panic notifier registration to its expected place.\n  virtio_blk: add support for cache flush\n  virtio: add virtio IDs file\n  virtio: get rid of redundant VIRTIO_ID_9P definition\n  virtio: make add_buf return capacity remaining\n  virtio_pci: minor MSI-X cleanups\n"
    },
    {
      "commit": "4fd8da8d62416d0dae05603ab5990a498d9aeb12",
      "tree": "81feb3cc66d49cfd89b0b26f067bbb52e164d0d8",
      "parents": [
        "a6e995ad7409403c5bbd6fe8f666a280e086bb22"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Sep 23 17:49:55 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 09:21:05 2009 -0700"
      },
      "message": "fs: change sys_truncate length parameter type\n\nFor this system call user space passes a signed long length parameter,\nwhile the kernel side takes an unsigned long parameter and converts it\nlater to signed long again.\n\nThis has led to bugs in compat wrappers see e.g.  dd90bbd5 \"powerpc: Add\ncompat_sys_truncate\".  The s390 compat wrapper for this functions is\nbroken as well since it also performs zero extension instead of sign\nextension for the length parameter.\n\nIn addition if hpa comes up with an automated way of generating\ncompat wrappers it would generate a wrong one here.\n\nSo change the length parameter from unsigned long to long.\n\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "547ad5ac665234953e32678f6a32385b58edefc3",
      "tree": "4c7aa651224d2b106a2f9da6dfb8b4233173cec2",
      "parents": [
        "4fefce9abaeef0d6ec45e06a882db23a65135272",
        "8cb3ed13935b9b523c2de7afc8f68473fe1d4531"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 08:29:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 08:29:57 2009 -0700"
      },
      "message": "Merge branch \u0027x86/orig_ax\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland\n\n* \u0027x86/orig_ax\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland:\n  x86: ptrace: set TS_COMPAT when 32-bit ptrace sets orig_eax\u003e\u003d0\n  x86: ptrace: do not sign-extend orig_ax on write\n  x86: syscall_get_nr returns int\n  asm-generic: syscall_get_nr returns int\n"
    },
    {
      "commit": "4fefce9abaeef0d6ec45e06a882db23a65135272",
      "tree": "c4e543fd3f42d7586b85b3a10944ae70aa362b1e",
      "parents": [
        "a4255e4c1c41f906488ae4d3fa328a66695cf200"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Tue Sep 22 16:48:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:58 2009 -0700"
      },
      "message": "jbd.h: bitfields should be unsigned\n\nbitfields should be unsigned.\n\nThis fixes sparse noise:\n  error: dubious one-bit signed bitfield\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f93e8f4822fdd48fa9c4c901eea87ab1c902f87",
      "tree": "04759bd6c4f81f4b30a2ecce237e690a6369e138",
      "parents": [
        "4ed824d9aead77a6a4eb1e89c3b3d270ba386fad"
      ],
      "author": {
        "name": "Sudhakar Rajashekhara",
        "email": "sudhakar.raj@ti.com",
        "time": "Tue Sep 22 16:47:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:51 2009 -0700"
      },
      "message": "davinci-fb-frame-buffer-driver-for-ti-da8xx-omap-l1xx-v4\n\nSince the previous version, return values in ioctl() function have been\nmodified.\n\n[akpm@linux-foundation.org: simplify lcd_disable_raster()]\nSigned-off-by: Sudhakar Rajashekhara \u003csudhakar.raj@ti.com\u003e\nSigned-off-by: Pavel Kiryukhin \u003cpkiryukhin@ru.mvista.com\u003e\nSigned-off-by: Steve Chen \u003cschen@mvista.com\u003e\nAcked-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ed824d9aead77a6a4eb1e89c3b3d270ba386fad",
      "tree": "c5b1f863ca2a610ff893fd9ad301355ab5c3e108",
      "parents": [
        "6e3658f0df6f708202159302b4f3915d9b97b8dc"
      ],
      "author": {
        "name": "Sudhakar Rajashekhara",
        "email": "sudhakar.raj@ti.com",
        "time": "Tue Sep 22 16:47:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:50 2009 -0700"
      },
      "message": "davinci: fb: Frame Buffer driver for TI DA8xx/OMAP-L1xx\n\nAdd LCD controller (LCDC) driver for TI\u0027s DA8xx/OMAP-L1xx architecture.\nLCDC specifications can be found at http://www.ti.com/litv/pdf/sprufm0a.\n\nLCDC on DA8xx consists of two independent controllers, the Raster\nController and the LCD Interface Display Driver (LIDD) controller.  LIDD\nfurther supports character and graphic displays.\n\nThis patch adds support for the graphic display (Sharp LQ035Q3DG01) found\non the DA830 based EVM.  The EVM details can be found at:\nhttp://support.spectrumdigital.com/boards/dskda830/revc/.\n\nSigned-off-by: Sudhakar Rajashekhara \u003csudhakar.raj@ti.com\u003e\nSigned-off-by: Pavel Kiryukhin \u003cpkiryukhin@ru.mvista.com\u003e\nSigned-off-by: Steve Chen \u003cschen@mvista.com\u003e\nAcked-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nDESC\ndavinci-fb-frame-buffer-driver-for-ti-da8xx-omap-l1xx-fix\nEDESC\nFrom: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n\nfix kconfig indenting\n\nCc: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nCc: Pavel Kiryukhin \u003cpkiryukhin@ru.mvista.com\u003e\nCc: Steve Chen \u003cschen@mvista.com\u003e\nCc: Sudhakar Rajashekhara \u003csudhakar.raj@ti.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4cf8e53b3b55fa2f9b2a6b9c3e557b649adf7c6a",
      "tree": "3a3ca1ba8ced694568f7c0ee31c19f7fcc6e38a9",
      "parents": [
        "1e5db00687c1ebd93a902caf1d3694209013cb3e"
      ],
      "author": {
        "name": "Marek Vasut",
        "email": "marek.vasut@gmail.com",
        "time": "Tue Sep 22 16:46:35 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:48 2009 -0700"
      },
      "message": "mfd/gpio: add a GPIO interface to the UCB1400 MFD chip driver via gpiolib\n\nCc: Eric Miao \u003ceric.y.miao@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Samuel Ortiz \u003csameo@openedhand.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e5db00687c1ebd93a902caf1d3694209013cb3e",
      "tree": "41043a4a38fc2f36d92fe20559cb5ada85228465",
      "parents": [
        "a4177ee7f1a83eecb1d75e85d32664b023ef65e9"
      ],
      "author": {
        "name": "Richard Röjfors",
        "email": "richard.rojfors.ext@mocean-labs.com",
        "time": "Tue Sep 22 16:46:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:46 2009 -0700"
      },
      "message": "gpio: add MC33880 driver\n\nA GPIO driver for the Freescale MC33880 High/Low side switch\n\nSigned-off-by: Richard Röjfors \u003crichard.rojfors.ext@mocean-labs.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a4177ee7f1a83eecb1d75e85d32664b023ef65e9",
      "tree": "614b12b1f28a1a9090d96bea33639265e3e79839",
      "parents": [
        "d8c1acb1664d17dd995e34507533321e986d9215"
      ],
      "author": {
        "name": "Jani Nikula",
        "email": "ext-jani.1.nikula@nokia.com",
        "time": "Tue Sep 22 16:46:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:46 2009 -0700"
      },
      "message": "gpiolib: allow exported GPIO nodes to be named using sysfs links\n\nCommit 926b663ce8215ba448960e1ff6e58b67a2c3b99b (gpiolib: allow GPIOs to\nbe named) already provides naming on the chip level. This patch provides\nmore flexibility by allowing multiple names where ever in sysfs on a per\nGPIO basis.\n\nAdapted from David Brownell\u0027s comments on a similar concept:\nhttp://lkml.org/lkml/2009/4/20/203.\n\n[randy.dunlap@oracle.com: fix build for CONFIG_GENERIC_GPIO\u003dn]\nSigned-off-by: Jani Nikula \u003cext-jani.1.nikula@nokia.com\u003e\nAcked-by: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Daniel Silverstone \u003cdsilvers@simtec.co.uk\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "568d0697f42771425ae9f1e9a3db769fef7e10b6",
      "tree": "8f4d1178b88481e3d3daba3e049c700a3cef72e4",
      "parents": [
        "7869c0b9ed44404bbc675ef76f8ccb3be5496f39"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Sep 22 16:46:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:44 2009 -0700"
      },
      "message": "spi: handle TX-only/RX-only\n\nSupport two new half-duplex SPI implementation restrictions, for links\nthat talk to TX-only or RX-only devices.  (Existing half-duplex flavors\nsupport both transfer directions, just not at the same time.)\n\nMove spi_async() into the spi.c core, and stop inlining it.  Then make\nthat function perform error checks and reject messages that demand more\nthan the underlying controller can support.\n\nBased on a patch from Marek Szyprowski which did this only for the\nbitbanged GPIO driver.\n\nCc: Marek Szyprowski \u003cm.szyprowski@samsung.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0626e3844e8f430fc1a4417f523a00797df7ca6",
      "tree": "15e62abad725200b3c6ad2462f268c3df09ed711",
      "parents": [
        "8cec03eee4a771f949c70cff07775c9bb21d4642"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Tue Sep 22 16:46:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:43 2009 -0700"
      },
      "message": "spi: prefix modalias with \"spi:\"\n\nThis makes it consistent with other buses (platform, i2c, vio, ...).  I\u0027m\nnot sure why we use the prefixes, but there must be a reason.\n\nThis was easy enough to do it, and I did it.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Samuel Ortiz \u003csameo@openedhand.com\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nAcked-by: Mike Frysinger \u003cvapier.adi@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": "75368bf6c2876d8f33abfe77aa3864869a3893eb",
      "tree": "97a543508a8aeb45646d059f8cdd561ae0a76ef2",
      "parents": [
        "b5f3294f0be5496aec01e5aa709a5fab8bb2f225"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Tue Sep 22 16:46:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:43 2009 -0700"
      },
      "message": "spi: add support for device table matching\n\nWith this patch spi drivers can use standard spi_driver.id_table and\nMODULE_DEVICE_TABLE() mechanisms to bind against the devices.  Just like\nwe do with I2C drivers.\n\nThis is useful when a single driver supports several variants of devices\nbut it is not possible to detect them in run-time (like non-JEDEC chips\nprobing in drivers/mtd/devices/m25p80.c), and when platform_data usage is\noverkill.\n\nThis patch also makes life a lot easier on OpenFirmware platforms, since\nwith OF we extensively use proper device IDs in modaliases.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b73b255956119111dc18fa063d1e3a0bb3f06328",
      "tree": "177d99cd1ae658f65a349883f60559407baa693e",
      "parents": [
        "44dab88e7cc99d1d2caa9a8936e09d9a98a6761a"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Sep 22 16:46:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:43 2009 -0700"
      },
      "message": "spi.h: add missing kernel-doc for struct spi_master\n\nAdd missing kernel-doc notation in spi.h for struct spi_master:\n\nWarning(include/linux/spi/spi.h:289): No description found for parameter \u0027mode_bits\u0027\nWarning(include/linux/spi/spi.h:289): No description found for parameter \u0027flags\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7e3108cca54c105f496919040f00df56767ec00",
      "tree": "42aaadd3648bada66632f50e9658d37bf7bb16c8",
      "parents": [
        "0d4c36a9b6ab6b15851f60956d901a3c53574ea8"
      ],
      "author": {
        "name": "maximilian attems",
        "email": "max@stro.at",
        "time": "Tue Sep 22 16:45:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:42 2009 -0700"
      },
      "message": "ramfs: move RAMFS_MAGIC to include/linux/magic.h\n\ninitramfs userspace likes to use this magic number.\n\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: maximilian attems \u003cmax@stro.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81ac3ad9061dd9cd490ee92f0c5316a14d77ce18",
      "tree": "1787b8c307b5e70e2763c4e7c0767c2b7e108dc4",
      "parents": [
        "26562c59fa9111ae3ea7b78045889662aac9e5ac"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Sep 22 16:45:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:42 2009 -0700"
      },
      "message": "kcore: register module area in generic way\n\nSome archs define MODULED_VADDR/MODULES_END which is not in VMALLOC area.\nThis is handled only in x86-64.  This patch make it more generic.  And we\ncan use vread/vwrite to access the area.  Fix it.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: WANG Cong \u003cxiyou.wangcong@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": "26562c59fa9111ae3ea7b78045889662aac9e5ac",
      "tree": "fe231752dcc4db5967bd798dbd9749a516678e18",
      "parents": [
        "3089aa1b0c07fb7c48f9829c619f50198307789d"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Sep 22 16:45:49 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:41 2009 -0700"
      },
      "message": "kcore: register vmemmap range\n\nBenjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e pointed out that vmemmap\nrange is not included in KCORE_RAM, KCORE_VMALLOC ....\n\nThis adds KCORE_VMEMMAP if SPARSEMEM_VMEMMAP is used.  By this, vmemmap\ncan be readable via /proc/kcore\n\nBecause it\u0027s not vmalloc area, vread/vwrite cannot be used.  But the range\nis static against the memory layout, this patch handles vmemmap area by\nthe same scheme with physical memory.\n\nThis patch assumes SPARSEMEM_VMEMMAP range is not in VMALLOC range.  It\u0027s\ncorrect now.\n\n[akpm@linux-foundation.org: fix typo]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "908eedc6168bd92e89f90d89fa389065a36358fa",
      "tree": "612881abb2aae920ab1e62e88990ee7b6a988f51",
      "parents": [
        "9492587cf35d370db33ef4b38375dfb35a105b61"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Sep 22 16:45:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:41 2009 -0700"
      },
      "message": "walk system ram range\n\nOriginally, walk_memory_resource() was introduced to traverse all memory\nof \"System RAM\" for detecting memory hotplug/unplug range.  For doing so,\nflags of IORESOUCE_MEM|IORESOURCE_BUSY was used and this was enough for\nmemory hotplug.\n\nBut for using other purpose, /proc/kcore, this may includes some firmware\narea marked as IORESOURCE_BUSY | IORESOUCE_MEM.  This patch makes the\ncheck strict to find out busy \"System RAM\".\n\nNote: PPC64 keeps their own walk_memory_resouce(), which walk through\nppc64\u0027s lmb informaton.  Because old kclist_add() is called per lmb, this\npatch makes no difference in behavior, finally.\n\nAnd this patch removes CONFIG_MEMORY_HOTPLUG check from this function.\nBecause pfn_valid() just show \"there is memmap or not* and cannot be used\nfor \"there is physical memory or not\", this function is useful in generic\nto scan physical memory range.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Américo Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c30bb2a25fcfde6157e6154a32c14686fb0bedbe",
      "tree": "afa4811d46e5f9035a035b2c8c864bbb6c5af049",
      "parents": [
        "2ef43ec772551e975a6ea7cf22b59c84955aadf9"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Sep 22 16:45:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:41 2009 -0700"
      },
      "message": "kcore: add kclist types\n\nPresently, kclist_add() only eats start address and size as its arguments.\nConsidering to make kclist dynamically reconfigulable, it\u0027s necessary to\nknow which kclists are for System RAM and which are not.\n\nThis patch add kclist types as\n  KCORE_RAM\n  KCORE_VMALLOC\n  KCORE_TEXT\n  KCORE_OTHER\n\nThis \"type\" is used in a patch following this for detecting KCORE_RAM.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: WANG Cong \u003cxiyou.wangcong@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": "2ef43ec772551e975a6ea7cf22b59c84955aadf9",
      "tree": "9560c13bcc6deb3ee00a60f93730b248029e69bb",
      "parents": [
        "d899bf7b55f503ba7d3d07ed27c3a37e270fa7db"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Sep 22 16:45:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:41 2009 -0700"
      },
      "message": "kcore: use usual list for kclist\n\nThis patchset is for /proc/kcore.  With this,\n\n - many per-arch hooks are removed.\n\n - /proc/kcore will know really valid physical memory area.\n\n - /proc/kcore will be aware of memory hotplug.\n\n - /proc/kcore will be architecture independent i.e.\n   if an arch supports CONFIG_MMU, it can use /proc/kcore.\n   (if the arch uses usual memory layout.)\n\nThis patch:\n\n/proc/kcore uses its own list handling codes. It\u0027s better to use\ngeneric list codes.\n\nNo changes in logic. just clean up.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: WANG Cong \u003cxiyou.wangcong@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": "d899bf7b55f503ba7d3d07ed27c3a37e270fa7db",
      "tree": "32a5ee7816b2f0cb3261dcca8102b9cafe9251bd",
      "parents": [
        "cba8aafe1e07dfc8bae5ba78be8e02883bd34d31"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Tue Sep 22 16:45:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:41 2009 -0700"
      },
      "message": "procfs: provide stack information for threads\n\nA patch to give a better overview of the userland application stack usage,\nespecially for embedded linux.\n\nCurrently you are only able to dump the main process/thread stack usage\nwhich is showed in /proc/pid/status by the \"VmStk\" Value.  But you get no\ninformation about the consumed stack memory of the the threads.\n\nThere is an enhancement in the /proc/\u003cpid\u003e/{task/*,}/*maps and which marks\nthe vm mapping where the thread stack pointer reside with \"[thread stack\nxxxxxxxx]\".  xxxxxxxx is the maximum size of stack.  This is a value\ninformation, because libpthread doesn\u0027t set the start of the stack to the\ntop of the mapped area, depending of the pthread usage.\n\nA sample output of /proc/\u003cpid\u003e/task/\u003ctid\u003e/maps looks like:\n\n08048000-08049000 r-xp 00000000 03:00 8312       /opt/z\n08049000-0804a000 rw-p 00001000 03:00 8312       /opt/z\n0804a000-0806b000 rw-p 00000000 00:00 0          [heap]\na7d12000-a7d13000 ---p 00000000 00:00 0\na7d13000-a7f13000 rw-p 00000000 00:00 0          [thread stack: 001ff4b4]\na7f13000-a7f14000 ---p 00000000 00:00 0\na7f14000-a7f36000 rw-p 00000000 00:00 0\na7f36000-a8069000 r-xp 00000000 03:00 4222       /lib/libc.so.6\na8069000-a806b000 r--p 00133000 03:00 4222       /lib/libc.so.6\na806b000-a806c000 rw-p 00135000 03:00 4222       /lib/libc.so.6\na806c000-a806f000 rw-p 00000000 00:00 0\na806f000-a8083000 r-xp 00000000 03:00 14462      /lib/libpthread.so.0\na8083000-a8084000 r--p 00013000 03:00 14462      /lib/libpthread.so.0\na8084000-a8085000 rw-p 00014000 03:00 14462      /lib/libpthread.so.0\na8085000-a8088000 rw-p 00000000 00:00 0\na8088000-a80a4000 r-xp 00000000 03:00 8317       /lib/ld-linux.so.2\na80a4000-a80a5000 r--p 0001b000 03:00 8317       /lib/ld-linux.so.2\na80a5000-a80a6000 rw-p 0001c000 03:00 8317       /lib/ld-linux.so.2\nafaf5000-afb0a000 rw-p 00000000 00:00 0          [stack]\nffffe000-fffff000 r-xp 00000000 00:00 0          [vdso]\n\nAlso there is a new entry \"stack usage\" in /proc/\u003cpid\u003e/{task/*,}/status\nwhich will you give the current stack usage in kb.\n\nA sample output of /proc/self/status looks like:\n\nName:\tcat\nState:\tR (running)\nTgid:\t507\nPid:\t507\n.\n.\n.\nCapBnd:\tfffffffffffffeff\nvoluntary_ctxt_switches:\t0\nnonvoluntary_ctxt_switches:\t0\nStack usage:\t12 kB\n\nI also fixed stack base address in /proc/\u003cpid\u003e/{task/*,}/stat to the base\naddress of the associated thread stack and not the one of the main\nprocess.  This makes more sense.\n\n[akpm@linux-foundation.org: fs/proc/array.c now needs walk_page_range()]\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "996ad5686c5f868e67557cc1bfcb2cfdde1a18b4",
      "tree": "a9075fe3acf1e8f847403c4b007aa25ccc742fe0",
      "parents": [
        "95cdfb72b9bc568803f395c266152c71b034b461"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@fluxnic.net",
        "time": "Tue Sep 22 16:45:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:38 2009 -0700"
      },
      "message": "mmc: make SDIO device/driver struct accessors public\n\nEspecially with the PM framework, those are quite handy to have in driver\ncode too.\n\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c979ec7135d96bbff34790bf4b85a8508ede7fc",
      "tree": "7844a33af78db54561e2bf7d5d11d48885d3b03b",
      "parents": [
        "ad1e597d4199ffcdee04b9fb402e45c5be6a5052"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Tue Sep 22 16:45:18 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:37 2009 -0700"
      },
      "message": "sdio: add MMC_QUIRK_LENIENT_FN0\n\nNormally writes to SDIO function 0 outside the vendor specific CCCR\nregisters are prohibited.\n\nTo support embedded devices that require writes to SDIO function 0 outside\nthis range (e.g.  TI WL127x embedded sdio wifi device),\nMMC_QUIRK_LENIENT_FN0 is introduced.\n\nA card quirks field is added to `struct mmc_card\u0027 to support non-standard\ndevices (e.g.  embedded sdio devices).\n\n[akpm@linux-foundation.org: code in C, not cpp!]\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "006ebd5de13854d6250eecc76866bbfad1ff7daf",
      "tree": "49cf0715227e1da36745bbb50b6b94f341db3986",
      "parents": [
        "653f41b52dfc63fecf4a2333f13be28b159a918c"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@wizery.com",
        "time": "Tue Sep 22 16:45:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:36 2009 -0700"
      },
      "message": "sdio: add CD disable support\n\nAdd support to disconnect the pull-up resistor on CD/DAT[3] (pin 1)\nof the card. This may be desired on certain setups of boards,\ncontrollers and embedded sdio devices which do not need the card\u0027s\npull-up. As a result, card detection is disabled and power is saved.\n\n[akpm@linux-foundation.org: simplify sdio_disable_cd() a bit]\nSigned-off-by: Ohad Ben-Cohen \u003cohad@wizery.com\u003e\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nCc: Ian Molton \u003cian@mnementh.co.uk\u003e\nCc: \"Roberto A. Foglietta\" \u003croberto.foglietta@gmail.com\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: David Vrabel \u003cdavid.vrabel@csr.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef0b27d4ccacac32afc3d1c0e8a95e4091dfbc8c",
      "tree": "ed507b7f505620915f96df8757f36c78fd24c6b6",
      "parents": [
        "53509f0fe28e049e772897aa8fa1f5183b6823a2"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Tue Sep 22 16:44:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:34 2009 -0700"
      },
      "message": "mmc: check status after MMC SWITCH command\n\nAccording to the standard, the SWITCH command should be followed by a\nSEND_STATUS command to check for errors.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nCc: Ian Molton \u003cian@mnementh.co.uk\u003e\nCc: \"Roberto A. Foglietta\" \u003croberto.foglietta@gmail.com\u003e\nCc: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nCc: Denis Karpov \u003cext-denis.2.karpov@nokia.com\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nCc: \"Madhusudhan\" \u003cmadhu.cr@ti.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b1ebe38456f7fe61a88af2844361e763ac6ea5ae",
      "tree": "b45a2e7afe4f1f6d66d6d38dd1627fa2d6c0e7c7",
      "parents": [
        "eae1aeeed852aae37621b82a9e7f6c05096a18fd"
      ],
      "author": {
        "name": "Jarkko Lavinen",
        "email": "jarkko.lavinen@nokia.com",
        "time": "Tue Sep 22 16:44:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:33 2009 -0700"
      },
      "message": "mmc: add mmc card sleep and awake support\n\nAdd support for the new MMC command SLEEP_AWAKE.\n\nSigned-off-by: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nCc: Ian Molton \u003cian@mnementh.co.uk\u003e\nCc: \"Roberto A. Foglietta\" \u003croberto.foglietta@gmail.com\u003e\nCc: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nCc: Denis Karpov \u003cext-denis.2.karpov@nokia.com\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nCc: \"Madhusudhan\" \u003cmadhu.cr@ti.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eae1aeeed852aae37621b82a9e7f6c05096a18fd",
      "tree": "6a1b108032a5cf08ccfa6fffa29c81cccbe8c82d",
      "parents": [
        "9feae246963c648b212abad0f0eb8938de5f5fe5"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Tue Sep 22 16:44:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:33 2009 -0700"
      },
      "message": "mmc: add ability to save power by powering off cards\n\nPower can be saved by powering off cards that are not in use.  This is\nsimilar to suspend / resume except it is under the control of the driver,\nand does not require any power management support.  It can only be used\nwhen the driver can monitor whether the card is removed, otherwise it is\nunsafe.  This is possible because, unlike suspend, the driver still\nreceives card detect and / or cover switch interrupts.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nCc: Ian Molton \u003cian@mnementh.co.uk\u003e\nCc: \"Roberto A. Foglietta\" \u003croberto.foglietta@gmail.com\u003e\nCc: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nCc: Denis Karpov \u003cext-denis.2.karpov@nokia.com\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nCc: \"Madhusudhan\" \u003cmadhu.cr@ti.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9feae246963c648b212abad0f0eb8938de5f5fe5",
      "tree": "fefcc438ab0b8e502c35950e588664ab07ddc439",
      "parents": [
        "319a3f1429c91147058ac26c5f5bac8ec1730bc6"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Tue Sep 22 16:44:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:33 2009 -0700"
      },
      "message": "mmc: add MMC_CAP_NONREMOVABLE host capability\n\neMMC\u0027s are not removable, so unsafe resume is OK always.\n\nTo permit this a new host capability MMC_CAP_NONREMOVABLE has been added\nand suspend / resume updated accordingly.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nCc: Ian Molton \u003cian@mnementh.co.uk\u003e\nCc: \"Roberto A. Foglietta\" \u003croberto.foglietta@gmail.com\u003e\nCc: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nCc: Denis Karpov \u003cext-denis.2.karpov@nokia.com\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nCc: \"Madhusudhan\" \u003cmadhu.cr@ti.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "319a3f1429c91147058ac26c5f5bac8ec1730bc6",
      "tree": "4a39ff034f7e9b57b903997f818eee5304657991",
      "parents": [
        "8ea926b22e2d13238e4d65d8f61c48fe424e6f4f"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Tue Sep 22 16:44:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:33 2009 -0700"
      },
      "message": "mmc: allow host claim / release nesting\n\nThis change allows the MMC host to be claimed in situations where the host\nmay or may not have already been claimed.  Also \u0027mmc_try_claim_host()\u0027 is\nnow exported.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nCc: Ian Molton \u003cian@mnementh.co.uk\u003e\nCc: \"Roberto A. Foglietta\" \u003croberto.foglietta@gmail.com\u003e\nCc: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nCc: Denis Karpov \u003cext-denis.2.karpov@nokia.com\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nCc: \"Madhusudhan\" \u003cmadhu.cr@ti.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ea926b22e2d13238e4d65d8f61c48fe424e6f4f",
      "tree": "d62846c0f7aa50afce52bd8a9ed4b2affeaa1889",
      "parents": [
        "27cce39f555def6f5ebe7f03d69ccc44ab25f0b2"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@nokia.com",
        "time": "Tue Sep 22 16:44:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:33 2009 -0700"
      },
      "message": "mmc: add \u0027enable\u0027 and \u0027disable\u0027 methods to mmc host\n\nMMC hosts that support power saving can use the \u0027enable\u0027 and \u0027disable\u0027\nmethods to exit and enter power saving states.  An explanation of their\nuse is provided in the comments added to include/linux/mmc/host.h.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nAcked-by: Matt Fleming \u003cmatt@console-pimps.org\u003e\nCc: Ian Molton \u003cian@mnementh.co.uk\u003e\nCc: \"Roberto A. Foglietta\" \u003croberto.foglietta@gmail.com\u003e\nCc: Jarkko Lavinen \u003cjarkko.lavinen@nokia.com\u003e\nCc: Denis Karpov \u003cext-denis.2.karpov@nokia.com\u003e\nCc: Pierre Ossman \u003cpierre@ossman.eu\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nCc: \"Madhusudhan\" \u003cmadhu.cr@ti.com\u003e\nCc: \u003clinux-mmc@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00afe029aab03bd95eba210b5e74a252017c4692",
      "tree": "4c9aa4a10d7fa5f813896c8c439df592aacf295d",
      "parents": [
        "a9ece53c4089ef23d4002d34c4c7148d94622a40"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue Sep 22 16:44:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:30 2009 -0700"
      },
      "message": "asm/sections: add text/data checking functions for arches to override\n\nSome ports (like the Blackfin arch) have a discontiguous memory map which\nmeans there may be text or data that falls outside of the standard range\nof the start/end text/data symbols.  Creating some helper functions allows\nthese non-standard ports to declare these regions without adversely\naffecting anyone else.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f10206cf8e945220f7220a809d8bfc15c21f9a5",
      "tree": "4f2c48ccf9cc52dad9610df54e301e631a351288",
      "parents": [
        "b28cfd2c0616e1b42acc6ee3c77ef6cc3873c510"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Sep 22 16:44:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:30 2009 -0700"
      },
      "message": "getrusage: fill ru_maxrss value\n\nMake -\u003eru_maxrss value in struct rusage filled accordingly to rss hiwater\nmark.  This struct is filled as a parameter to getrusage syscall.\n-\u003eru_maxrss value is set to KBs which is the way it is done in BSD\nsystems.  /usr/bin/time (gnu time) application converts -\u003eru_maxrss to KBs\nwhich seems to be incorrect behavior.  Maintainer of this util was\nnotified by me with the patch which corrects it and cc\u0027ed.\n\nTo make this happen we extend struct signal_struct by two fields.  The\nfirst one is -\u003emaxrss which we use to store rss hiwater of the task.  The\nsecond one is -\u003ecmaxrss which we use to store highest rss hiwater of all\ntask childs.  These values are used in k_getrusage() to actually fill\n-\u003eru_maxrss.  k_getrusage() uses current rss hiwater value directly if mm\nstruct exists.\n\nNote:\nexec() clear mm-\u003ehiwater_rss, but doesn\u0027t clear sig-\u003emaxrss.\nit is intetionally behavior. *BSD getrusage have exec() inheriting.\n\ntest programs\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\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\ngetrusage.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n #include \u003cstdio.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstring.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/time.h\u003e\n #include \u003csys/resource.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/wait.h\u003e\n #include \u003cunistd.h\u003e\n #include \u003csignal.h\u003e\n #include \u003csys/mman.h\u003e\n\n #include \"common.h\"\n\n #define err(str) perror(str), exit(1)\n\nint main(int argc, char** argv)\n{\n\tint status;\n\n\tprintf(\"allocate 100MB\\n\");\n\tconsume(100);\n\n\tprintf(\"testcase1: fork inherit? \\n\");\n\tprintf(\"  expect: initial.self ~\u003d child.self\\n\");\n\tshow_rusage(\"initial\");\n\tif (__fork()) {\n\t\twait(\u0026status);\n\t} else {\n\t\tshow_rusage(\"fork child\");\n\t\t_exit(0);\n\t}\n\tprintf(\"\\n\");\n\n\tprintf(\"testcase2: fork inherit? (cont.) \\n\");\n\tprintf(\"  expect: initial.children ~\u003d 100MB, but child.children \u003d 0\\n\");\n\tshow_rusage(\"initial\");\n\tif (__fork()) {\n\t\twait(\u0026status);\n\t} else {\n\t\tshow_rusage(\"child\");\n\t\t_exit(0);\n\t}\n\tprintf(\"\\n\");\n\n\tprintf(\"testcase3: fork + malloc \\n\");\n\tprintf(\"  expect: child.self ~\u003d initial.self + 50MB\\n\");\n\tshow_rusage(\"initial\");\n\tif (__fork()) {\n\t\twait(\u0026status);\n\t} else {\n\t\tprintf(\"allocate +50MB\\n\");\n\t\tconsume(50);\n\t\tshow_rusage(\"fork child\");\n\t\t_exit(0);\n\t}\n\tprintf(\"\\n\");\n\n\tprintf(\"testcase4: grandchild maxrss\\n\");\n\tprintf(\"  expect: post_wait.children ~\u003d 300MB\\n\");\n\tshow_rusage(\"initial\");\n\tif (__fork()) {\n\t\twait(\u0026status);\n\t\tshow_rusage(\"post_wait\");\n\t} else {\n\t\tsystem(\"./child -n 0 -g 300\");\n\t\t_exit(0);\n\t}\n\tprintf(\"\\n\");\n\n\tprintf(\"testcase5: zombie\\n\");\n\tprintf(\"  expect: pre_wait ~\u003d initial, IOW the zombie process is not accounted.\\n\");\n\tprintf(\"          post_wait ~\u003d 400MB, IOW wait() collect child\u0027s max_rss. \\n\");\n\tshow_rusage(\"initial\");\n\tif (__fork()) {\n\t\tsleep(1); /* children become zombie */\n\t\tshow_rusage(\"pre_wait\");\n\t\twait(\u0026status);\n\t\tshow_rusage(\"post_wait\");\n\t} else {\n\t\tsystem(\"./child -n 400\");\n\t\t_exit(0);\n\t}\n\tprintf(\"\\n\");\n\n\tprintf(\"testcase6: SIG_IGN\\n\");\n\tprintf(\"  expect: initial ~\u003d after_zombie (child\u0027s 500MB alloc should be ignored).\\n\");\n\tshow_rusage(\"initial\");\n\tsignal(SIGCHLD, SIG_IGN);\n\tif (__fork()) {\n\t\tsleep(1); /* children become zombie */\n\t\tshow_rusage(\"after_zombie\");\n\t} else {\n\t\tsystem(\"./child -n 500\");\n\t\t_exit(0);\n\t}\n\tprintf(\"\\n\");\n\tsignal(SIGCHLD, SIG_DFL);\n\n\tprintf(\"testcase7: exec (without fork) \\n\");\n\tprintf(\"  expect: initial ~\u003d exec \\n\");\n\tshow_rusage(\"initial\");\n\texecl(\"./child\", \"child\", \"-v\", NULL);\n\n\treturn 0;\n}\n\nchild.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n #include \u003csys/types.h\u003e\n #include \u003cunistd.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/wait.h\u003e\n #include \u003cstdio.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstring.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/time.h\u003e\n #include \u003csys/resource.h\u003e\n\n #include \"common.h\"\n\nint main(int argc, char** argv)\n{\n\tint status;\n\tint c;\n\tlong consume_size \u003d 0;\n\tlong grandchild_consume_size \u003d 0;\n\tint show \u003d 0;\n\n\twhile ((c \u003d getopt(argc, argv, \"n:g:v\")) !\u003d -1) {\n\t\tswitch (c) {\n\t\tcase \u0027n\u0027:\n\t\t\tconsume_size \u003d atol(optarg);\n\t\t\tbreak;\n\t\tcase \u0027v\u0027:\n\t\t\tshow \u003d 1;\n\t\t\tbreak;\n\t\tcase \u0027g\u0027:\n\n\t\t\tgrandchild_consume_size \u003d atol(optarg);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tif (show)\n\t\tshow_rusage(\"exec\");\n\n\tif (consume_size) {\n\t\tprintf(\"child alloc %ldMB\\n\", consume_size);\n\t\tconsume(consume_size);\n\t}\n\n\tif (grandchild_consume_size) {\n\t\tif (fork()) {\n\t\t\twait(\u0026status);\n\t\t} else {\n\t\t\tprintf(\"grandchild alloc %ldMB\\n\", grandchild_consume_size);\n\t\t\tconsume(grandchild_consume_size);\n\n\t\t\texit(0);\n\t\t}\n\t}\n\n\treturn 0;\n}\n\ncommon.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n #include \u003cstdio.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstring.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/time.h\u003e\n #include \u003csys/resource.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003csys/wait.h\u003e\n #include \u003cunistd.h\u003e\n #include \u003csignal.h\u003e\n #include \u003csys/mman.h\u003e\n\n #include \"common.h\"\n #define err(str) perror(str), exit(1)\n\nvoid show_rusage(char *prefix)\n{\n    \tint err, err2;\n    \tstruct rusage rusage_self;\n    \tstruct rusage rusage_children;\n\n    \tprintf(\"%s: \", prefix);\n    \terr \u003d getrusage(RUSAGE_SELF, \u0026rusage_self);\n    \tif (!err)\n    \t\tprintf(\"self %ld \", rusage_self.ru_maxrss);\n    \terr2 \u003d getrusage(RUSAGE_CHILDREN, \u0026rusage_children);\n    \tif (!err2)\n    \t\tprintf(\"children %ld \", rusage_children.ru_maxrss);\n\n    \tprintf(\"\\n\");\n}\n\n/* Some buggy OS need this worthless CPU waste. */\nvoid make_pagefault(void)\n{\n\tvoid *addr;\n\tint size \u003d getpagesize();\n\tint i;\n\n\tfor (i\u003d0; i\u003c1000; i++) {\n\t\taddr \u003d mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);\n\t\tif (addr \u003d\u003d MAP_FAILED)\n\t\t\terr(\"make_pagefault\");\n\t\tmemset(addr, 0, size);\n\t\tmunmap(addr, size);\n\t}\n}\n\nvoid consume(int mega)\n{\n    \tsize_t sz \u003d mega * 1024 * 1024;\n    \tvoid *ptr;\n\n    \tptr \u003d malloc(sz);\n    \tmemset(ptr, 0, sz);\n\tmake_pagefault();\n}\n\npid_t __fork(void)\n{\n\tpid_t pid;\n\n\tpid \u003d fork();\n\tmake_pagefault();\n\n\treturn pid;\n}\n\ncommon.h\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nvoid show_rusage(char *prefix);\nvoid make_pagefault(void);\nvoid consume(int mega);\npid_t __fork(void);\n\nFreeBSD result (expected result)\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\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\nallocate 100MB\ntestcase1: fork inherit?\n  expect: initial.self ~\u003d child.self\ninitial: self 103492 children 0\nfork child: self 103540 children 0\n\ntestcase2: fork inherit? (cont.)\n  expect: initial.children ~\u003d 100MB, but child.children \u003d 0\ninitial: self 103540 children 103540\nchild: self 103564 children 0\n\ntestcase3: fork + malloc\n  expect: child.self ~\u003d initial.self + 50MB\ninitial: self 103564 children 103564\nallocate +50MB\nfork child: self 154860 children 0\n\ntestcase4: grandchild maxrss\n  expect: post_wait.children ~\u003d 300MB\ninitial: self 103564 children 154860\ngrandchild alloc 300MB\npost_wait: self 103564 children 308720\n\ntestcase5: zombie\n  expect: pre_wait ~\u003d initial, IOW the zombie process is not accounted.\n          post_wait ~\u003d 400MB, IOW wait() collect child\u0027s max_rss.\ninitial: self 103564 children 308720\nchild alloc 400MB\npre_wait: self 103564 children 308720\npost_wait: self 103564 children 411312\n\ntestcase6: SIG_IGN\n  expect: initial ~\u003d after_zombie (child\u0027s 500MB alloc should be ignored).\ninitial: self 103564 children 411312\nchild alloc 500MB\nafter_zombie: self 103624 children 411312\n\ntestcase7: exec (without fork)\n  expect: initial ~\u003d exec\ninitial: self 103624 children 411312\nexec: self 103624 children 411312\n\nLinux result (actual test result)\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\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\nallocate 100MB\ntestcase1: fork inherit?\n  expect: initial.self ~\u003d child.self\ninitial: self 102848 children 0\nfork child: self 102572 children 0\n\ntestcase2: fork inherit? (cont.)\n  expect: initial.children ~\u003d 100MB, but child.children \u003d 0\ninitial: self 102876 children 102644\nchild: self 102572 children 0\n\ntestcase3: fork + malloc\n  expect: child.self ~\u003d initial.self + 50MB\ninitial: self 102876 children 102644\nallocate +50MB\nfork child: self 153804 children 0\n\ntestcase4: grandchild maxrss\n  expect: post_wait.children ~\u003d 300MB\ninitial: self 102876 children 153864\ngrandchild alloc 300MB\npost_wait: self 102876 children 307536\n\ntestcase5: zombie\n  expect: pre_wait ~\u003d initial, IOW the zombie process is not accounted.\n          post_wait ~\u003d 400MB, IOW wait() collect child\u0027s max_rss.\ninitial: self 102876 children 307536\nchild alloc 400MB\npre_wait: self 102876 children 307536\npost_wait: self 102876 children 410076\n\ntestcase6: SIG_IGN\n  expect: initial ~\u003d after_zombie (child\u0027s 500MB alloc should be ignored).\ninitial: self 102876 children 410076\nchild alloc 500MB\nafter_zombie: self 102880 children 410076\n\ntestcase7: exec (without fork)\n  expect: initial ~\u003d exec\ninitial: self 102880 children 410076\nexec: self 102880 children 410076\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b28cfd2c0616e1b42acc6ee3c77ef6cc3873c510",
      "tree": "acf9ac40ca9ead4164a5e5f296064b107639b480",
      "parents": [
        "a49c59c042c63b432307c1bbf7dac5a104c786e6"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Sep 22 16:44:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:30 2009 -0700"
      },
      "message": "kmap_types.h: rename D macro\n\nI tend to use a \u0027D\u0027 debugging macro a lot during debugging.  When I define\nit before includes I often get conflicts with kmap_types.h\u0027s use of \u0027D\u0027\ntoo.  It\u0027s not very nice when a global include pollutes the name space\nlike this.\n\nRename the kmap_types.h D to KMAP_D.  It is only used temporarily in the\nheader so has no effect on anything else.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nReviewed-by: WANG Cong \u003cxiyou.wangcong@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": "a49c59c042c63b432307c1bbf7dac5a104c786e6",
      "tree": "443f9fab6d8907dec07a6c83fee2812c4bf43245",
      "parents": [
        "d7d7561c908afa001ab0fc8212eee94731a213a6"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eike-kernel@sf-tec.de",
        "time": "Tue Sep 22 16:44:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:30 2009 -0700"
      },
      "message": "Make sure the value in abs() does not get truncated if it is greater than 2^32\n\nabs() will truncate the input if is it outside the 2^32 range.  Fix that\nby assuming `long\u0027 input.\n\nThis might generate worse code in the common case.\n\nSigned-off-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "562787a5c32ccdf182de27793a83a9f2ee86cd77",
      "tree": "3308afd59d3b7449afa3d6a6cd624d06ce035e88",
      "parents": [
        "515350b6fd041396f425180589e08812dd13615f"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Tue Sep 22 16:43:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "anonfd: split interface into file creation and install\n\nSplit the anonfd interface into a bare file pointer creation one, and a\nfile pointer creation plus install one.\n\nThere are cases, like the usage of eventfds inside other kernel\ninterfaces, where the file pointer created by anonfd needs to be used\ninside the initialization of other structures.\n\nAs it is right now, as soon as anon_inode_getfd() returns, the kenrle can\nrace with userspace closing the newly installed file descriptor.\n\nThis patch, while keeping the old anon_inode_getfd(), introduces a new\nanon_inode_getfile() (whose services are reused in anon_inode_getfd())\nthat allows to split the file creation phase and the fd install one.\n\nOnce all the kernel structures are initialized, the code can call the\nproper fd_install().\n\nGregory manifested the need for something like this inside KVM.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Gregory Haskins \u003cghaskins@novell.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c87df457cb58fe75b9b893007917cf8095660a0",
      "tree": "32446b329e4b83ae6158fa1505c36634a75dbfe8",
      "parents": [
        "1fe72eaa0f46a0fa4cdcd8f3f7853b6d39469784"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Tue Sep 22 16:43:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "BUILD_BUG_ON(): fix it and a couple of bogus uses of it\n\ngcc permitting variable length arrays makes the current construct used for\nBUILD_BUG_ON() useless, as that doesn\u0027t produce any diagnostic if the\ncontrolling expression isn\u0027t really constant.  Instead, this patch makes\nit so that a bit field gets used here.  Consequently, those uses where the\ncondition isn\u0027t really constant now also need fixing.\n\nNote that in the gfp.h, kmemcheck.h, and virtio_config.h cases\nMAYBE_BUILD_BUG_ON() really just serves documentation purposes - even if\nthe expression is compile time constant (__builtin_constant_p() yields\ntrue), the array is still deemed of variable length by gcc, and hence the\nwhole expression doesn\u0027t have the intended effect.\n\n[akpm@linux-foundation.org: make arch/sparc/include/asm/vio.h compile]\n[akpm@linux-foundation.org: more nonsensical assertions in tpm.c..]\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Rajiv Andrade \u003csrajiv@linux.vnet.ibm.com\u003e\nCc: Mimi Zohar \u003czohar@us.ibm.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "70867453092297be9afb2249e712a1f960ec0a09",
      "tree": "cf753b5467e3a93fafd6bb452292e6ec60c3de86",
      "parents": [
        "02b51df1b07b4e9ca823c89284e704cadb323cd1"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Tue Sep 22 16:43:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "printk_once(): use bool for boolean flag\n\nUsing the type bool (instead of int) for the __print_once flag in the\nprintk_once() macro matches the intent of the code better, and allows the\ncompiler to generate smaller code; eg a typical callsite with gcc 4.3.3 on\ni386:\n\nadd/remove: 0/0 grow/shrink: 0/2 up/down: 0/-6 (-6)\nfunction                                     old     new   delta\nstatic.__print_once                            4       1      -3\nget_cpu_vendor                               146     143      -3\n\nSaving 6 bytes of object size per callsite by slightly improving the\nreadability of the source seems like a win to me.\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02b51df1b07b4e9ca823c89284e704cadb323cd1",
      "tree": "c68de4809f261d742f597c686826cdc9d047fb4a",
      "parents": [
        "88e9d34c727883d7d6f02cf1475b3ec98b8480c7"
      ],
      "author": {
        "name": "Scott James Remnant",
        "email": "scott@ubuntu.com",
        "time": "Tue Sep 22 16:43:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "proc connector: add event for process becoming session leader\n\nThe act of a process becoming a session leader is a useful signal to a\nsupervising init daemon such as Upstart.\n\nWhile a daemon will normally do this as part of the process of becoming a\ndaemon, it is rare for its children to do so.  When the children do, it is\nnearly always a sign that the child should be considered detached from the\nparent and not supervised along with it.\n\nThe poster-child example is OpenSSH; the per-login children call setsid()\nso that they may control the pty connected to them.  If the primary daemon\ndies or is restarted, we do not want to consider the per-login children\nand want to respawn the primary daemon without killing the children.\n\nThis patch adds a new PROC_SID_EVENT and associated structure to the\nproc_event event_data union, it arranges for this to be emitted when the\nspecial PIDTYPE_SID pid is set.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Scott James Remnant \u003cscott@ubuntu.com\u003e\nAcked-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nAcked-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88e9d34c727883d7d6f02cf1475b3ec98b8480c7",
      "tree": "475f544536d52739e0929e7727cab5124e855a06",
      "parents": [
        "b7ed698cc9d556306a4088c238e2ea9311ea2cb3"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Sep 22 16:43:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "seq_file: constify seq_operations\n\nMake all seq_operations structs const, to help mitigate against\nrevectoring user-triggerable function pointers.\n\nThis is derived from the grsecurity patch, although generated from scratch\nbecause it\u0027s simpler than extracting the changes from there.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54fdade1c3332391948ec43530c02c4794a38172",
      "tree": "a44cfa6888bbe702321e4d4737786e5292d72eaa",
      "parents": [
        "5c725138437837291db5c25f4a076ee852e806e3"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Tue Sep 22 16:43:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:28 2009 -0700"
      },
      "message": "generic-ipi: make struct call_function_data lockless\n\nThis patch can remove spinlock from struct call_function_data, the\nreasons are below:\n\n1: add a new interface for cpumask named cpumask_test_and_clear_cpu(),\n   it can atomically test and clear specific cpu, we can use it instead\n   of cpumask_test_cpu() and cpumask_clear_cpu() and no need data-\u003elock\n   to protect those in generic_smp_call_function_interrupt().\n\n2: in smp_call_function_many(), after csd_lock() return, the current\u0027s\n   cfd_data is deleted from call_function list, so it not have race\n   between other cpus, then cfs_data is only used in\n   smp_call_function_many() that must disable preemption and not from\n   a hardware interrupthandler or from a bottom half handler to call,\n   only the correspond cpu can use it, so it not have race in current\n   cpu, no need cfs_data-\u003elock to protect it.\n\n3: after 1 and 2, cfs_data-\u003elock is only use to protect cfs_data-\u003erefs in\n   generic_smp_call_function_interrupt(), so we can define cfs_data-\u003erefs\n   to atomic_t, and no need cfs_data-\u003elock any more.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n[akpm@linux-foundation.org: use atomic_dec_return()]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1fd7317d02ec03c6fdf072317841287933d06d24",
      "tree": "b7ac4d511896dbb21c1b76a27f6c4d5b4cb6c7bb",
      "parents": [
        "af91322ef3f29ae4114e736e2a72e28b4d619cf9"
      ],
      "author": {
        "name": "Nick Black",
        "email": "dank@qemfd.net",
        "time": "Tue Sep 22 16:43:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:28 2009 -0700"
      },
      "message": "Move magic numbers into magic.h\n\nMove various magic-number definitions into magic.h.\n\nSigned-off-by: Nick Black \u003cdank@qemfd.net\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af91322ef3f29ae4114e736e2a72e28b4d619cf9",
      "tree": "debba08531c7dd78b90b5d8f2c03f6bf7c9e7877",
      "parents": [
        "3a3b6ed2235f2f619889dd6096e24b6d93bf3339"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Sep 22 16:43:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:28 2009 -0700"
      },
      "message": "printk: add printk_delay to make messages readable for some scenarios\n\nWhen syslog is not possible, at the same time there\u0027s no serial/net\nconsole available, it will be hard to read the printk messages.  For\nexample oops/panic/warning messages in shutdown phase.\n\nAdd a printk delay feature, we can make each printk message delay some\nmilliseconds.\n\nSetting the delay by proc/sysctl interface: /proc/sys/kernel/printk_delay\n\nThe value range from 0 - 10000, default value is 0\n\n[akpm@linux-foundation.org: fix a few things]\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa081b00a80ef3f4575c99af6e97d29e1628cf51",
      "tree": "7124419e4f0bb4789d2c2e3b909dc1046c2bbe20",
      "parents": [
        "7fa07729e439a6184bd824746d06a49cca553f15"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Sep 22 16:43:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:27 2009 -0700"
      },
      "message": "include/linux/kmemcheck.h: fix a trillion warnings\n\nof the form\n\ninclude/net/inet_sock.h:208: warning: ISO C90 forbids mixed declarations and code\n\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Vegard Nossum \u003cvegard.nossum@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": "01c6460f968d7b57fc6f98adb587952628c6e099",
      "tree": "7eb51548d2db9ced665af1a5def7748cad983e34",
      "parents": [
        "e6929a9020acbeb04d9a3ad9a88234c15be808fd"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Sep 01 11:09:56 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:39 2009 -0700"
      },
      "message": "USB: usbfs: add USBDEVFS_URB_BULK_CONTINUATION flag\n\nThis patch (as1283) adds a new flag, USBDEVFS_URB_BULK_CONTINUATION,\nto usbfs.  It is intended for userspace libraries such as libusb and\nopenusb.  When they have to break up a single usbfs bulk transfer into\nmultiple URBs, they will set the flag on all but the first URB of the\nseries.\n\nIf an error other than an unlink occurs, the kernel will automatically\ncancel all the following URBs for the same endpoint and refuse to\naccept new submissions, until an URB is encountered that is not marked\nas a BULK_CONTINUATION.  Such an URB would indicate the start of a new\ntransfer or the presence of an older library, so the kernel returns to\nnormal operation.\n\nThis enables libraries to delimit bulk transfers correctly, even in\nthe presence of early termination as indicated by short packets.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n\n"
    },
    {
      "commit": "aab2d4086a1876fcff282aa36e2d4a92aa9935c9",
      "tree": "3b1bb3d934bec91c44eaf61aadb6c624eb8dd9b3",
      "parents": [
        "8d053c79f22462f55c02c8083580730b922cf7b4"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 20 15:39:55 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:38 2009 -0700"
      },
      "message": "USB: ehci-dbgp: errata for EHCI debug controller initialization\n\nOn some EHCI usb debug controllers, the EHCI debug device will fail to\nbe seen after a port reset, after a warm reset.  Two options exist to\nget the device to initialize correctly.\n\nOption 1 is to unplug and plug in the device.\n\nOption 2 is to use the EHCI port test to get the usb debug device to\nstart talking again.  At that point the debug controller port reset\nwill succeed.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCC: dbrownell@users.sourceforge.net\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8d053c79f22462f55c02c8083580730b922cf7b4",
      "tree": "2b29c3219fec7cb622af6ffba69c8eb21650c662",
      "parents": [
        "917778267fbe67703ab7d5c6f0b7a05d4c3df485"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 20 15:39:54 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:38 2009 -0700"
      },
      "message": "USB: ehci-dbgp,ehci: Allow early or late use of the dbgp device\n\nIf the EHCI debug port is initialized and in use, the EHCI host\ncontroller driver must follow two rules.\n\n1) If the EHCI host driver issues a controller reset, the debug\n   controller driver re-initialization must get called after the reset\n   is completed.\n\n2) The EHCI host driver should ignore any requests to the physical\n   EHCI debug port when the EHCI debug port is in use.\n\nThe code to check for the debug port was moved from ehci_pci_reinit()\nto ehci_pci_setup because it must get called prior to ehci_reset()\nwhich will clear the debug port registers.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: dbrownell@users.sourceforge.net\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "917778267fbe67703ab7d5c6f0b7a05d4c3df485",
      "tree": "e63fe24a920a378dc3cde0c6b9db366526df36f8",
      "parents": [
        "c9530948bc626c8b638015c0b32abb9615659ec6"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 20 15:39:53 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:38 2009 -0700"
      },
      "message": "USB: ehci-dbgp: stability improvements and external re-init\n\nThis patch implements several changes:\n\n1) Improve the capability to debug the dbgp driver\n\n   The dbgp_ehci_status() was added in a number of places to report\n   the critical ehci registers to diagnose the cause of a failure of\n   the ehci-dbgp driver.\n\n2) Capability to survive the host controller initialization\n\n   The dbgp_external_startup(), dbgp_not_safe, and dbgp_phys_port were\n   added so as to allow the ehci-dbgp to re-initialize after the ehci\n   host controller is reset by the standard host controller driver.\n   This same routine is common for the early startup or\n   re-initialization.\n\n   This resulted in the need to move some of the initialization code\n   out of the __init section because the ehci driver has the\n   possibility to be loaded later on as a kernel module.\n\n3) Stability improvements for device initialization\n\n   The device enumeration from 0 to 127 has the possibility to fail\n   the first time after a warm reset on some older EHCI debug\n   controllers.  The enumeration will be tried up to 3 times to\n   account for this failure case.\n\n   The dbg_wait_until_complete() was changed to wait up to 250 ms\n   before failing which only comes into play during device\n   initialization. The maximum delay will never get hit during the\n   course of normal operation of the driver, unless the device got\n   unplugged or there was a ehci controller failure, in which case the\n   dbgp device driver will shut itself down.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: dbrownell@users.sourceforge.net\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "df6c516900d48df3581b23d37d6516a22ec4f2ca",
      "tree": "d1210b893b7ba69d8694e6022c47764134a79ae7",
      "parents": [
        "fd4f3a931f6e047e88bc8c6023666acad957109a"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Aug 20 15:39:48 2009 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:38 2009 -0700"
      },
      "message": "USB: ehci,dbgp,early_printk: split ehci debug driver from early_printk.c\n\nMove the dbgp early printk driver in advance of refactoring and adding\nnew code, so the changes to this code are tracked separately from the\nmove of the code.\n\nThe drivers/usb/early directory will be the location of the current\nand future early usb code for driving usb devices prior initializing\nthe standard interrupt driven USB drivers.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8e8dce065088833fc418bfa5fbf035cb0726c04c",
      "tree": "146ad73ff1ee9439263678c5493a5c2d180ad794",
      "parents": [
        "74aee796c613f54e9f089170df548c0b3f15af69"
      ],
      "author": {
        "name": "David VomLehn",
        "email": "dvomlehn@cisco.com",
        "time": "Fri Aug 28 12:54:27 2009 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:34 2009 -0700"
      },
      "message": "USB: use kfifo to buffer usb-generic serial writes\n\nWhen do_output_char() attempts to write a carriage return/line feed sequence,\nit first checks to see how much buffer room is available. If there are at least\ntwo characters free, it will write the carriage return/line feed with two calls\nto tty_put_char(). It calls the tty_operation functions write() for devices that\ndon\u0027t support the tty_operations function put_char(). If the USB generic serial\ndevice\u0027s write URB is not in use, it will return the buffer size when asked how\nmuch room is available. The write() of the carriage return will cause it to mark\nthe write URB busy, so the subsequent write() of the line feed will be ignored.\n\nThis patch uses the kfifo infrastructure to implement a write FIFO that\naccurately returns the amount of space available in the buffer.\n\nSigned-off-by: David VomLehn \u003cdvomlehn@cisco.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c35013087aa9b10e4674b53b7c8f7966de83c194",
      "tree": "6cf8f305ded6169b11e8bc1d4234d8bd47199f99",
      "parents": [
        "2f2cac3c1af2bfc72c55b0054b6b95309882e27b"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Jul 29 14:23:25 2009 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:31 2009 -0700"
      },
      "message": "USB: audio: guard kernel-only code with __KERNEL__\n\ninclude/linux/usb/audio.h is exported to userspace,\nso part of this file that is for internal kernel\nusage need to be guarded with ifdef __KERNEL__.\nThis way make headers_install will stript it out.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a9d43091c5be1e7a60d5abe84be4f3050236b26a",
      "tree": "0fa131f785350d0119777611aabda4aca0c7e060",
      "parents": [
        "e9238221d3fef990e2fd01702ebe5af90dda52a2"
      ],
      "author": {
        "name": "Lothar Wassmann",
        "email": "LW@KARO-electronics.de",
        "time": "Thu Jul 16 20:51:21 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:30 2009 -0700"
      },
      "message": "USB: NXP ISP1362 USB host driver\n\nSigned-off-by: Lothar Wassmann \u003cLW@KARO-electronics.de\u003e\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9da69c604d87afea37b5411867bb76e3c624cc92",
      "tree": "b22b9a8c7e471633054b3b019411c584473b07c5",
      "parents": [
        "331ac6b288d9f3689514ced1878041fb0df7e13c"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Wed Jul 15 23:22:54 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:29 2009 -0700"
      },
      "message": "USB: isp1760: allow platform devices to customize devflags\n\nPlatform device support was merged earlier, but support for boards to\ncustomize the devflags aspect of the controller was not.  We want this on\nBlackfin systems to control the bus width, but might as well expose all of\nthe fields while we\u0027re at it.\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "331ac6b288d9f3689514ced1878041fb0df7e13c",
      "tree": "c2a9d0187fea9224b81a0460b3fbe7f2e4ed0c21",
      "parents": [
        "3807e26d69b9ad3864fe03224ebebc9610d5802e"
      ],
      "author": {
        "name": "Alek Du",
        "email": "alek.du@intel.com",
        "time": "Mon Jul 13 12:41:20 2009 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:29 2009 -0700"
      },
      "message": "USB: EHCI: Add Intel Moorestown EHCI controller HOSTPCx extensions and support phy low power mode\n\nThe Intel Moorestown EHCI controller supports non-standard HOSTPCx register\nextension. This register controls the LPM behaviour and controls the behaviour\nof each USB port.\n\nSigned-off-by: Jacob Pan \u003cjacob.jun.pan@intel.com\u003e\nSigned-off-by: Alek Du \u003calek.du@intel.com\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "ccf5b801cef4f9e2d708d3b87e91e2bc6abd5206",
      "tree": "1b7de13df336f44f6f74657934e79dc8c0bfd142",
      "parents": [
        "7cbe5dca399a50ce8aa74314b1d276e2fb904e1b"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Jun 29 11:00:01 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:23 2009 -0700"
      },
      "message": "USB: make intf.pm_usage an atomic_t\n\nThis patch (as1260) changes the pm_usage_cnt field in struct\nusb_interface from an int to an atomic_t.  This is so that drivers can\ninvoke the usb_autopm_get_interface_async() and\nusb_autopm_put_interface_async() routines without locking and without\nfear of corrupting the pm_usage_cnt value.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "7cbe5dca399a50ce8aa74314b1d276e2fb904e1b",
      "tree": "f7a565f3d2f5e9584faffa69d8e8545d4e0c4cdb",
      "parents": [
        "831baa4915de465357b25c471bbb9b36472024df"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Jun 29 10:56:54 2009 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:22 2009 -0700"
      },
      "message": "USB: add API for userspace drivers to \"claim\" ports\n\nThis patch (as1258) implements a feature that users have been asking\nfor: It gives programs the ability to \"claim\" a port on a hub, via a\nnew usbfs ioctl.  A device plugged into a \"claimed\" port will not be\ntouched by the kernel beyond the immediate necessities of\ninitialization and enumeration.\n\nIn particular, when a device is plugged into a \"claimed\" port, the\nkernel will not select and install a configuration.  And when a config\nis installed by usbfs or sysfs, the kernel will not probe any drivers\nfor any of the interfaces.  (However the kernel will fetch various\nstring descriptors during enumeration.  One could argue that this\nisn\u0027t really necessary, but the strings are exported in sysfs.)\n\nThe patch does not guarantee exclusive access to these devices; it is\nstill possible for more than one program to open the device file\nconcurrently.  Programs are responsible for coordinating access among\nthemselves.\n\nA demonstration program showing how to use the new interface can be \nfound in an attachment to\n\n\thttp://marc.info/?l\u003dlinux-usb\u0026m\u003d124345857431452\u0026w\u003d2\n\nThe patch also makes a small simplification to the hub driver,\nreplacing a bunch of more-or-less useless variants of \"out of memory\"\nwith a single message.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b95cd7ec3e93bae199e820bd65b21b23e4538acc",
      "tree": "c1a99b3dfd9b52bd0194d3aff6231867887d990f",
      "parents": [
        "512ad27d8667158747de2e8da8a23e8f50e91856"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@skynet.be",
        "time": "Sun Jun 21 23:21:55 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:20 2009 -0700"
      },
      "message": "USB audio gadget: Un-inline generic_[gs]et_cmd\n\nThose functions are used only used to fill the set/get members of\nusb_audio_control. It doesn\u0027t make much sense to inline them.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@skynet.be\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "512ad27d8667158747de2e8da8a23e8f50e91856",
      "tree": "3c56c7265a1e2d7530ddb9c31806d3c1086ac6f5",
      "parents": [
        "315ad3028c8aae14891797040f855fc3291a076b"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@skynet.be",
        "time": "Sun Jun 21 23:23:05 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:20 2009 -0700"
      },
      "message": "USB audio gadget: Prefix all macro definitions with UAC_ in linux/usb/audio.h\n\nlinux/usb/audio.h is a public header file that includes definitions\nexported to userspace. To avoid namespace clashes, prefix all macro\ndefinitions with UAC_. Existing macros and structures prefixed with\nUSB_AC_ and USB_AS_ are renamed for consistency.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@skynet.be\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "315ad3028c8aae14891797040f855fc3291a076b",
      "tree": "a11071a499c838dd34b39ff8431ca4d44269251e",
      "parents": [
        "85e08ca54c5c203cd2638f0fc8fa899a539f6254"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@skynet.be",
        "time": "Sun Jun 21 23:20:39 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:19 2009 -0700"
      },
      "message": "USB: Move vendor subclass definition from usb/audio.h to usb/ch9.h\n\nUSB_SUBCLASS_VENDOR_SPEC is common to several USB classes and as such belongs\nto usb/ch9.h.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@skynet.be\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "85e08ca54c5c203cd2638f0fc8fa899a539f6254",
      "tree": "145fef8b25d136293d3dc8eb2dfecd84ce1ea08e",
      "parents": [
        "81bf46f3034046c572714bdee1dc51beb3475082"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@skynet.be",
        "time": "Sun Jun 21 23:19:23 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:19 2009 -0700"
      },
      "message": "USB: Move endpoint sync type definitions from usb/audio.h to usb/ch9.h\n\nAnd use the new definitions in the USB Audio Class gadget driver.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@skynet.be\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4e9e92003529e5c7bb11281f7c2c9b3fe8858403",
      "tree": "07169c9a996a119aebb5865a76ff1177afe90a22",
      "parents": [
        "f4e2332cfcf900e0a926c4e0fc35f751bcbcaa1b"
      ],
      "author": {
        "name": "Pete Zaitcev",
        "email": "zaitcev@redhat.com",
        "time": "Thu Jun 11 08:53:20 2009 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 23 06:46:19 2009 -0700"
      },
      "message": "USB: usbmon: end ugly tricks with DMA peeking\n\nThis patch fixes crashes when usbmon attempts to access GART aperture.\nThe old code attempted to take a bus address and convert it into a\nvirtual address, which clearly was impossible on systems with actual\nIOMMUs. Let us not persist in this foolishness, and use transfer_buffer\nin all cases instead.\n\nI think downsides are negligible. The ones I see are:\n - A driver may pass an address of one buffer down as transfer_buffer,\n   and entirely different entity mapped for DMA, resulting in misleading\n   output of usbmon. Note, however, that PIO based controllers would\n   do transfer the same data that usbmon sees here.\n - Out of tree drivers may crash usbmon if they store garbage in\n   transfer_buffer. I inspected the in-tree drivers, and clarified\n   the documentation in comments.\n - Drivers that use get_user_pages will not be possible to monitor.\n   I only found one driver with this problem (drivers/staging/rspiusb).\n - Same happens with with usb_storage transferring from highmem, but\n   it works fine on 64-bit systems, so I think it\u0027s not a concern.\n   At least we don\u0027t crash anymore.\n\nWhy didn\u0027t we do this in 2.6.10? That\u0027s because back in those days\nit was popular not to fill in transfer_buffer, so almost all\ntraffic would be invisible (e.g. all of HID was like that).\nBut now, the tree is almost 100% PIO friendly, so we can do the\nright thing at last.\n\nSigned-off-by: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f1b0ef062602713c2c7cfa12362d5d90ed01c5f6",
      "tree": "30a130141b7c4b69ff20d134734acd40f1ee0960",
      "parents": [
        "3ca4f5ca73057a617f9444a91022d7127041970a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Sep 17 19:57:42 2009 +0200"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Sep 23 22:26:36 2009 +0930"
      },
      "message": "virtio_blk: add support for cache flush\n\nRecent qemu has added a VIRTIO_BLK_F_FLUSH flag to advertise that the\nvirtual disk has a volatile write cache that needs to be flushed.  In case\nwe see this feature implement tell the Linux block layer about the fact\nand use the new VIRTIO_BLK_T_FLUSH to flush the cache when required.  This\nallows for an correct and simple implementation of write barriers.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3ca4f5ca73057a617f9444a91022d7127041970a",
      "tree": "382659da29ad0a2e9878df6c7c4204913ab642e7",
      "parents": [
        "3a20210dc26bbfff3bbb48bb22d2846240b71d8f"
      ],
      "author": {
        "name": "Fernando Luis Vazquez Cao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Fri Jul 31 15:25:56 2009 +0900"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Sep 23 22:26:32 2009 +0930"
      },
      "message": "virtio: add virtio IDs file\n\nVirtio IDs are spread all over the tree which makes assigning new IDs\nbothersome. Putting them together should make the process less error-prone.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3c1b27d5043086a485f8526353ae9fe37bfa1065",
      "tree": "e3b6eda3c66bcd1fc3af6e7fa6e4e3af77459474",
      "parents": [
        "f68d24082e22ccee3077d11aeb6dc5354f0ca7f1"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Sep 23 22:26:31 2009 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Sep 23 22:26:31 2009 +0930"
      },
      "message": "virtio: make add_buf return capacity remaining\n\nThis API change means that virtio_net can tell how much capacity\nremains for buffers.  It\u0027s necessarily fuzzy, since\nVIRTIO_RING_F_INDIRECT_DESC means we can fit any number of descriptors\nin one, *if* we can kmalloc.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Dinesh Subhraveti \u003cdineshs@us.ibm.com\u003e\n"
    },
    {
      "commit": "268e46712d57a6493cc0f98e7d200a0f674c31ed",
      "tree": "ec5c12f5fa710646482fc822b6d7d635453dd3f4",
      "parents": [
        "7fa07729e439a6184bd824746d06a49cca553f15"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Sep 22 19:56:50 2009 -0700"
      },
      "committer": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Sep 22 19:56:50 2009 -0700"
      },
      "message": "asm-generic: syscall_get_nr returns int\n\nOnly 32 bits of system call number are meaningful, so make the\nspecification for syscall_get_nr() be to return int, not long.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\n"
    },
    {
      "commit": "7c329288d72e025db4feac65f0fed95fb3e3ef1c",
      "tree": "a94ac798e544f53daf5f48374e8e54b0fb0061ef",
      "parents": [
        "7fa07729e439a6184bd824746d06a49cca553f15"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 23 09:52:18 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Wed Sep 23 09:52:18 2009 +1000"
      },
      "message": "vgaarb: make client interface config invariant.\n\nFixes build when VGA_ARB is off.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "991d79b0d1255f89267a350b0048eca59f100cbb",
      "tree": "65ddf4160f959952d9f4955fda8844374768b83e",
      "parents": [
        "a87e84b5cdfacf11af4e8a85c4bca9793658536f",
        "181f7c5dd3832763bdf2756b6d2d8a49bdf12791"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 08:07:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 08:07:54 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck:\n  kmemcheck: add missing braces to do-while in kmemcheck_annotate_bitfield\n  kmemcheck: update documentation\n  kmemcheck: depend on HAVE_ARCH_KMEMCHECK\n  kmemcheck: remove useless check\n  kmemcheck: remove duplicated #include\n"
    },
    {
      "commit": "a87e84b5cdfacf11af4e8a85c4bca9793658536f",
      "tree": "f8e3cb2d339d8ed0e987d55f725e501730cdc81d",
      "parents": [
        "342ff1a1b558ebbdb8cbd55ab6a63eca8b2473ca",
        "3c394ddaa7ea4205f933fd9b481166b2669368a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:54:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:54:33 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.32\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.32\u0027 of git://linux-nfs.org/~bfields/linux: (68 commits)\n  nfsd4: nfsv4 clients should cross mountpoints\n  nfsd: revise 4.1 status documentation\n  sunrpc/cache: avoid variable over-loading in cache_defer_req\n  sunrpc/cache: use list_del_init for the list_head entries in cache_deferred_req\n  nfsd: return success for non-NFS4 nfs4_state_start\n  nfsd41: Refactor create_client()\n  nfsd41: modify nfsd4.1 backchannel to use new xprt class\n  nfsd41: Backchannel: Implement cb_recall over NFSv4.1\n  nfsd41: Backchannel: cb_sequence callback\n  nfsd41: Backchannel: Setup sequence information\n  nfsd41: Backchannel: Server backchannel RPC wait queue\n  nfsd41: Backchannel: Add sequence arguments to callback RPC arguments\n  nfsd41: Backchannel: callback infrastructure\n  nfsd4: use common rpc_cred for all callbacks\n  nfsd4: allow nfs4 state startup to fail\n  SUNRPC: Defer the auth_gss upcall when the RPC call is asynchronous\n  nfsd4: fix null dereference creating nfsv4 callback client\n  nfsd4: fix whitespace in NFSPROC4_CLNT_CB_NULL definition\n  nfsd41: sunrpc: add new xprt class for nfsv4.1 backchannel\n  sunrpc/cache: simplify cache_fresh_locked and cache_fresh_unlocked.\n  ...\n"
    },
    {
      "commit": "342ff1a1b558ebbdb8cbd55ab6a63eca8b2473ca",
      "tree": "1f967f283dade6e03897169bb29513354f49f910",
      "parents": [
        "50223e486cabdcf7e540e519da1f26bab3084e5d",
        "24ed7a97464db44592495f98cff8bcee02f92bc2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:51:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:51:45 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (34 commits)\n  trivial: fix typo in aic7xxx comment\n  trivial: fix comment typo in drivers/ata/pata_hpt37x.c\n  trivial: typo in kernel-parameters.txt\n  trivial: fix typo in tracing documentation\n  trivial: add __init/__exit macros in drivers/gpio/bt8xxgpio.c\n  trivial: add __init macro/ fix of __exit macro location in ipmi_poweroff.c\n  trivial: remove unnecessary semicolons\n  trivial: Fix duplicated word \"options\" in comment\n  trivial: kbuild: remove extraneous blank line after declaration of usage()\n  trivial: improve help text for mm debug config options\n  trivial: doc: hpfall: accept disk device to unload as argument\n  trivial: doc: hpfall: reduce risk that hpfall can do harm\n  trivial: SubmittingPatches: Fix reference to renumbered step\n  trivial: fix typos \"man[ae]g?ment\" -\u003e \"management\"\n  trivial: media/video/cx88: add __init/__exit macros to cx88 drivers\n  trivial: fix typo in CONFIG_DEBUG_FS in gcov doc\n  trivial: fix missing printk space in amd_k7_smp_check\n  trivial: fix typo s/ketymap/keymap/ in comment\n  trivial: fix typo \"to to\" in multiple files\n  trivial: fix typos in comments s/DGBU/DBGU/\n  ...\n"
    },
    {
      "commit": "50223e486cabdcf7e540e519da1f26bab3084e5d",
      "tree": "c5eedda167c7ea83e342f80a9344646c7a99ba35",
      "parents": [
        "e258b80e691f1f3ae83a60aa80eaf7322bd55ec4",
        "a2d693cf650f000ea22351484ee66cf4c2651eef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:51:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:51:28 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:\n  HID: Remove duplicate Kconfig entry\n  HID: consolidate connect and disconnect into core code\n  HID: fix non-atomic allocation in hid_input_report\n"
    },
    {
      "commit": "abd6633c67925f90775bb74755f9c547e30f1f20",
      "tree": "9cb974febc1a30e3914720655cd406cea84c063e",
      "parents": [
        "a976f150a6953da5ccbd40fa6dba3bd7d56f9f67"
      ],
      "author": {
        "name": "David Härdeman",
        "email": "david@hardeman.nu",
        "time": "Mon Sep 21 17:04:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:49 2009 -0700"
      },
      "message": "pnp: add a shutdown method to pnp drivers\n\nThe shutdown method is used by the winbond cir driver to setup the\nhardware for wake-from-S5.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: David Härdeman \u003cdavid@hardeman.nu\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8873c33483e62988ed886230aab71ef4c678f710",
      "tree": "441cdc48497b84c823330241ecff147642e136a4",
      "parents": [
        "0ec48915e8bbb37dea3df85c41e4c3498b95664b"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Mon Sep 21 17:04:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:48 2009 -0700"
      },
      "message": "lis3: add free-fall/wakeup function via platform_data\n\nThis offers a way for platforms to define flags and thresholds for the\nfree-fall/wakeup functions of the lis302d chips.\n\nMore registers needed to be seperated as they are specific to the\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ec48915e8bbb37dea3df85c41e4c3498b95664b",
      "tree": "33818fe22473c3019f10ce1f58f83e003ea4c5af",
      "parents": [
        "0bf41d9f414a5cf558aff234a0ff486257537574"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Mon Sep 21 17:04:42 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:48 2009 -0700"
      },
      "message": "lis3: fix typo\n\nBit 0x80 in CTRL_REG3 is an ACTIVE_LOW rather than an ACTIVE_HIGH\nfunction, I got that wrong during my last change.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Eric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45b588d6e5cc172704bac0c998ce54873b149b22",
      "tree": "57a9d3478af60fcf6932c1f61b083b9203ef1ee8",
      "parents": [
        "4af5a2f770cc8575840ccb1514ec76ecb592985c"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Sep 21 17:04:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "flex_array: introduce DEFINE_FLEX_ARRAY\n\nFLEX_ARRAY_INIT(element_size, total_nr_elements) cannot determine if\neither parameter is valid, so flex arrays which are statically allocated\nwith this interface can easily become corrupted or reference beyond its\nallocated memory.\n\nThis removes FLEX_ARRAY_INIT() as a struct flex_array initializer since no\ninitializer may perform the required checking.  Instead, the array is now\ndefined with a new interface:\n\n\tDEFINE_FLEX_ARRAY(name, element_size, total_nr_elements)\n\nThis may be prefixed with `static\u0027 for file scope.\n\nThis interface includes compile-time checking of the parameters to ensure\nthey are valid.  Since the validity of both element_size and\ntotal_nr_elements depend on FLEX_ARRAY_BASE_SIZE and FLEX_ARRAY_PART_SIZE,\nthe kernel build will fail if either of these predefined values changes\nsuch that the array parameters are no longer valid.\n\nSince BUILD_BUG_ON() requires compile time constants, several of the\nstatic inline functions that were once local to lib/flex_array.c had to be\nmoved to include/linux/flex_array.h.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nAcked-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4af5a2f770cc8575840ccb1514ec76ecb592985c",
      "tree": "7af18234d7d171a946925e65e987fd51648be3aa",
      "parents": [
        "19da3dd157f8db6fe727ff268dab4791d55a6371"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Sep 21 17:04:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "flex_array: add flex_array_shrink function\n\nAdd a new function to the flex_array API:\n\n\tint flex_array_shrink(struct flex_array *fa)\n\nThis function will free all unused second-level pages.  Since elements are\nnow poisoned if they are not allocated with __GFP_ZERO, it\u0027s possible to\nidentify parts that consist solely of unused elements.\n\nflex_array_shrink() returns the number of pages freed.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19da3dd157f8db6fe727ff268dab4791d55a6371",
      "tree": "4259074638b384e765c73542d74dd8f44750068b",
      "parents": [
        "e6de3988aa52debb25a427d085061f3bf1181d54"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Sep 21 17:04:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "flex_array: poison free elements\n\nNewly initialized flex_array\u0027s and/or flex_array_part\u0027s are now poisoned\nwith a new poison value, FLEX_ARRAY_FREE.  It\u0027s value is similar to\nPOISON_FREE used in the various slab allocators, but is different to\ndistinguish between flex array\u0027s poisoned kmem and slab allocator poisoned\nkmem.\n\nThis will allow us to identify flex_array_part\u0027s that only contain free\nelements (and free them with an addition to the flex_array API).  This\ncould also be extended in the future to identify `get\u0027 uses on elements\nthat have not been `put\u0027.\n\nIf __GFP_ZERO is passed for a part\u0027s gfp mask, the poisoning is avoided.\nThese elements are considered to be in-use since they have been\ninitialized.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6de3988aa52debb25a427d085061f3bf1181d54",
      "tree": "4a5dd6acac3e73049918c646bd977894335e5560",
      "parents": [
        "2f30b1f9e1b612cdd1a17daeecf514229e8d6a5f"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Sep 21 17:04:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "flex_array: add flex_array_clear function\n\nAdd a new function to the flex_array API:\n\n\tint flex_array_clear(struct flex_array *fa,\n\t\t\t\tunsigned int element_nr)\n\nThis function will zero the element at element_nr in the flex_array.\n\nAlthough this is equivalent to using flex_array_put() and passing a\npointer to zero\u0027d memory, flex_array_clear() does not require such a\npointer to memory that would most likely need to be allocated on the\ncaller\u0027s stack which could be significantly large depending on\nelement_size.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69d25870f20c4b2563304f2b79c5300dd60a067e",
      "tree": "cda2b2d65c1be95420c6ba92ae2d40fade4232c4",
      "parents": [
        "45d80eea87c9f8292d2d33173d6866c0ec57238a"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Mon Sep 21 17:04:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:45 2009 -0700"
      },
      "message": "cpuidle: fix the menu governor to boost IO performance\n\nFix the menu idle governor which balances power savings, energy efficiency\nand performance impact.\n\nThe reason for a reworked governor is that there have been serious\nperformance issues reported with the existing code on Nehalem server\nsystems.\n\nTo show this I\u0027m sure Andrew wants to see benchmark results:\n(benchmark is \"fio\", \"no cstates\" is using \"idle\u003dpoll\")\n\n\t\tno cstates\tcurrent linux\tnew algorithm\n1 disk\t\t107 Mb/s\t85 Mb/s\t\t105 Mb/s\n2 disks\t\t215 Mb/s\t123 Mb/s\t209 Mb/s\n12 disks\t590 Mb/s\t320 Mb/s\t585 Mb/s\n\nIn various power benchmark measurements, no degredation was found by our\nmeasurement\u0026diagnostics team.  Obviously a small percentage more power was\nused in the \"fio\" benchmark, due to the much higher performance.\n\nWhile it would be a novel idea to describe the new algorithm in this\ncommit message, I cheaped out and described it in comments in the code\ninstead.\n\n[changes since first post: spelling fixes from akpm, review feedback,\nfolded menu-tng into menu.c]\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3d2d827f5ca5e32816194119d5c980c7e04474a6",
      "tree": "fe0e84669f5f20e1dff8e3dc6b191b4d5dfc0145",
      "parents": [
        "425fbf047cc70bb30dff368a6da02c8c2d229318"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Sep 21 17:03:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "mm: move use_mm/unuse_mm from aio.c to mm/\n\nAnyone who wants to do copy to/from user from a kernel thread, needs\nuse_mm (like what fs/aio has).  Move that into mm/, to make reusing and\nexporting easier down the line, and make aio use it.  Next intended user,\nbesides aio, will be vhost-net.\n\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@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": "4e52780d41a741fb4861ae1df2413dd816ec11b1",
      "tree": "b3722349661ed0ce87841b110f568616892cf719",
      "parents": [
        "90f72aa58bbf076b68e289fbd71eb829bc505923"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "ebmunson@us.ibm.com",
        "time": "Mon Sep 21 17:03:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:42 2009 -0700"
      },
      "message": "hugetlb: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions\n\nAdd a flag for mmap that will be used to request a huge page region that\nwill look like anonymous memory to userspace.  This is accomplished by\nusing a file on the internal vfsmount.  MAP_HUGETLB is a modifier of\nMAP_ANONYMOUS and so must be specified with it.  The region will behave\nthe same as a MAP_ANONYMOUS region using small pages.\n\n[akpm@linux-foundation.org: fix arch definitions of MAP_HUGETLB]\nSigned-off-by: Eric B Munson \u003cebmunson@us.ibm.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "90f72aa58bbf076b68e289fbd71eb829bc505923",
      "tree": "992e5f59086cc77581fa10b52fb4a46fb3baf3f0",
      "parents": [
        "6bfde05bf5c9682e255c6a2c669dc80f91af6296"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Sep 21 17:03:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "mm: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions\n\nAdd a flag for mmap that will be used to request a huge page region that\nwill look like anonymous memory to user space.  This is accomplished by\nusing a file on the internal vfsmount.  MAP_HUGETLB is a modifier of\nMAP_ANONYMOUS and so must be specified with it.  The region will behave\nthe same as a MAP_ANONYMOUS region using small pages.\n\nThe patch also adds the MAP_STACK flag, which was previously defined only\non some architectures but not on others.  Since MAP_STACK is meant to be a\nhint only, architectures can define it without assigning a specific\nmeaning to it.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Eric B Munson \u003cebmunson@us.ibm.com\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6bfde05bf5c9682e255c6a2c669dc80f91af6296",
      "tree": "3ff62bb87fc12c1ce808a54f789c42c35be7c049",
      "parents": [
        "f8dbf0a7a4c5d98e8b70da9f7f4f6a89f3b7a7bb"
      ],
      "author": {
        "name": "Eric B Munson",
        "email": "ebmunson@us.ibm.com",
        "time": "Mon Sep 21 17:03:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "hugetlbfs: allow the creation of files suitable for MAP_PRIVATE on the vfs internal mount\n\nThis patchset adds a flag to mmap that allows the user to request that an\nanonymous mapping be backed with huge pages.  This mapping will borrow\nfunctionality from the huge page shm code to create a file on the kernel\ninternal mount and use it to approximate an anonymous mapping.  The\nMAP_HUGETLB flag is a modifier to MAP_ANONYMOUS and will not work without\nboth flags being preset.\n\nA new flag is necessary because there is no other way to hook into huge\npages without creating a file on a hugetlbfs mount which wouldn\u0027t be\nMAP_ANONYMOUS.\n\nTo userspace, this mapping will behave just like an anonymous mapping\nbecause the file is not accessible outside of the kernel.\n\nThis patchset is meant to simplify the programming model.  Presently there\nis a large chunk of boiler platecode, contained in libhugetlbfs, required\nto create private, hugepage backed mappings.  This patch set would allow\nuse of hugepages without linking to libhugetlbfs or having hugetblfs\nmounted.\n\nUnification of the VM code would provide these same benefits, but it has\nbeen resisted each time that it has been suggested for several reasons: it\nwould break PAGE_SIZE assumptions across the kernel, it makes page-table\nabstractions really expensive, and it does not provide any benefit on\narchitectures that do not support huge pages, incurring fast path\npenalties without providing any benefit on these architectures.\n\nThis patch:\n\nThere are two means of creating mappings backed by huge pages:\n\n        1. mmap() a file created on hugetlbfs\n        2. Use shm which creates a file on an internal mount which essentially\n           maps it MAP_SHARED\n\nThe internal mount is only used for shared mappings but there is very\nlittle that stops it being used for private mappings. This patch extends\nhugetlbfs_file_setup() to deal with the creation of files that will be\nmapped MAP_PRIVATE on the internal hugetlbfs mount. This extended API is\nused in a subsequent patch to implement the MAP_HUGETLB mmap() flag.\n\nSigned-off-by: Eric Munson \u003cebmunson@us.ibm.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f96b79ad96263cc0ece7bb340cddf9b2ddfb1b3",
      "tree": "0da9828c16543164f1b055fd927ea3e222ca05e5",
      "parents": [
        "cdf7b3418ad5a8783efe8f9124023d9b869fec0f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:41 2009 -0700"
      },
      "message": "tmpfs: depend on shmem\n\nCONFIG_SHMEM off gives you (ramfs masquerading as) tmpfs, even when\nCONFIG_TMPFS is off: that\u0027s a little anomalous, and I\u0027d intended to make\nmore sense of it by removing CONFIG_TMPFS altogether, always enabling its\ncode when CONFIG_SHMEM; but so many defconfigs have CONFIG_SHMEM on\nCONFIG_TMPFS off that we\u0027d better leave that as is.\n\nBut there is no point in asking for CONFIG_TMPFS if CONFIG_SHMEM is off:\nmake TMPFS depend on SHMEM, which also prevents TMPFS_POSIX_ACL\nshmem_acl.o being pointlessly built into the kernel when SHMEM is off.\n\nAnd a selfish change, to prevent the world from being rebuilt when I\nswitch between CONFIG_SHMEM on and off: the only CONFIG_SHMEM in the\nheader files is mm.h shmem_lock() - give that a shmem.c stub instead.\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58fa879e1e640a1856f736b418984ebeccee1c95",
      "tree": "dc37bce8379e29c46e79f105cc71d137b14965cf",
      "parents": [
        "a13ea5b759645a0779edc6dbfec9abfd83220844"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: FOLL flags for GUP flags\n\n__get_user_pages() has been taking its own GUP flags, then processing\nthem into FOLL flags for follow_page().  Though oddly named, the FOLL\nflags are more widely used, so pass them to __get_user_pages() now.\nSorry, VM flags, VM_FAULT flags and FAULT_FLAGs are still distinct.\n\n(The patch to __get_user_pages() looks peculiar, with both gup_flags\nand foll_flags: the gup_flags remain constant; but as before there\u0027s\nan exceptional case, out of scope of the patch, in which foll_flags\nper page have FOLL_WRITE masked off.)\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@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": "2a15efc953b26ad57d7d38b9e6782d57e53b4ab2",
      "tree": "f4d04903b3303e80460d2fa3f38da2b7eea82d22",
      "parents": [
        "8e4b9a60718970bbc02dfd3abd0b956ab65af231"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Mon Sep 21 17:03:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:40 2009 -0700"
      },
      "message": "mm: follow_hugetlb_page flags\n\nfollow_hugetlb_page() shouldn\u0027t be guessing about the coredump case\neither: pass the foll_flags down to it, instead of just the write bit.\n\nRemove that obscure huge_zeropage_ok() test.  The decision is easy,\nthough unlike the non-huge case - here vm_ops-\u003efault is always set.\nBut we know that a fault would serve up zeroes, unless there\u0027s\nalready a hugetlbfs pagecache page to back the range.\n\n(Alternatively, since hugetlb pages aren\u0027t swapped out under pressure,\nyou could save more dump space by arguing that a page not yet faulted\ninto this process cannot be relevant to the dump; but that would be\nmore surprising.)\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "8e4b9a60718970bbc02dfd3abd0b956ab65af231"
}
