)]}'
{
  "log": [
    {
      "commit": "f28dc2f78bbcbf07b8a084fcd89cf6b4256f0664",
      "tree": "ac051fe9264ff967cea12f96ac7dd58e52bca409",
      "parents": [
        "e0ae87a49cf3e721313bf8942299f3f140c6963c"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Nov 04 23:44:23 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (gl520sm) Various cleanups\n\n* Drop trailing spaces\n* Drop unused driver ID\n* Drop stray backslashes in macros\n* Rename new_client to client\n* Drop redundant initializations to 0\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "e0ae87a49cf3e721313bf8942299f3f140c6963c",
      "tree": "3c0bb9dbfed442835da5a8432fb179170432c9f9",
      "parents": [
        "72240307e988627df46553846936aa89a0f6a283"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Nov 25 21:58:21 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (lm90) Use generic i2c reads during detection\n\nAs indirectly reported by Olof Johansson, the lm90 driver uses a\ncustom i2c read function even during detection, at which point we\ndon\u0027t know yet what device we\u0027re talking with. It would make more\nsense to only use the generic i2c read function at this point, so\nthat we don\u0027t log irrelevant errors on misdetection.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "72240307e988627df46553846936aa89a0f6a283",
      "tree": "b4def278323a7f91376bc8a996e1b29f112e7fa1",
      "parents": [
        "21df67b191fd612fa28aedd39ec1414d8effc454"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Oct 23 14:02:24 2007 +0200"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (gl518sm) Fix the reported fan speed\n\nThe fan speeds reported by the gl518sm driver are twice as much as they\nshould. It\u0027s currently reporting the number of pulses per minute, not\nrotations per minute, while typical fans emit two pulses per rotation.\nThis explains why all reports with this driver had very high speed\nvalues (between 9000 to 12000 RPM). Odd that nobody ever actually\ncomplained about this bug.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "21df67b191fd612fa28aedd39ec1414d8effc454",
      "tree": "92a73a43ac9361cf30b7d71f228edaaefa666415",
      "parents": [
        "da6848da293b88e5ac46f5ecc6ae41122d5f680b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Oct 22 17:47:58 2007 +0200"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (gl518sm) Report error on invalid fan div value\n\nIf the user attempts to write a fan clock divider not supported by\nthe chip, an error should be returned.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "da6848da293b88e5ac46f5ecc6ae41122d5f680b",
      "tree": "401d6b3bc8ece09443cf47457b226eee9b7ac114",
      "parents": [
        "28292e79dcecac3688530a7f78d1930b78fac96b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Oct 22 17:47:16 2007 +0200"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (gl518sm) Add individual alarm and beep files\n\nThe new libsensors needs these.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "28292e79dcecac3688530a7f78d1930b78fac96b",
      "tree": "2a8d3ccd81946e14e5ee27af300ff6cc3d475985",
      "parents": [
        "5314f5c1abf03a56c6607ddef96b7a5607bee2f8"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Oct 22 17:46:42 2007 +0200"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (gl518sm) Refactor fan functions\n\nThis makes the code more readable and the binary smaller (by 5% or so).\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "5314f5c1abf03a56c6607ddef96b7a5607bee2f8",
      "tree": "2f9b19bed0f6a55bc34c6220b9366d79f6be23d9",
      "parents": [
        "a5955ed27497385cc491ecbe40af45951e830881"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Oct 22 17:46:17 2007 +0200"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (gl518sm) Don\u0027t create sysfs files for missing features\n\nThe early revisions of the GL518SM do not report voltage values for\nthe first 3 voltage channels. We should not create sysfs attributes\nfor these missing features.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "a5955ed27497385cc491ecbe40af45951e830881",
      "tree": "7538f45fcf8cd98a1b12172c858f4067a7968b24",
      "parents": [
        "7dcf9a31ef50367e474e5e320e8ec5e0a8b9d2f0"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Mon Oct 22 17:45:08 2007 +0200"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (gl518sm) Various cleanups\n\n* Drop history, it doesn\u0027t belong there\n* Drop unused struct member\n* Drop bogus struct member comment\n* Drop unused driver ID\n* Rename new_client to client\n* Drop redundant initializations to 0\n* Drop useless cast\n* Drop trailing space\n* Fix comment\n* Drop duplicate comment\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "7dcf9a31ef50367e474e5e320e8ec5e0a8b9d2f0",
      "tree": "e8e3603560f73eb3fbcfc927711e016947d253b3",
      "parents": [
        "4e9527998f8673b1e3bb6f9645b9700e7973581e"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Nov 24 17:45:09 2007 -0500"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (fschmd) Discard non-ASCII characters\n\nSomehow non-ASCII characters managed to sneak into the fschmd driver.\nKick them out.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Hans de Goede \u003cj.w.r.degoede@hhs.nl\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "4e9527998f8673b1e3bb6f9645b9700e7973581e",
      "tree": "b7c53d4e2756890103f75ed35d12a1d7dde3a4be",
      "parents": [
        "bb081300326335594c273107fcd4e5bdad765ae7"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Wed Oct 10 21:14:11 2007 +0200"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (adm1025) Various cleanups\n\n* Whitespace cleanups\n* Constify scaling constants\n* Fold long lines\n* Drop redundant initializations to 0\n* Rename new_client to just client\n* Use sysfs_create_group()\n* Drop a useless comment\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "bb081300326335594c273107fcd4e5bdad765ae7",
      "tree": "1b76e5abc0f3ba30f858a112bd1537ba45f393c0",
      "parents": [
        "d8543e7f30fe9306c8d5a16086bf75f71ab79acf"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Wed Oct 10 21:11:52 2007 +0200"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (adm1025) Add individual alarm files\n\nThe future libsensors needs these individual alarm and fault files.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "d8543e7f30fe9306c8d5a16086bf75f71ab79acf",
      "tree": "a9fe72585338d37f03ee17675cb5f8f6fcc5623d",
      "parents": [
        "c7fa373796ea685874ca9525eeb3d0d0951e511b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Wed Oct 10 21:11:01 2007 +0200"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:41 2008 -0500"
      },
      "message": "hwmon: (adm1025) Use dynamic sysfs callbacks\n\nThis lets us get rid of macro-generated functions and shrinks the\ndriver size by about 30%.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "c7fa373796ea685874ca9525eeb3d0d0951e511b",
      "tree": "c0079be25686be32ee1d99193c41edb4e19ad37c",
      "parents": [
        "85f03bccd6e0e2ac6ccf017d4bcd5d74bb87a671"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Tue Oct 09 15:22:22 2007 +0200"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:40 2008 -0500"
      },
      "message": "hwmon: (lm87) Add support for the Analog Devices ADM1024\n\nIt happens that the Analog Devices ADM1024 is fully compatible with\nthe National Semiconductor LM87, so support for the former can easily\nbe added to the lm87 driver.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "85f03bccd6e0e2ac6ccf017d4bcd5d74bb87a671",
      "tree": "2e71c1f5edbbb9e78237da39f208514656c873a1",
      "parents": [
        "ce9c2f449b9e6b68d3a71ba146d64c44c8945d8d"
      ],
      "author": {
        "name": "Kevin Lo",
        "email": "kevlo@kevlo.org",
        "time": "Fri Nov 23 09:31:52 2007 +0800"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:40 2008 -0500"
      },
      "message": "hwmon: Add support for Winbond W83L786NG/NR\n\nSigned-off-by: Kevin Lo \u003ckevlo@kevlo.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "ce9c2f449b9e6b68d3a71ba146d64c44c8945d8d",
      "tree": "bb22c3bdb79fdfaad4b6ab595f3f054019e14066",
      "parents": [
        "5aebefb08682ebd67ea0b902950d00169e1451cb"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Tue Nov 06 03:21:42 2007 -0500"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:40 2008 -0500"
      },
      "message": "hwmon: (adt7470) Replace power-of-two test\n\nSince \u003clinux/log2.h\u003e already supplies a power-of-two test, there\u0027s no\npoint in having this source file redefine it again.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "5aebefb08682ebd67ea0b902950d00169e1451cb",
      "tree": "f708da371342a458f773aad2fa9b76dee67d64fb",
      "parents": [
        "6722feada7f6213ba06d510ef853e57ddcd59dae"
      ],
      "author": {
        "name": "Nicolas Kaiser",
        "email": "nikai@nikai.net",
        "time": "Wed Nov 07 13:28:59 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:40 2008 -0500"
      },
      "message": "hwmon: (w83793) remove duplicated defines\n\nRemove duplicated defines.\n\nSigned-off-by: Nicolas Kaiser \u003cnikai@nikai.net\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "6722feada7f6213ba06d510ef853e57ddcd59dae",
      "tree": "5b6f21f4b961795d3202b4ea88a7aadb80eabe1d",
      "parents": [
        "7fce084a0b3e2bb8caef919f8f36065953655bb5"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sun Oct 07 12:25:46 2007 +0200"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:40 2008 -0500"
      },
      "message": "hwmon: (lm78/w83781d) Probe fewer I2C addresses\n\nWe\u0027ve never seen any device supported by the lm78 or w83781d driver at\naddresses 0x20-0x27, so let\u0027s stop probing these addresses. Extra probes cost\ntime, and have potential for confusing or misdetecting other I2C devices.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "7fce084a0b3e2bb8caef919f8f36065953655bb5",
      "tree": "a5bf95b6321ec488dc8a0667b652bb50479a32da",
      "parents": [
        "df922075f2a55b1ae71a6fe589c1cc1b91381f4f"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Nov 03 17:29:20 2007 +0100"
      },
      "committer": {
        "name": "Mark M. Hoffman",
        "email": "mhoffman@lightlink.com",
        "time": "Thu Feb 07 20:39:40 2008 -0500"
      },
      "message": "dmi: Let drivers walk the DMI table\n\nLet drivers walk the DMI table for their own needs. Some drivers need\ndata stored in OEM-specific DMI records for proper operation.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Mark M. Hoffman \u003cmhoffman@lightlink.com\u003e\n"
    },
    {
      "commit": "df922075f2a55b1ae71a6fe589c1cc1b91381f4f",
      "tree": "d0967cdb5b20d2da7e669522a5e450616697f180",
      "parents": [
        "6e5565f949af1322f8f3d3f43d044645ae448499",
        "ef1fc2f01e02951a0d8520ec3aa0b38606d74b55"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 13:21:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 13:21:02 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:\n  BKL-removal: Implement a compat_ioctl handler for JFS\n  BKL-removal: Use unlocked_ioctl for jfs\n"
    },
    {
      "commit": "6e5565f949af1322f8f3d3f43d044645ae448499",
      "tree": "92868f6d3dcc6c105a0d35f9412f75c07139402e",
      "parents": [
        "e5a9e8e6890d9b9c7a0f25b03ffdaf28614a9a4c",
        "03366e7b9bf1544cb0b98f1a5cd6d340654f486a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 12:57:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 12:57:44 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (34 commits)\n  Input: i8042 - non-x86 build fix\n  Input: pxa27x_keypad - also enable on PXA3xx\n  Input: pxa27x_keypad - add debounce_interval to the keypad platform data\n  Input: pxa27x_keypad - use device resources for I/O memory mapping and IRQ\n  Input: pxa27x_keypad - enable rotary encoders and direct keys\n  Input: pxa27x_keypad - introduce pxa27x_keypad_config()\n  Input: pxa27x_keypad - introduce driver structure and use KEY() to define matrix keys\n  Input: pxa27x_keypad - remove pin configuration from the driver\n  Input: pxa27x_keypad - rename the driver (was pxa27x_keyboard)\n  Input: constify function pointer tables (seq_operations)\n  Input: i8042 - add Fujitsu-Siemens Amilo Pro 2010 to nomux list\n  Input: i8042 - enable DMI quirks on x86-64\n  Input: i8042 - add Dritek quirk for Acer Aspire 9110\n  Input: add input event to APM event bridge\n  Input: mousedev - use BIT_MASK instead of BIT\n  Input: remove duplicate includes\n  Input: remove cdev from input_dev structure\n  Input: remove duplicated headers in drivers/char/keyboard.c\n  Input: i8042 - add Dritek keyboard extension quirk\n  Input: add Tosa keyboard driver\n  ...\n"
    },
    {
      "commit": "e5a9e8e6890d9b9c7a0f25b03ffdaf28614a9a4c",
      "tree": "5e8fbbcbb7516c8eca9c431b47c70c752823af39",
      "parents": [
        "bfa271d026fef5d8db9a95342c38eab6f7b287a2",
        "d24fbcda0c4988322949df3d759f1cfb32b32953"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 12:46:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 12:46:35 2008 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:\n  ocfs2: Negotiate locking protocol versions.\n"
    },
    {
      "commit": "bfa271d026fef5d8db9a95342c38eab6f7b287a2",
      "tree": "f8312f1f96edd4025640039e0f25a685f8185573",
      "parents": [
        "123f794fa7d592644881a20801638d88521d0b06",
        "969affd276dec81a35a5ad10d4e05e62e93b380b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 12:45:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 12:45:28 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:\n  sysfs: remove BUG_ON() from sysfs_remove_group()\n  Driver core: Revert \"Fix Firmware class name collision\"\n  Block: Fix whole_disk attribute bug\n"
    },
    {
      "commit": "ef1fc2f01e02951a0d8520ec3aa0b38606d74b55",
      "tree": "463a76f46af50169643ed5c1f5c7a6060e26bbaa",
      "parents": [
        "baab81fa518ecfac597402b462631f5593926623"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sun Jan 27 17:02:02 2008 -0600"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Thu Feb 07 13:45:29 2008 -0600"
      },
      "message": "BKL-removal: Implement a compat_ioctl handler for JFS\n\nThe ioctls were already compatible except for the actual values so this\nwas fairly easy to do.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "123f794fa7d592644881a20801638d88521d0b06",
      "tree": "9782b0bde7ffc24a3719b208dbb703e480360c5e",
      "parents": [
        "0afc2edfada50980bec999f94dcea26ebad3dda6"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jesse.barnes@intel.com",
        "time": "Thu Feb 07 11:15:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 11:35:13 2008 -0800"
      },
      "message": "i915: Fix GR register array size off-by-one bug\n\nMake sure we have enough room for all the GR registers or we\u0027ll end up\nclobbering the AR index register (which should actually be harmless\nunless the BIOS is making an assumption about it).\n\nNoticed-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jesse Barnes \u003cjesse.barnes@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "baab81fa518ecfac597402b462631f5593926623",
      "tree": "de6339ce964d91959a93401117992df409280812",
      "parents": [
        "0afc2edfada50980bec999f94dcea26ebad3dda6"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sun Jan 27 16:58:51 2008 -0600"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Thu Feb 07 13:33:58 2008 -0600"
      },
      "message": "BKL-removal: Use unlocked_ioctl for jfs\n\nConvert jfs_ioctl over to not use the BKL. The only potential race\nI could see was with two ioctls in parallel changing the flags\nand losing the updates. Use the i_mutex to protect against this.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "969affd276dec81a35a5ad10d4e05e62e93b380b",
      "tree": "a6a6bb9f2b658838f09ad28d58211252a5e7db6f",
      "parents": [
        "7d640c4a5b36c4733460065db1554da924044511"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 07 11:58:54 2008 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 07 11:31:46 2008 -0800"
      },
      "message": "sysfs: remove BUG_ON() from sysfs_remove_group()\n\nIt\u0027s possible that the caller of sysfs_remove_group messed up and passed in an attribute group that was not really registered to this kobject.  But don\u0027t panic for such a foolish error, spit out a warning about what happened, and continue on our way safely.\n\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7d640c4a5b36c4733460065db1554da924044511",
      "tree": "6ab503d57bec89f011b7f034648afbffd4918b9a",
      "parents": [
        "f4a00a2c06bc7802f52969cbdd19f4c680a7cd20"
      ],
      "author": {
        "name": "Michael E Brown",
        "email": "Michael_E_Brown@dell.com",
        "time": "Tue Jan 29 15:35:01 2008 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 07 11:31:46 2008 -0800"
      },
      "message": "Driver core: Revert \"Fix Firmware class name collision\"\n\nThis reverts commit 109f0e93b6b728f03c1eb4af02bc25d71b646c59.\n\nThe original patch breaks BIOS updates on all Dell machines. The path to\nthe firmware file for the dell_rbu driver changes, which breaks all of\nthe userspace tools which rely on it.\n\nNote that this patch re-introduces a problem with i2c name collision\nthat was previously fixed by this patch.\n\nSigned-off-by: Michael E Brown \u003cmichael_e_brown@dell.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f4a00a2c06bc7802f52969cbdd19f4c680a7cd20",
      "tree": "a8ee7e8a210ed01f5c9be0e981f1188f7e06bd10",
      "parents": [
        "0afc2edfada50980bec999f94dcea26ebad3dda6"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Feb 06 23:33:39 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 07 11:31:46 2008 -0800"
      },
      "message": "Block: Fix whole_disk attribute bug\n\nThe \"whole_disk\" attribute was not properly converted in the block\ndevice conversion earlier, and if the file is read, bad things can\nhappen.  This patch fixes this, making the attribute an empty one,\npreserving the original functionality.\n\nMany thanks to David Miller for finding this, and pointing me in the\nproper place within the block code to look.\n\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0afc2edfada50980bec999f94dcea26ebad3dda6",
      "tree": "8963dd8fd78ee5c3481acad5903bc459bd3d055c",
      "parents": [
        "a8e98d6d51a3eb7bb061b1625193a129c8bd094f",
        "d256eb8db60e36fc5dd0a27ce8a64f65df31f7b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 10:21:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 10:21:26 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  [SPARC32]: Use regsets in arch_ptrace().\n  [SPARC64]: Use regsets in arch_ptrace().\n  [SPARC32]: Use regsets for ELF core dumping.\n  [SPARC64]: Use regsets for ELF core dumping.\n  [SPARC64]: Remove unintentional ptrace debugging messages.\n  [SPARC]: Move over to arch_ptrace().\n  [SPARC]: Remove PTRACE_SUN* handling.\n  [SPARC]: Kill DEBUG_PTRACE code.\n  [SPARC32]: Add user regset support.\n  [SPARC64]: Add user regsets.\n  [SPARC64]: Fix booting on non-zero cpu.\n"
    },
    {
      "commit": "a8e98d6d51a3eb7bb061b1625193a129c8bd094f",
      "tree": "0fa58b6e11e37023b024e55b8f0e7e01438706d4",
      "parents": [
        "f0f1b3364ae7f48084bdf2837fb979ff59622523",
        "f9f7dd222364a6428d2ad99a515935dd1dd89d18"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 10:20:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 10:20:31 2008 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (120 commits)\n  [MTD] Fix mtdoops.c compilation\n  [MTD] [NOR] fix startup lock when using multiple nor flash chips\n  [MTD] [DOC200x] eccbuf is statically defined and always evaluate to true\n  [MTD] Fix maps/physmap.c compilation with CONFIG_PM\n  [MTD] onenand: Add panic_write function to the onenand driver\n  [MTD] mtdoops: Use the panic_write function when present\n  [MTD] Add mtd panic_write function pointer\n  [MTD] [NAND] Freescale enhanced Local Bus Controller FCM NAND support.\n  [MTD] physmap.c: Add support for multiple resources\n  [MTD] [NAND] Fix misparenthesization introduced by commit 78b65179...\n  [MTD] [NAND] Fix Blackfin NFC ECC calculating bug with page size 512 bytes\n  [MTD] [NAND] Remove wrong operation in PM function of the BF54x NFC driver\n  [MTD] [NAND] Remove unused variable in plat_nand_remove\n  [MTD] Unlocking all Intel flash that is locked on power up.\n  [MTD] [NAND] at91_nand: Make mtdparts option can override board info\n  [MTD] mtdoops: Various minor cleanups\n  [MTD] mtdoops: Ensure sequential write to the buffer\n  [MTD] mtdoops: Perform write operations in a workqueue\n  [MTD] mtdoops: Add further error return code checking\n  [MTD] [NOR] Test devtype, not definition in flash_probe(), drivers/mtd/devices/lart.c\n  ...\n"
    },
    {
      "commit": "f0f1b3364ae7f48084bdf2837fb979ff59622523",
      "tree": "e5ef68c0071f44178cc8d1948b64e216d57422aa",
      "parents": [
        "4383f18b7f94a4d668c5eec68645c75d44556235",
        "b7143156c9ceee1a072c57aac8729d2dec5b3bf1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:45:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:45:58 2008 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (112 commits)\n  ACPI: fix build warning\n  Revert \"cpuidle: build fix for non-x86\"\n  ACPI: update intrd DSDT override console messages\n  ACPI: update DSDT override documentation\n  ACPI: Add \"acpi_no_initrd_override\" kernel parameter\n  ACPI: its a directory not a folder....\n  ACPI: misc cleanups\n  ACPI: add missing prink prefix strings\n  ACPI: cleanup acpi.h\n  ACPICA: fix CONFIG_ACPI_DEBUG_FUNC_TRACE build\n  ACPI: video: Ignore ACPI video devices that aren\u0027t present in hardware\n  ACPI: video: reset brightness on resume\n  ACPI: video: call ACPI notifier chain for ACPI video notifications\n  ACPI: create notifier chain to get hotkey events to graphics driver\n  ACPI: video: delete unused display switch on hotkey event code\n  ACPI: video: create \"brightness_switch_enabled\" modparam\n  cpuidle: Add a poll_idle method\n  ACPI: cpuidle: Support C1 idle time accounting\n  ACPI: enable MWAIT for C1 idle\n  ACPI: idle: Fix acpi_safe_halt usages and interrupt enabling/disabling\n  ...\n"
    },
    {
      "commit": "4383f18b7f94a4d668c5eec68645c75d44556235",
      "tree": "829ef77b976fb914c65166ac906595e5c0264f0f",
      "parents": [
        "3d50337f62a61027f40ad4ceddefa3c91e5d479e",
        "ec072b0f8bc8e885a8572418ad4b6802c027ca01"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:45:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:45:37 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-backlight\n\n* \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-backlight:\n  backlight: Add OMAP1 PWL backlight driver\n  backlight: Avoid unecessary driver callbacks\n"
    },
    {
      "commit": "3d50337f62a61027f40ad4ceddefa3c91e5d479e",
      "tree": "c89bed784ab0fc402e9f4155f500170c9a335949",
      "parents": [
        "5b808a593588b2e6235c59fcd278791c53667787",
        "d39a7a63eb3971b1b3cc5c181ed526bf437b1c72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:45:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:45:14 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-leds\n\n* \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-leds:\n  leds: Add HP Jornada 6xx driver\n  leds: Remove the now uneeded ixp4xx driver\n  leds: Add power LED to the wrap driver\n  leds: Fix led-gpio active_low default brightness\n  leds: hw acceleration for Clevo mail LED driver\n  leds: Add support for hardware accelerated LED flashing\n  leds: Standardise LED naming scheme\n  leds: Add clevo notebook LED driver\n"
    },
    {
      "commit": "5b808a593588b2e6235c59fcd278791c53667787",
      "tree": "6f163b052b8d9d3e8448dd8caf3459a0372dffc4",
      "parents": [
        "d31d29540915f21d3f2bcfdd6d135fde328038a0"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Feb 07 09:10:37 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:10:06 2008 -0800"
      },
      "message": "m68k: kill page walker compile warning\n\nThe recently introduced page walker (walk_page_range()) calls pgd_offset with a\nconst struct mm_struct pointer, causing the following compile warning on m68k:\n\n    mm/pagewalk.c:111: warning: passing argument 1 of \u0027pgd_offset\u0027 discards qualifiers from pointer target type\n\nMake the `mm\u0027 parameter of the inline function pgd_offset() const to shut it\nup.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d31d29540915f21d3f2bcfdd6d135fde328038a0",
      "tree": "43af1c34adff65dcb316ac8a82f3f05d6de9edad",
      "parents": [
        "7a8c6ad918e9c598bf3b799f1a0d5ee4dee59ca3",
        "3d5e2c13b13468f5eb2ac9323690af7e17f195fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:07:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:07:16 2008 -0800"
      },
      "message": "Merge branch \u0027drm-patches\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-patches\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (22 commits)\n  drm: add initial r500 drm support\n  radeon: setup the ring buffer fetcher to be less agressive.\n  drm: fixup some of the ioctl function exit paths\n  drm: the drm really should call pci_set_master..\n  i915: Add chipset id for Intel Integrated Graphics Device\n  drm: cleanup DRM_DEBUG() parameters\n  drm/i915: add support for E7221 chipset\n  drm: don\u0027t cast a pointer to pointer of list_head\n  mga_dma: return \u0027err\u0027 not just zero from mga_do_cleanup_dma()\n  drm: add _DRM_DRIVER flag, and re-order unload.\n  drm: enable udev node creation\n  drm: Make DRM_IOCTL_GET_CLIENT return EINVAL when it can\u0027t find client #idx.\n  drm: move drm_mem_init to proper place in startup sequence\n  drm: call driver load function after initialising AGP\n  drm: Fix ioc32 compat layer\n  drm: fd.o bug #11895: Only add the AGP base to map offset if the caller didn\u0027t.\n  i915: add suspend/resume support\n  drm: update DRM sysfs support\n  drm: Initialize the AGP structure\u0027s base address at init rather than enable.\n  drm: move two function extern into the correct block\n  ...\n"
    },
    {
      "commit": "7a8c6ad918e9c598bf3b799f1a0d5ee4dee59ca3",
      "tree": "ce1ed4557f44560ba0db2713046edcb9a2a39094",
      "parents": [
        "37969581301e50872a1ae84dc73962b5f7ee6b76",
        "e19717fe2bb3624d8242f66d3825881d11a847dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:03:00 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:03:00 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] Add missing printk levels to e_powersaver\n  [CPUFREQ] Fix sparse warning in powernow-k8\n  [CPUFREQ] Support Model D parts and newer in e_powersaver\n  [CPUFREQ] Powernow-k8: Update to support the latest Turion processors\n  [CPUFREQ] fix configuration help message\n  [CPUFREQ] powernow-k8 print pstate instead of fid/did for family 10h\n  [CPUFREQ] Eliminate cpufreq_userspace scaling_setspeed deadlock\n  [CPUFREQ] gx-suspmod.c: use boot_cpu_data instead of current_cpu_data\n  [CPUFREQ] fix incorrect comment on show_available_freqs() in freq_table.c\n  [CPUFREQ] drivers/cpufreq: Add missing \"space\"\n  [CPUFREQ] arch/x86: Add missing \"space\"\n  [CPUFREQ] Remove pointless Kconfig dependancy\n"
    },
    {
      "commit": "37969581301e50872a1ae84dc73962b5f7ee6b76",
      "tree": "35bbd6a07f903f248f4bd209b8d194a922415fe0",
      "parents": [
        "80ff8a805113850a3ffafcc8e6eaa1fdd51b02f3",
        "24f1a849614ba1805e26a05da7cc8c6bd67490ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:02:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 09:02:26 2008 -0800"
      },
      "message": "Merge branch \u0027for-2.6.25\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027for-2.6.25\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (69 commits)\n  [POWERPC] Add SPE registers to core dumps\n  [POWERPC] Use regset code for compat PTRACE_*REGS* calls\n  [POWERPC] Use generic compat_sys_ptrace\n  [POWERPC] Use generic compat_ptrace_request\n  [POWERPC] Use generic ptrace peekdata/pokedata\n  [POWERPC] Use regset code for PTRACE_*REGS* requests\n  [POWERPC] Switch to generic compat_binfmt_elf code\n  [POWERPC] Switch to using user_regset-based core dumps\n  [POWERPC] Add user_regset compat support\n  [POWERPC] Add user_regset_view definitions\n  [POWERPC] Use user_regset accessors for GPRs\n  [POWERPC] ptrace accessors for special regs MSR and TRAP\n  [POWERPC] Use user_regset accessors for SPE regs\n  [POWERPC] Use user_regset accessors for altivec regs\n  [POWERPC] Use user_regset accessors for FP regs\n  [POWERPC] mpc52xx: fix compile error introduce when rebasing patch\n  [POWERPC] 4xx: PCIe indirect DCR spinlock fix.\n  [POWERPC] Add missing native dcr dcr_ind_lock spinlock\n  [POWERPC] 4xx: Fix offset value on Warp board\n  [POWERPC] 4xx: Add 440EPx Sequoia ehci dts entry\n  ...\n"
    },
    {
      "commit": "80ff8a805113850a3ffafcc8e6eaa1fdd51b02f3",
      "tree": "a3a32729ac9f90dfc051e1af88694b616e4a7230",
      "parents": [
        "1c45607ad3eb7397bc2433f3c36a4ed8b315889e"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:35 2008 -0800"
      },
      "message": "Char: mxser, add support for CP-114UL\n\nAdd new card (0x1393:0x1143) support added in 1.11 original driver, also\nallow rate change in set_serial_info ioctl (as per 1.11 too).\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nReviewed-by: Alan Cox \u003calan@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": "1c45607ad3eb7397bc2433f3c36a4ed8b315889e",
      "tree": "b6794a82b1b18b7249d39883877e197d5961cced",
      "parents": [
        "f122bfb5a43c6b57733eb7a76ad4ed392be6a910"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: mxser, remove it\n\n(Old) mxser is obsoleted by mxser_new and scheduled for removal on Dec 2007.\nRemove it by renaming mxser_new to mxser.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nReviewed-by: Alan Cox \u003calan@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": "f122bfb5a43c6b57733eb7a76ad4ed392be6a910",
      "tree": "c16e50c8d703250da8028998a27ba93da5eb28db",
      "parents": [
        "f83bb2d40a879c21c5085ee8cfc426f9936901ee"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: mxser, ioctl cleanup\n\n- remove dead MOXA_GET_CONF (always returned -ENXIO)\n- remove useless MOXA_GET_CUMAJOR (unused)\n- use get/put_user instead of copy_from/to_user for simple types\n- cleanup TIOCMIWAIT -- return -ERESTARTSYS on signal, move condition into\n  separate function\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nReviewed-by: Alan Cox \u003calan@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": "f83bb2d40a879c21c5085ee8cfc426f9936901ee",
      "tree": "5085aeaafcb49a801c4a97689a80ba83e2338ebe",
      "parents": [
        "0ecd233bb6efa9745dffc6134ceab8aba1aa030b"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: mxser, simplify mxser_get_serial_info\n\nInitialize temp structure directly with proper values without first zeroing\nit and setting later as suggested by Jan.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nReviewed-by: Alan Cox \u003calan@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": "0ecd233bb6efa9745dffc6134ceab8aba1aa030b",
      "tree": "70055ce3f35b113bf7cb8a118c728badcc939b65",
      "parents": [
        "c3667d5c321ac2211d04a746f91a48d339a0e0a1"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: mxser, reorder mxser_cardinfo fields\n\nReorder fields to save some memory and code on 64bit due to alignment as\nsuggested by Jan.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nReviewed-by: Alan Cox \u003calan@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": "c3667d5c321ac2211d04a746f91a48d339a0e0a1",
      "tree": "3ea77cf2e28213d8c44ae67c66b96e5fd420d8e8",
      "parents": [
        "d7f549fa14ed7e3d72927e89dec721eeff4a0159"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: mxser, 0 to NULL in pointer\n\nDon\u0027t test a pointer against 0. Use NULL instead.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nReviewed-by: Alan Cox \u003calan@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": "d7f549fa14ed7e3d72927e89dec721eeff4a0159",
      "tree": "c0f189e162d0245452a281ef6e0ecc52565f2ed3",
      "parents": [
        "f29e37c076cd08004e31297d205d54ac38cf7a20"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: mxser, remove special baudrate processing\n\nLet the special baudrate processing on the tty layer.  Also remove\nset/get_special_rate ioctls introduced in commit\nf64c84a1668930d1ca2b7dbaa92146c2139cb508, since it is no longer needed.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nReviewed-by: Alan Cox \u003calan@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": "f29e37c076cd08004e31297d205d54ac38cf7a20",
      "tree": "896c74c058c443507a1cf99241449eb87099e96f",
      "parents": [
        "b98e70de7836cf0ea49b6714b2455381865b1260"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Thu Feb 07 00:16:41 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "mxser/mxser_new: first pass over termios reporting for the mxser cards\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Jiri Slaby \u003cjirislaby@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": "b98e70de7836cf0ea49b6714b2455381865b1260",
      "tree": "2d738af030c1c2c478f707fbe4a8b7da55c2db2d",
      "parents": [
        "3099bbc59435928fbd1f4ebd835f825bca755bbb"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:41 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: riscom8, remove wakeup and hangup bottomhalves\n\nBoth of them may be called directly from the code, don\u0027t add special code\nand variables and schedule a work for them.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@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": "3099bbc59435928fbd1f4ebd835f825bca755bbb",
      "tree": "5468ed4ca5b1a9f6bba66b1e0eadf379e0b909e0",
      "parents": [
        "ccfea3c98a10b9d4d49b899616a06594ec976d7d"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: serial167, remove bottomhalf\n\n- Cy_EVENT_OPEN_WAKEUP is simple wake_up\n- Cy_EVENT_HANGUP is wake_up + tty_hangup, which schedules its own work\n- Cy_EVENT_WRITE_WAKEUP is tty_wakeup which may be called directly too\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@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": "ccfea3c98a10b9d4d49b899616a06594ec976d7d",
      "tree": "cea834a683e572015a51dbf122603c20d040c1f7",
      "parents": [
        "d0d4e1c098754bfbb2aeb94333756d63d255688e"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: stallion, remove bottomhalf\n\n- tty_hangup schedules a bottomhalf itself, tty_wakeup doesn\u0027t need it\n- call the CD code (part of work handler previously) directly from the code\n  (it wakes somebody up or calls tty_hangup at worse)\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@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": "d0d4e1c098754bfbb2aeb94333756d63d255688e",
      "tree": "0f97e4ebe3509974180608f5d412a94ea69a5c8c",
      "parents": [
        "cfccaeea62f020242e59a992e1f1a60fe7e5694e"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: specialix, remove bottomhalves\n\n- tqueue is used only for tty_wakeup, call it directly from the code\n- tqueue_hangup for tty_hangup, it schedules its own work, use it directly\n  too\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@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": "cfccaeea62f020242e59a992e1f1a60fe7e5694e",
      "tree": "d6cc42c199836ec94221f05008766ad81c5bacdc",
      "parents": [
        "d2e7a4b66d762cad383c5469c1e8b6076792ab6a"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:38 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: istallion, remove hangup bottomhalf\n\ntty_hangup schedules a work for hangup itself, no need to do it in the driver.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@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": "d2e7a4b66d762cad383c5469c1e8b6076792ab6a",
      "tree": "8516adc2f15b67cfc5b802912b379357928eb48f",
      "parents": [
        "1386a820b32285583414a8db3a99305e7ebe8377"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:34 2008 -0800"
      },
      "message": "Char: esp, remove hangup and wakeup bottomhalves\n\nThere is no need to schedule a bottomhalf for either of them. One is fast\nand the another schedules a bottomhalf itself.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@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": "1386a820b32285583414a8db3a99305e7ebe8377",
      "tree": "2d157cfb642b2e428831ff16fd88e8f519c857be",
      "parents": [
        "319fe7c347ad2bdd99ea9b62c65ca81584ed2e1c"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Char: riscom8, change rc_init_drivers prototype\n\nLet compiler decide if the rc_init_drivers function will be inlined and\nmark it as __init, because it\u0027s called only from __init function.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "319fe7c347ad2bdd99ea9b62c65ca81584ed2e1c",
      "tree": "5dda5fff40846f895be81f31eda54aa06e0357c9",
      "parents": [
        "f31e6835054f577d4d3193aed1f464b149483377"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Char: stallion, fix compiler warnings\n\nDon\u0027t emit warnings on 64 bit platforms from min(). sizeof() on those\nis not uint, neither 2 pointers difference, cast it to uint by min_t in\nboth cases.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f31e6835054f577d4d3193aed1f464b149483377",
      "tree": "a3937d643ee75619c54660098daa90ec8153b76d",
      "parents": [
        "1237a2ef31cf60e01bbecbe198d8c002bbb710db"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Char: mxser_new, ioaddresses are ulong\n\nTo not pass ulong address as int parameter, switch it to ulong.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1237a2ef31cf60e01bbecbe198d8c002bbb710db",
      "tree": "1d71f11a023c4ab0262000e90d311223b5ecc28e",
      "parents": [
        "f6de0c9864c10d17f2473940c5f81718a5064bd8"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Char: char/serial, remove SERIAL_TYPE_NORMAL redefines\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6de0c9864c10d17f2473940c5f81718a5064bd8",
      "tree": "5cef6d08b8d66224eb48ac3429c98734210e19ee",
      "parents": [
        "68562b79217ce04a30aaf781de1e6dfa84e73fbe"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:33 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Char: rocket, remove useless macros\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@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": "68562b79217ce04a30aaf781de1e6dfa84e73fbe",
      "tree": "0bfdf7b46ee40c48b0ded04af174c1f254336d48",
      "parents": [
        "48a67f5da1e605c0ec0534cb003ca0cd114f3d1b"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:33 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Char: rocket, printk cleanup\n\n- add KERN_ level to each print\n- change some levels appropriately\n- add \\n at the ends where missing\n- change two complex printks into dev_info, where the original info is\n  printed automatically\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48a67f5da1e605c0ec0534cb003ca0cd114f3d1b",
      "tree": "2df59deb21a5636d9070bb35f22fe2678b186b9d",
      "parents": [
        "48103c527b2fcf5ead13ef14b34eb8893eaec06a"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Feb 07 00:16:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Char: rocket, switch long delay to sleep\n\nDon\u0027t busy wait for whole 1s when registering some rocket modems. Sleep\ninstead since we are not in atomic.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48103c527b2fcf5ead13ef14b34eb8893eaec06a",
      "tree": "a3f79f0f41cd85d56278b50a574691dab29640c0",
      "parents": [
        "300ec130493a67efb291ba20b48b664b2352277d"
      ],
      "author": {
        "name": "Frank Sorenson",
        "email": "frank@tuxrocks.com",
        "time": "Thu Feb 07 00:16:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "i8k: Inspiron E1705 fix\n\nNeeds the following in order to work correctly on my Inspiron E1705:\n\nAdd DMI Product name to i8k for Dell MP061 hardware (Inspiron 9400/E1705)\n\nSigned-off-by: Frank Sorenson \u003cfrank@tuxrocks.com\u003e\nCc: Bradley Smith \u003cbradjsmith@btinternet.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "300ec130493a67efb291ba20b48b664b2352277d",
      "tree": "e9b8a7923d6b3738aad67013104c344a1f1dc391",
      "parents": [
        "fe04f22fd2bc84dfcc0ef1c7acb863bd98b9ac93"
      ],
      "author": {
        "name": "Bradley Smith",
        "email": "bradjsmith@btinternet.com",
        "time": "Thu Feb 07 00:16:30 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "I8K: add i8k driver to the x86_64 Kconfig\n\nAdds i8k driver to the x86_64 Kconfig.\n\nSigned-off-by: Bradley Smith \u003cbradjsmith@btinternet.com\u003e\nCc: Frank Sorenson \u003cfrank@tuxrocks.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe04f22fd2bc84dfcc0ef1c7acb863bd98b9ac93",
      "tree": "8e0af562cd03fd5bfef643c9bdd98c23a72f5e7b",
      "parents": [
        "9a7744f9823b9ddf14c47c475e81c1326b1a2787"
      ],
      "author": {
        "name": "Bradley Smith",
        "email": "bradjsmith@btinternet.com",
        "time": "Thu Feb 07 00:16:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "I8K: allow i8k driver to be built on x86_64 systems\n\nAdds #if clause and additional inline assembly so that the driver\nbuilds on x86_64 systems.\n\nSigned-off-by: Bradley Smith \u003cbradjsmith@btinternet.com\u003e\nCc: Frank Sorenson \u003cfrank@tuxrocks.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a7744f9823b9ddf14c47c475e81c1326b1a2787",
      "tree": "a5969eab412bb34aa0f38c6a12a5fffe5553b2ce",
      "parents": [
        "b62f13439147210d5ad4bc40acee32b94c59f06d"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Add cmpxchg_local to xtensa\n\nUse the architecture specific __cmpxchg_u32 for 32 bits cmpxchg)_local. Else,\nuse the new generic cmpxchg_local (disables interrupt).\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b62f13439147210d5ad4bc40acee32b94c59f06d",
      "tree": "f5948b96ce938b4cd28b30dfd02731a1ec7dbc73",
      "parents": [
        "80af4eeb726f038eddc32826e4238feba5b1dfb4"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Add cmpxchg_local to v850\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Miles Bader \u003cmiles.bader@necel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80af4eeb726f038eddc32826e4238feba5b1dfb4",
      "tree": "004867c90a5294a8902fc01f1181beacab587300",
      "parents": [
        "405321d3ab2b41960e2874f2f74609daffbc7a4c"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:33 2008 -0800"
      },
      "message": "Add cmpxchg_local to sparc64\n\nUse cmpxchg_u32 and cmpxchg_u64 for cmpxchg_local and cmpxchg64_local. For other\ntype sizes, use the new generic cmpxchg_local (disables interrupt).\n\nChange:\nSince the header depends on local_irqsave/local_irqrestore, it must be\nincluded after their declaration.\n\nActually, being below the\n#include \u003clinux/irqflags.h\u003e should be enough, and on sparc64 it is\nincluded at the beginning of system.h.\n\nSo it makes sense to move it up for sparc64.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: \"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": "405321d3ab2b41960e2874f2f74609daffbc7a4c",
      "tree": "af0d51539011d57b2df0df6c69171433f9d60ff8",
      "parents": [
        "fe4130131ef9e55763fd634a02b1db9290dbbe5a"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to sparc, move __cmpxchg to system.h\n\nMove cmpxchg and add cmpxchg_local to system.h.\nUse the new generic cmpxchg_local (disables interrupt).\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"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": "fe4130131ef9e55763fd634a02b1db9290dbbe5a",
      "tree": "523a97bd9f3b9302edfb80c5175ec9a528c1b807",
      "parents": [
        "85fdbe1b4b33b797321bfadf706b355e7cca6165"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to s390\n\nUse the standard __cmpxchg for every type that can be updated atomically.\nUse the new generic cmpxchg_local (disables interrupt) for other types.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.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": "85fdbe1b4b33b797321bfadf706b355e7cca6165",
      "tree": "bb24d49bb9cc2167742af843718587b408ad71e2",
      "parents": [
        "df80c8c5679c4e6c72e694525d76a9f26d5f33dc"
      ],
      "author": {
        "name": "Gunnar Larisch",
        "email": "gl@denx.de",
        "time": "Thu Feb 07 00:16:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to ppc\n\nAdd a local processor version of cmpxchg for ppc.\n\nImplements __cmpxchg_u32_local and uses it for 32 bits cmpxchg_local.\nIt uses the non NMI safe cmpxchg_local_generic for 1, 2 and 8 bytes\ncmpxchg_local.\n\nSigned-off-by: Gunnar Larisch \u003cgl@denx.de\u003e\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Kumar Gala \u003cgalak@gate.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": "df80c8c5679c4e6c72e694525d76a9f26d5f33dc",
      "tree": "84144c163426e6d4ecfaa7c50dd9cd67fa91bc64",
      "parents": [
        "027bcc27d3d1a218dbf4477964a18fed78983357"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to parisc\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "027bcc27d3d1a218dbf4477964a18fed78983357",
      "tree": "a76ba273a2cdbd1866e79b3840c3293b13b50251",
      "parents": [
        "5da751035c5c8f5b30978e97fd4b3c75f453b04e"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to m68knommu\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5da751035c5c8f5b30978e97fd4b3c75f453b04e",
      "tree": "9d50b1187702079ba6fb5d61a84db4dbdd646937",
      "parents": [
        "7fa2ac3728ce828070fa3d5846c08157fe5ef431"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to m86k\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7fa2ac3728ce828070fa3d5846c08157fe5ef431",
      "tree": "46d8af0c873bac8d03fd7c166420c9ee5fca7fca",
      "parents": [
        "df0f65f02a55888feae52a7e7d59d29f5edd400d"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "local_t m32r use architecture specific cmpxchg_local\n\nOn m32r, use the new cmpxchg_local as primitive for the local_cmpxchg\noperation.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df0f65f02a55888feae52a7e7d59d29f5edd400d",
      "tree": "7ec1736072aaddec96cd95eb9b0aca49c39e0859",
      "parents": [
        "f94d1d3a1df125461a16b2888eca46d64f113e3a"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "m32r: build fix of arch/m32r/kernel/smpboot.c\n\nThis patch is for Mathieu Desnoyers\u0027s include/asm-m32r/local.h.\nApplying the new include/asm-m32r/local.h, inclusion of linux/sched.h\nis needed to fix a build error of arch/m32r/kernel/smpboot.c.\n\n\u003c--  snip  --\u003e\n  ...\n  CC      arch/m32r/kernel/smpboot.o\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c: In function \u0027do_boot_cpu\u0027:\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:279: error: implicit declaration of function \u0027fork_idle\u0027\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:279: warning: assignment makes pointer from integer without a cast\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:283: error: dereferencing pointer to incomplete type\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:289: error: dereferencing pointer to incomplete type\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:290: error: implicit declaration of function \u0027task_thread_info\u0027\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:290: error: invalid type argument of \u0027-\u003e\u0027\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c: In function \u0027start_secondary\u0027:\n/project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:429: error: implicit declaration of function \u0027cpu_init\u0027\nmake[2]: *** [arch/m32r/kernel/smpboot.o] Error 1\n\u003c--  snip  --\u003e\n\nSigned-off-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f94d1d3a1df125461a16b2888eca46d64f113e3a",
      "tree": "35991d4f2f00dd9f3df1fe5d0ca53b5e01545f67",
      "parents": [
        "7b631c2de63b4475351258197409983c8189ed04"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Fix m32r __xchg\n\nthe #endif  /* CONFIG_SMP */ should cover the default condition, or it may cause\nbad parameter to be silently missed.\n\nTo make it work correctly, we have to remove the ifdef CONFIG SMP surrounding\n__xchg_called_with_bad_pointer declaration. Thanks to Adrian Bunk for detecting\nthis.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Adrian Bunk \u003cbunk@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": "7b631c2de63b4475351258197409983c8189ed04",
      "tree": "915d5b3d1b7ba8f47e0f5abfba70aec94c106d9e",
      "parents": [
        "4b78fff6e736cae55dc3fb5570c7ef4037eca9b7"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:17 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "New cmpxchg_local (optimized for UP case) for m32r\n\nAdd __xchg_local, xchg_local (define), __cmpxchg_local_u32, __cmpxchg_local,\ncmpxchg_local(macro).\n\ncmpxchg_local and cmpxchg64_local will use the architecture specific\n__cmpxchg_local_u32 for 32 bits arguments, and use the generic\n__cmpxchg_local_generic for 8, 16 and 64 bits arguments.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b78fff6e736cae55dc3fb5570c7ef4037eca9b7",
      "tree": "1ef5848902fd8222fb2280e48d19575a19aa8809",
      "parents": [
        "aebb77aef4b50a157bf0185de31d1aede3ca2312"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64\n\nAdd the primitives cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64. They\nuse cmpxchg_acq as underlying macro, just like the already existing ia64\ncmpxchg().\n\nChangelog:\n\nia64 cmpxchg_local coding style fix\nQuoting Keith Owens:\n\nAs a matter of coding style, I prefer\n\n#define cmpxchg_local   cmpxchg\n#define cmpxchg64_local cmpxchg64\n\nWhich makes it absolutely clear that they are the same code.  With your\npatch, humans have to do a string compare of two defines to see if they\nare the same.\n\nNote cmpxchg is *not* a performance win vs interrupt disable / enable on IA64.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Keith Owens \u003ckaos@ocs.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aebb77aef4b50a157bf0185de31d1aede3ca2312",
      "tree": "0f4b5f17120b93193d06dcf9f6ca270f2c06c5fc",
      "parents": [
        "14e0cb3c60b89c4a2512852ffc18601c72314a0f"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to h8300\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14e0cb3c60b89c4a2512852ffc18601c72314a0f",
      "tree": "59267c487c31f18036ac8c1a28a2250c3bd97f60",
      "parents": [
        "7732ba3abc5a53e7e1d93afd5a5a6ccf74f2ce53"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:32 2008 -0800"
      },
      "message": "Add cmpxchg_local to frv\n\nUse the new generic cmpxchg_local (disables interrupt) for 8, 16 and 64 bits\narguments. Use the 32 bits cmpxchg available on the architecture for 32 bits\narguments.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: David Howells \u003cdhowells@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": "7732ba3abc5a53e7e1d93afd5a5a6ccf74f2ce53",
      "tree": "0dec1b2b4457d0db2ccd04eab6999c3b84c711f7",
      "parents": [
        "10b8827068377a11ed0e396248f7d02751fe5f17"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg_local to cris\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "10b8827068377a11ed0e396248f7d02751fe5f17",
      "tree": "2ca6e89cc47354ac2cec717e186ede7f24e0b8fd",
      "parents": [
        "5e86c11d3eb4662000f3ced7344352b2ca319d03"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg_local to blackfin, replace __cmpxchg by generic cmpxchg\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set since nobody seems to know why __cmpxchg\nhas been implemented in assembly in the first place thather than in plain C.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Michael Frysinger \u003cmichael.frysinger@analog.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e86c11d3eb4662000f3ced7344352b2ca319d03",
      "tree": "30332e5df3105622e2b5443aa346c739a89f37f6",
      "parents": [
        "176393d4232a89aaf8745b0726f4d212a20103f1"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg_local to avr32\n\nUse the new generic cmpxchg_local (disables interrupt) for 8, 16 and 64 bits\ncmpxchg_local. Use the __cmpxchg_u32 primitive for 32 bits cmpxchg_local.\n\nNote that cmpxchg only uses the __cmpxchg_u32 or __cmpxchg_u64 and will cause\na linker error if called with 8 or 16 bits argument.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "176393d4232a89aaf8745b0726f4d212a20103f1",
      "tree": "f5d64f19a7db6da5d694c209fa8ac2d6ce43dd29",
      "parents": [
        "32f49eab5e893007c0064f465c857ac7c4d40b77"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg_local to arm\n\nUse the new generic cmpxchg_local (disables interrupt). Also use the generic\ncmpxchg as fallback if SMP is not set.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32f49eab5e893007c0064f465c857ac7c4d40b77",
      "tree": "dd3a69e196fee7311d61dda8c17dd62a451070b2",
      "parents": [
        "f9c4650bcfb4b21126525f73f10d635284e16056"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:31 2008 -0800"
      },
      "message": "Add cmpxchg64 and cmpxchg64_local to x86_64\n\nMake sure that at least cmpxchg64_local is available on all architectures to use\nfor unsigned long long values.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\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": "f9c4650bcfb4b21126525f73f10d635284e16056",
      "tree": "11927048b5ae34472043b894e9646d1e4635ae99",
      "parents": [
        "3b96a56d395a4dcf4c05c48d8f4e74b1f8bd073d"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Add cmpxchg64 and cmpxchg64_local to powerpc\n\nMake sure that at least cmpxchg64_local is available on all architectures to use\nfor unsigned long long values.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.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": "3b96a56d395a4dcf4c05c48d8f4e74b1f8bd073d",
      "tree": "1c4e8cb7c5ea7e7af7dd8e4c07b429dffa4b9cc5",
      "parents": [
        "a259b2428b10c19b94e346bc69d5b3bf9bff488e"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Add cmpxchg64 and cmpxchg64_local to mips\n\nMake sure that at least cmpxchg64_local is available on all architectures to use\nfor unsigned long long values.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a259b2428b10c19b94e346bc69d5b3bf9bff488e",
      "tree": "ceb0536890fc85e46b905239ffe44077be695b03",
      "parents": [
        "068fbad288a2c18b75b0425fb56d241f018a1cb5"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Add cmpxchg64 and cmpxchg64_local to alpha\n\nMake sure that at least cmpxchg64_local is available on all architectures to use\nfor unsigned long long values.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "068fbad288a2c18b75b0425fb56d241f018a1cb5",
      "tree": "441674bb0658208fbc5f6eab96b8641ab7345caf",
      "parents": [
        "6e16d89bcd668a95eb22add24c02d80890232b66"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Feb 07 00:16:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Add cmpxchg_local to asm-generic for per cpu atomic operations\n\nEmulates the cmpxchg_local by disabling interrupts around variable modification.\nThis is not reentrant wrt NMIs and MCEs. It is only protected against normal\ninterrupts, but this is enough for architectures without such interrupt sources\nor if used in a context where the data is not shared with such handlers.\n\nIt can be used as a fallback for architectures lacking a real cmpxchg\ninstruction.\n\nFor architectures that have a real cmpxchg but does not have NMIs or MCE,\ntesting which of the generic vs architecture specific cmpxchg is the fastest\nshould be done.\n\nasm-generic/cmpxchg.h defines a cmpxchg that uses cmpxchg_local. It is meant to\nbe used as a cmpxchg fallback for architectures that do not support SMP.\n\n* Patch series comments\n\nUsing cmpxchg_local shows a performance improvements of the fast path goes from\na 66% speedup on a Pentium 4 to a 14% speedup on AMD64.\n\nIn detail:\n\nTested-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nMeasurements on a Pentium4, 3GHz, Hyperthread.\nSLUB Performance testing\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\n1. Kmalloc: Repeatedly allocate then free test\n\n* slub HEAD, test 1\nkmalloc(8) \u003d 201 cycles         kfree \u003d 351 cycles\nkmalloc(16) \u003d 198 cycles        kfree \u003d 359 cycles\nkmalloc(32) \u003d 200 cycles        kfree \u003d 381 cycles\nkmalloc(64) \u003d 224 cycles        kfree \u003d 394 cycles\nkmalloc(128) \u003d 285 cycles       kfree \u003d 424 cycles\nkmalloc(256) \u003d 411 cycles       kfree \u003d 546 cycles\nkmalloc(512) \u003d 480 cycles       kfree \u003d 619 cycles\nkmalloc(1024) \u003d 623 cycles      kfree \u003d 750 cycles\nkmalloc(2048) \u003d 686 cycles      kfree \u003d 811 cycles\nkmalloc(4096) \u003d 482 cycles      kfree \u003d 538 cycles\nkmalloc(8192) \u003d 680 cycles      kfree \u003d 734 cycles\nkmalloc(16384) \u003d 713 cycles     kfree \u003d 843 cycles\n\n* Slub HEAD, test 2\nkmalloc(8) \u003d 190 cycles         kfree \u003d 351 cycles\nkmalloc(16) \u003d 195 cycles        kfree \u003d 360 cycles\nkmalloc(32) \u003d 201 cycles        kfree \u003d 370 cycles\nkmalloc(64) \u003d 245 cycles        kfree \u003d 389 cycles\nkmalloc(128) \u003d 283 cycles       kfree \u003d 413 cycles\nkmalloc(256) \u003d 409 cycles       kfree \u003d 547 cycles\nkmalloc(512) \u003d 476 cycles       kfree \u003d 616 cycles\nkmalloc(1024) \u003d 628 cycles      kfree \u003d 753 cycles\nkmalloc(2048) \u003d 684 cycles      kfree \u003d 811 cycles\nkmalloc(4096) \u003d 480 cycles      kfree \u003d 539 cycles\nkmalloc(8192) \u003d 661 cycles      kfree \u003d 746 cycles\nkmalloc(16384) \u003d 741 cycles     kfree \u003d 856 cycles\n\n* cmpxchg_local Slub test\nkmalloc(8) \u003d 83 cycles          kfree \u003d 363 cycles\nkmalloc(16) \u003d 85 cycles         kfree \u003d 372 cycles\nkmalloc(32) \u003d 92 cycles         kfree \u003d 377 cycles\nkmalloc(64) \u003d 115 cycles        kfree \u003d 397 cycles\nkmalloc(128) \u003d 179 cycles       kfree \u003d 438 cycles\nkmalloc(256) \u003d 314 cycles       kfree \u003d 564 cycles\nkmalloc(512) \u003d 398 cycles       kfree \u003d 615 cycles\nkmalloc(1024) \u003d 573 cycles      kfree \u003d 745 cycles\nkmalloc(2048) \u003d 629 cycles      kfree \u003d 816 cycles\nkmalloc(4096) \u003d 473 cycles      kfree \u003d 548 cycles\nkmalloc(8192) \u003d 659 cycles      kfree \u003d 745 cycles\nkmalloc(16384) \u003d 724 cycles     kfree \u003d 843 cycles\n\n2. Kmalloc: alloc/free test\n\n* slub HEAD, test 1\nkmalloc(8)/kfree \u003d 322 cycles\nkmalloc(16)/kfree \u003d 318 cycles\nkmalloc(32)/kfree \u003d 318 cycles\nkmalloc(64)/kfree \u003d 325 cycles\nkmalloc(128)/kfree \u003d 318 cycles\nkmalloc(256)/kfree \u003d 328 cycles\nkmalloc(512)/kfree \u003d 328 cycles\nkmalloc(1024)/kfree \u003d 328 cycles\nkmalloc(2048)/kfree \u003d 328 cycles\nkmalloc(4096)/kfree \u003d 678 cycles\nkmalloc(8192)/kfree \u003d 1013 cycles\nkmalloc(16384)/kfree \u003d 1157 cycles\n\n* Slub HEAD, test 2\nkmalloc(8)/kfree \u003d 323 cycles\nkmalloc(16)/kfree \u003d 318 cycles\nkmalloc(32)/kfree \u003d 318 cycles\nkmalloc(64)/kfree \u003d 318 cycles\nkmalloc(128)/kfree \u003d 318 cycles\nkmalloc(256)/kfree \u003d 328 cycles\nkmalloc(512)/kfree \u003d 328 cycles\nkmalloc(1024)/kfree \u003d 328 cycles\nkmalloc(2048)/kfree \u003d 328 cycles\nkmalloc(4096)/kfree \u003d 648 cycles\nkmalloc(8192)/kfree \u003d 1009 cycles\nkmalloc(16384)/kfree \u003d 1105 cycles\n\n* cmpxchg_local Slub test\nkmalloc(8)/kfree \u003d 112 cycles\nkmalloc(16)/kfree \u003d 103 cycles\nkmalloc(32)/kfree \u003d 103 cycles\nkmalloc(64)/kfree \u003d 103 cycles\nkmalloc(128)/kfree \u003d 112 cycles\nkmalloc(256)/kfree \u003d 111 cycles\nkmalloc(512)/kfree \u003d 111 cycles\nkmalloc(1024)/kfree \u003d 111 cycles\nkmalloc(2048)/kfree \u003d 121 cycles\nkmalloc(4096)/kfree \u003d 650 cycles\nkmalloc(8192)/kfree \u003d 1042 cycles\nkmalloc(16384)/kfree \u003d 1149 cycles\n\nTested-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nMeasurements on a AMD64 2.0 GHz dual-core\n\nIn this test, we seem to remove 10 cycles from the kmalloc fast path.\nOn small allocations, it gives a 14% performance increase. kfree fast\npath also seems to have a 10 cycles improvement.\n\n1. Kmalloc: Repeatedly allocate then free test\n\n* cmpxchg_local slub\nkmalloc(8) \u003d 63 cycles      kfree \u003d 126 cycles\nkmalloc(16) \u003d 66 cycles     kfree \u003d 129 cycles\nkmalloc(32) \u003d 76 cycles     kfree \u003d 138 cycles\nkmalloc(64) \u003d 100 cycles    kfree \u003d 288 cycles\nkmalloc(128) \u003d 128 cycles   kfree \u003d 309 cycles\nkmalloc(256) \u003d 170 cycles   kfree \u003d 315 cycles\nkmalloc(512) \u003d 221 cycles   kfree \u003d 357 cycles\nkmalloc(1024) \u003d 324 cycles  kfree \u003d 393 cycles\nkmalloc(2048) \u003d 354 cycles  kfree \u003d 440 cycles\nkmalloc(4096) \u003d 394 cycles  kfree \u003d 330 cycles\nkmalloc(8192) \u003d 523 cycles  kfree \u003d 481 cycles\nkmalloc(16384) \u003d 643 cycles kfree \u003d 649 cycles\n\n* Base\nkmalloc(8) \u003d 74 cycles      kfree \u003d 113 cycles\nkmalloc(16) \u003d 76 cycles     kfree \u003d 116 cycles\nkmalloc(32) \u003d 85 cycles     kfree \u003d 133 cycles\nkmalloc(64) \u003d 111 cycles    kfree \u003d 279 cycles\nkmalloc(128) \u003d 138 cycles   kfree \u003d 294 cycles\nkmalloc(256) \u003d 181 cycles   kfree \u003d 304 cycles\nkmalloc(512) \u003d 237 cycles   kfree \u003d 327 cycles\nkmalloc(1024) \u003d 340 cycles  kfree \u003d 379 cycles\nkmalloc(2048) \u003d 378 cycles  kfree \u003d 433 cycles\nkmalloc(4096) \u003d 399 cycles  kfree \u003d 329 cycles\nkmalloc(8192) \u003d 528 cycles  kfree \u003d 624 cycles\nkmalloc(16384) \u003d 651 cycles kfree \u003d 737 cycles\n\n2. Kmalloc: alloc/free test\n\n* cmpxchg_local slub\nkmalloc(8)/kfree \u003d 96 cycles\nkmalloc(16)/kfree \u003d 97 cycles\nkmalloc(32)/kfree \u003d 97 cycles\nkmalloc(64)/kfree \u003d 97 cycles\nkmalloc(128)/kfree \u003d 97 cycles\nkmalloc(256)/kfree \u003d 105 cycles\nkmalloc(512)/kfree \u003d 108 cycles\nkmalloc(1024)/kfree \u003d 105 cycles\nkmalloc(2048)/kfree \u003d 107 cycles\nkmalloc(4096)/kfree \u003d 390 cycles\nkmalloc(8192)/kfree \u003d 626 cycles\nkmalloc(16384)/kfree \u003d 662 cycles\n\n* Base\nkmalloc(8)/kfree \u003d 116 cycles\nkmalloc(16)/kfree \u003d 116 cycles\nkmalloc(32)/kfree \u003d 116 cycles\nkmalloc(64)/kfree \u003d 116 cycles\nkmalloc(128)/kfree \u003d 116 cycles\nkmalloc(256)/kfree \u003d 126 cycles\nkmalloc(512)/kfree \u003d 126 cycles\nkmalloc(1024)/kfree \u003d 126 cycles\nkmalloc(2048)/kfree \u003d 126 cycles\nkmalloc(4096)/kfree \u003d 384 cycles\nkmalloc(8192)/kfree \u003d 749 cycles\nkmalloc(16384)/kfree \u003d 786 cycles\n\nTested-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nI can confirm Mathieus\u0027 measurement now:\n\nAthlon64:\n\nregular NUMA/discontig\n\n1. Kmalloc: Repeatedly allocate then free test\n10000 times kmalloc(8) -\u003e 79 cycles kfree -\u003e 92 cycles\n10000 times kmalloc(16) -\u003e 79 cycles kfree -\u003e 93 cycles\n10000 times kmalloc(32) -\u003e 88 cycles kfree -\u003e 95 cycles\n10000 times kmalloc(64) -\u003e 124 cycles kfree -\u003e 132 cycles\n10000 times kmalloc(128) -\u003e 157 cycles kfree -\u003e 247 cycles\n10000 times kmalloc(256) -\u003e 200 cycles kfree -\u003e 257 cycles\n10000 times kmalloc(512) -\u003e 250 cycles kfree -\u003e 277 cycles\n10000 times kmalloc(1024) -\u003e 337 cycles kfree -\u003e 314 cycles\n10000 times kmalloc(2048) -\u003e 365 cycles kfree -\u003e 330 cycles\n10000 times kmalloc(4096) -\u003e 352 cycles kfree -\u003e 240 cycles\n10000 times kmalloc(8192) -\u003e 456 cycles kfree -\u003e 340 cycles\n10000 times kmalloc(16384) -\u003e 646 cycles kfree -\u003e 471 cycles\n2. Kmalloc: alloc/free test\n10000 times kmalloc(8)/kfree -\u003e 124 cycles\n10000 times kmalloc(16)/kfree -\u003e 124 cycles\n10000 times kmalloc(32)/kfree -\u003e 124 cycles\n10000 times kmalloc(64)/kfree -\u003e 124 cycles\n10000 times kmalloc(128)/kfree -\u003e 124 cycles\n10000 times kmalloc(256)/kfree -\u003e 132 cycles\n10000 times kmalloc(512)/kfree -\u003e 132 cycles\n10000 times kmalloc(1024)/kfree -\u003e 132 cycles\n10000 times kmalloc(2048)/kfree -\u003e 132 cycles\n10000 times kmalloc(4096)/kfree -\u003e 319 cycles\n10000 times kmalloc(8192)/kfree -\u003e 486 cycles\n10000 times kmalloc(16384)/kfree -\u003e 539 cycles\n\ncmpxchg_local NUMA/discontig\n\n1. Kmalloc: Repeatedly allocate then free test\n10000 times kmalloc(8) -\u003e 55 cycles kfree -\u003e 90 cycles\n10000 times kmalloc(16) -\u003e 55 cycles kfree -\u003e 92 cycles\n10000 times kmalloc(32) -\u003e 70 cycles kfree -\u003e 91 cycles\n10000 times kmalloc(64) -\u003e 100 cycles kfree -\u003e 141 cycles\n10000 times kmalloc(128) -\u003e 128 cycles kfree -\u003e 233 cycles\n10000 times kmalloc(256) -\u003e 172 cycles kfree -\u003e 251 cycles\n10000 times kmalloc(512) -\u003e 225 cycles kfree -\u003e 275 cycles\n10000 times kmalloc(1024) -\u003e 325 cycles kfree -\u003e 311 cycles\n10000 times kmalloc(2048) -\u003e 346 cycles kfree -\u003e 330 cycles\n10000 times kmalloc(4096) -\u003e 351 cycles kfree -\u003e 238 cycles\n10000 times kmalloc(8192) -\u003e 450 cycles kfree -\u003e 342 cycles\n10000 times kmalloc(16384) -\u003e 630 cycles kfree -\u003e 546 cycles\n2. Kmalloc: alloc/free test\n10000 times kmalloc(8)/kfree -\u003e 81 cycles\n10000 times kmalloc(16)/kfree -\u003e 81 cycles\n10000 times kmalloc(32)/kfree -\u003e 81 cycles\n10000 times kmalloc(64)/kfree -\u003e 81 cycles\n10000 times kmalloc(128)/kfree -\u003e 81 cycles\n10000 times kmalloc(256)/kfree -\u003e 91 cycles\n10000 times kmalloc(512)/kfree -\u003e 90 cycles\n10000 times kmalloc(1024)/kfree -\u003e 91 cycles\n10000 times kmalloc(2048)/kfree -\u003e 90 cycles\n10000 times kmalloc(4096)/kfree -\u003e 318 cycles\n10000 times kmalloc(8192)/kfree -\u003e 483 cycles\n10000 times kmalloc(16384)/kfree -\u003e 536 cycles\n\nChangelog:\n- Ran though checkpatch.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\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": "6e16d89bcd668a95eb22add24c02d80890232b66",
      "tree": "8d5fcab14edac7d36c67e8a57abb5025cfaa2c2d",
      "parents": [
        "ed7b1889da256977574663689b598d88950bbd23"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Feb 07 00:15:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Sanitize the type of struct user.u_ar0\n\nstruct user.u_ar0 is defined to contain a pointer offset on all\narchitectures in which it is defined (all architectures which define an\na.out format except SPARC.) However, it has a pointer type in the headers,\nwhich is pointless -- \u003casm/user.h\u003e is not exported to userspace, and it\njust makes the code messy.\n\nRedefine the field as \"unsigned long\" (which is the same size as a pointer\non all Linux architectures) and change the setting code to user offsetof()\ninstead of hand-coded arithmetic.\n\nCc: Linux Arch Mailing List \u003clinux-arch@vger.kernel.org\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Lennert Buytenhek \u003ckernel@wantstofly.org\u003e\nCc: Håvard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed7b1889da256977574663689b598d88950bbd23",
      "tree": "bdbf8d12826dece7ec4ccb4edcb18cd66dc842a0",
      "parents": [
        "6cc931b9b5ec652c90b928f3ec2163f261552c91"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Unexport asm/page.h\n\nDo not export asm/page.h during make headers_install.  This removes PAGE_SIZE\nfrom userspace headers.\n\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6cc931b9b5ec652c90b928f3ec2163f261552c91",
      "tree": "0f01557ada755c56baffe102614149ad190ebb02",
      "parents": [
        "516c25a86f6bdad77ded01a43c52c5569c8d690c"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Unexport asm/elf.h\n\nDo not export asm/elf.h during make headers_install.\n\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "516c25a86f6bdad77ded01a43c52c5569c8d690c",
      "tree": "e7404e73fd103f70958ccb1bc1c74ff1c7ff48bf",
      "parents": [
        "c1445db9f72db0537c43a2eab6e1b0f6741162f5"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:30 2008 -0800"
      },
      "message": "Cleanup asm/{elf,page,user}.h: #ifdef __KERNEL__ is no longer needed\n\nasm/elf.h, asm/page.h and asm/user.h don\u0027t export to userspace now, so we can\ndrop #ifdef __KERNEL__ for them.\n\n[k.shutemov@gmail.com: remove #ifdef __KERNEL_]\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@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": "c1445db9f72db0537c43a2eab6e1b0f6741162f5",
      "tree": "3ea99c656c8d3699631c29d003ffe2f81752eb79",
      "parents": [
        "12debc4248a4a7f1873e47cda2cdd7faca80b099"
      ],
      "author": {
        "name": "Kirill A. Shutemov",
        "email": "k.shutemov@gmail.com",
        "time": "Thu Feb 07 00:15:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "Unexport asm/user.h and linux/user.h\n\nDo not export asm/user.h and linux/user.h during make headers_install.\n\nSigned-off-by: Kirill A. Shutemov \u003ck.shutemov@gmail.com\u003e\nReviewed-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nAcked-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12debc4248a4a7f1873e47cda2cdd7faca80b099",
      "tree": "1ad80b77d213ea09cb746d6e4d50c4316462a452",
      "parents": [
        "755aedc15900ff7d83dd046f632af9a680b0c28f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: remove iget() and the read_inode() super op as being obsolete\n\nRemove the old iget() call and the read_inode() superblock operation it uses\nas these are really obsolete, and the use of read_inode() does not produce\nproper error handling (no distinction between ENOMEM and EIO when marking an\ninode bad).\n\nFurthermore, this removes the temptation to use iget() to find an inode by\nnumber in a filesystem from code outside that filesystem.\n\niget_locked() should be used instead.  A new function is added in an earlier\npatch (iget_failed) that is to be called to mark an inode as bad, unlock it\nand release it should the get routine fail.  Mark iget() and read_inode() as\nbeing obsolete and remove references to them from the documentation.\n\nTypically a filesystem will be modified such that the read_inode function\nbecomes an internal iget function, for example the following:\n\n\tvoid thingyfs_read_inode(struct inode *inode)\n\t{\n\t\t...\n\t}\n\nwould be changed into something like:\n\n\tstruct inode *thingyfs_iget(struct super_block *sp, unsigned long ino)\n\t{\n\t\tstruct inode *inode;\n\t\tint ret;\n\n\t\tinode \u003d iget_locked(sb, ino);\n\t\tif (!inode)\n\t\t\treturn ERR_PTR(-ENOMEM);\n\t\tif (!(inode-\u003ei_state \u0026 I_NEW))\n\t\t\treturn inode;\n\n\t\t...\n\t\tunlock_new_inode(inode);\n\t\treturn inode;\n\terror:\n\t\tiget_failed(inode);\n\t\treturn ERR_PTR(ret);\n\t}\n\nand then thingyfs_iget() would be called rather than iget(), for example:\n\n\tret \u003d -EINVAL;\n\tinode \u003d iget(sb, ino);\n\tif (!inode || is_bad_inode(inode))\n\t\tgoto error;\n\nbecomes:\n\n\tinode \u003d thingyfs_iget(sb, ino);\n\tif (IS_ERR(inode)) {\n\t\tret \u003d PTR_ERR(inode);\n\t\tgoto error;\n\t}\n\nNote that is_bad_inode() does not need to be called.  The error returned by\nthingyfs_iget() should render it unnecessary.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "755aedc15900ff7d83dd046f632af9a680b0c28f",
      "tree": "c4868834e52b00301e4d3cc1e450982b7d9fcf9b",
      "parents": [
        "0a370e5de9e5a48eb4b268e9f5e2286b82f44012"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:51 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: stop HPPFS from using iget() and read_inode()\n\nStop the HPPFS filesystem from using iget() and read_inode().  Provide an\nhppfs_iget(), and call that instead of iget().  hppfs_iget() then uses\niget_locked() directly and returns a proper error code instead of an inode in\nthe event of an error.\n\nhppfs_fill_sb_common() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\nNote that the contents of hppfs_kern.c need to be examined:\n\n (*) The HPPFS inode retains a pointer to the proc dentry it is shadowing, but\n     whilst it does appear to retain a reference to it, it doesn\u0027t appear to\n     destroy the reference if the inode goes away.\n\n (*) hppfs_iget() should perhaps subsume init_inode() and hppfs_read_inode().\n\n (*) It would appear that all hppfs inodes are the same inode because iget()\n     was being called with inode number 0, which forms the lookup key.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a370e5de9e5a48eb4b268e9f5e2286b82f44012",
      "tree": "6ffdabfb1457657a4b888ae23e03fbc1d84601bf",
      "parents": [
        "b88a27edcd3e96f826c291f8e34fdbb0a90bc9ca"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: stop HOSTFS from using iget() and read_inode()\n\nStop the HOSTFS filesystem from using iget() and read_inode().  Provide\nhostfs_iget(), and call that instead of iget().  hostfs_iget() then uses\niget_locked() directly and returns a proper error code instead of an inode in\nthe event of an error.\n\nhostfs_fill_sb_common() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\nNote that the contents of hostfs_kern.c need to be examined:\n\n (*) hostfs_iget() should perhaps subsume init_inode() and hostfs_read_inode().\n\n (*) It would appear that all hostfs inodes are the same inode because iget()\n     was being called with inode number 0 - which forms the lookup key.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b88a27edcd3e96f826c291f8e34fdbb0a90bc9ca",
      "tree": "eaf898c54946e958f95a757fb43b1dcd124b2358",
      "parents": [
        "b55c460da6df4e8dfc6f68c00fafe7337b54e2f8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: stop OPENPROMFS from using iget() and read_inode()\n\nStop the OPENPROMFS filesystem from using iget() and read_inode().  Replace\nopenpromfs_read_inode() with openpromfs_iget(), and call that instead of\niget().  openpromfs_iget() then uses iget_locked() directly and returns a\nproper error code instead of an inode in the event of an error.\n\nopenpromfs_fill_super() returns any error incurred when getting the root inode\ninstead of ENOMEM (not that it currently incurs any other error).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b55c460da6df4e8dfc6f68c00fafe7337b54e2f8",
      "tree": "ef38152ff42e3a50a9e193cd66bd81107d58a2e4",
      "parents": [
        "b8e1343f67460554ca5321956c440cc064e9889b"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: stop UFS from using iget() and read_inode()\n\nStop the UFS filesystem from using iget() and read_inode().  Replace\nufs_read_inode() with ufs_iget(), and call that instead of iget().  ufs_iget()\nthen uses iget_locked() directly and returns a proper error code instead of an\ninode in the event of an error.\n\nufs_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8e1343f67460554ca5321956c440cc064e9889b",
      "tree": "91611e8ab0d1f486186de660059f10506ff75690",
      "parents": [
        "78cc9120003d7847ef1abebb771a708c7ae51ffd"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:29 2008 -0800"
      },
      "message": "iget: stop the SYSV filesystem from using iget() and read_inode()\n\nStop the SYSV filesystem from using iget() and read_inode().  Replace\nsysv_read_inode() with sysv_iget(), and call that instead of iget().\nsysv_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78cc9120003d7847ef1abebb771a708c7ae51ffd",
      "tree": "1e6f1d3360f934a557a7e46249a4da56035cf953",
      "parents": [
        "2b7e5bcbd9e03f7236d2869f4261059074ea50a2"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop ROMFS from using iget() and read_inode()\n\nStop the ROMFS filesystem from using iget() and read_inode().  Replace\nromfs_read_inode() with romfs_iget(), and call that instead of iget().\nromfs_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\nromfs_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b7e5bcbd9e03f7236d2869f4261059074ea50a2",
      "tree": "fcc75f21bf6a3a65ee28909919bf36f58d667720",
      "parents": [
        "a1d4aebbfa91c55a6b0c629a9ccf6369be0c6e95"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop QNX4 from using iget() and read_inode()\n\nStop the QNX4 filesystem from using iget() and read_inode().  Replace\nqnx4_read_inode() with qnx4_iget(), and call that instead of iget().\nqnx4_iget() then uses iget_locked() directly and returns a proper error code\ninstead of an inode in the event of an error.\n\nqnx4_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Anders Larsen \u003cal@alarsen.net\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a1d4aebbfa91c55a6b0c629a9ccf6369be0c6e95",
      "tree": "2478c7be46b86b30c86666f72a8816c910c7a7d4",
      "parents": [
        "a90a088021f8f1e9a9cd83f06ac90e1f3aada4d4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop PROCFS from using iget() and read_inode()\n\nStop the PROCFS filesystem from using iget() and read_inode().  Merge\nprocfs_read_inode() into procfs_get_inode(), and have that call iget_locked()\ninstead of iget().\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "a90a088021f8f1e9a9cd83f06ac90e1f3aada4d4"
}
