)]}'
{
  "log": [
    {
      "commit": "c6c193326384aecfd668c8f271799a44dbc74c1a",
      "tree": "58df734fad40389f64641a6f757d245b6274a93e",
      "parents": [
        "1c888e2e3824a3f7565b4d96ede423cb9a9a28b7"
      ],
      "author": {
        "name": "Mike Rapoport",
        "email": "mike@compulab.co.il",
        "time": "Wed Aug 11 01:11:04 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:12 2010 +0200"
      },
      "message": "mfd: Add TPS6586x driver\n\nAdd mfd core driver for TPS6586x PMICs family.\nThe driver provides I/O access for the sub-device drivers and performs\nregstration of the sub-devices based on the platform requirements.\nIn addition it implements GPIOlib interface for the chip GPIOs.\n\nTODO:\n        - add interrupt support\n        - add platform data for PWM, backlight leds and charger\n\nSigned-off-by: Mike Rapoport \u003cmike@compulab.co.il\u003e\nSigned-off-by: Mike Rapoport \u003cmike.rapoport@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "1c888e2e3824a3f7565b4d96ede423cb9a9a28b7",
      "tree": "a323f5512f545882f93be5c6d30039dda202eaa9",
      "parents": [
        "214044b44ae674d9e3dbe4774ed4b91a53d4e07f"
      ],
      "author": {
        "name": "Jarkko Nikula",
        "email": "jhnikula@gmail.com",
        "time": "Sun Aug 08 20:05:24 2010 +0300"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:11 2010 +0200"
      },
      "message": "mfd: Use macros instead of some constant magic numbers for menelaus\n\nThis patch is originally done by Carlos Eduardo Aguiar. Original fix is\ncommit 3305829b2816072b9c8ed01374b205ae4de74027 in\ngit.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git\n\nAuthor modified the fix for mainline version of menelaus.\n\nSigned-off-by: Jarkko Nikula \u003cjhnikula@gmail.com\u003e\nCc: Carlos Eduardo Aguiar \u003ccarlos.aguiar@indt.org.br\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "214044b44ae674d9e3dbe4774ed4b91a53d4e07f",
      "tree": "cf81d3cb9f6e6f1774ed3392daa358acf72da760",
      "parents": [
        "8102bad2c0c7492eedd86aeec97e99a866b64662"
      ],
      "author": {
        "name": "Jarkko Nikula",
        "email": "jhnikula@gmail.com",
        "time": "Sun Aug 08 20:05:23 2010 +0300"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:10 2010 +0200"
      },
      "message": "mfd: Fix menelaus mmc slot 2 misconfiguration\n\nWe are modifying register value instead of return value.\n\nThis fix is originally done by Carlos Eduardo Aguiar. Original fix is\ncommit bb4e91722e29efe31587d2cc664b6def645aecd9 in\ngit.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git\n\nAuthor modified the fix for mainline version of menelaus.\n\nSigned-off-by: Jarkko Nikula \u003cjhnikula@gmail.com\u003e\nCc: Carlos Eduardo Aguiar \u003ccarlos.aguiar@indt.org.br\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "8102bad2c0c7492eedd86aeec97e99a866b64662",
      "tree": "1e1fc4d000a7104bbda42068f83c7f4672ece902",
      "parents": [
        "8c46cf30f72550da22065941c3e0f862dcbb90a6"
      ],
      "author": {
        "name": "David Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 04 22:57:14 2010 -0700"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:10 2010 +0200"
      },
      "message": "mfd: Missing slab.h includes\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "8c46cf30f72550da22065941c3e0f862dcbb90a6",
      "tree": "cb42705afed892e1353afbcdca84b6c6b3d427a8",
      "parents": [
        "fccbd21f333638a33efb6fc65fff58d1bc2a90bd"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Wed Aug 04 09:54:21 2010 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:08 2010 +0200"
      },
      "message": "mfd: Fix wrong wm8350-core kfree in error path\n\nThis patch includes below fixes:\n1. fix wm8350_create_cache error path\n   make sure wm8350-\u003ereg_cache is freed in error path.\n2. fix wm8350_device_init error path\n   no need to kfree(wm8350-\u003ereg_cache) in the case of goto out.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "fccbd21f333638a33efb6fc65fff58d1bc2a90bd",
      "tree": "250c7eabbe96b9813b51447e1350522cb00e2bc0",
      "parents": [
        "ef256176c7ede53741ad8c0231db0cc46c0cfce5"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Wed Aug 04 09:44:47 2010 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:07 2010 +0200"
      },
      "message": "mfd: Fix wm8994_device_init() return value\n\nwm8994_device_init() will return 0 in the case of kzalloc fail\nin current implementation.\nThis patch fixes the return value.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "ef256176c7ede53741ad8c0231db0cc46c0cfce5",
      "tree": "0af2380fa30cb20b99b43b42df61ae52cfd779bc",
      "parents": [
        "288129f35aae3987b8afd308e63274a270532b09"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Tue Aug 03 16:34:13 2010 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:06 2010 +0200"
      },
      "message": "mfd: Avoid calling platform_device_put() twice in ucb1400 probe error path\n\nIn the case of goto err2, what we want is to call\nplatform_device_del() instead of platform_device_unregister().\nOtherwise, we call platform_device_put() twice.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "288129f35aae3987b8afd308e63274a270532b09",
      "tree": "eb9b907cd1fc0eb53db5333ec59938ddfb4613cb",
      "parents": [
        "08b877b80f286e86a0034b460ac15b09f67da8a7"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Tue Aug 03 13:45:45 2010 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:06 2010 +0200"
      },
      "message": "mfd: Annotate tc6387xb probe/remove routines with __devinit/__devexit\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "08b877b80f286e86a0034b460ac15b09f67da8a7",
      "tree": "b9c8b448780d5e425074676c4d1368c54c000624",
      "parents": [
        "fa6e4b181c57ae8b18758840b8a8545b3bb1f1d9"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Tue Aug 03 13:44:00 2010 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:05 2010 +0200"
      },
      "message": "mfd: Fix tc6387xb resource reclaim\n\nThis patch includes below fixes:\n1. add a missing iounmap in tc6387xb_probe() error path\n2. fix resource reclaim in tc6387xb_remove()\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "fa6e4b181c57ae8b18758840b8a8545b3bb1f1d9",
      "tree": "4a6ed814f10551ed9bc1bc8656bc03c7b20dc222",
      "parents": [
        "b6e6d54cab7633dd2216ede77ccd00cdaebd77ad"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Tue Aug 03 11:10:41 2010 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:05 2010 +0200"
      },
      "message": "mfd: Fix wrong goto labels for tc6393xb error handling\n\nThis patch corrects the error handling path.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "b6e6d54cab7633dd2216ede77ccd00cdaebd77ad",
      "tree": "8997e19d67a0d081bb7f34a2f0f89663998507b8",
      "parents": [
        "eaf06ee22594ac90cdd0279483b06c1db1667e01"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Aug 02 15:48:04 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:04 2010 +0200"
      },
      "message": "mfd: Get rid of now unused mc13783 private header\n\nThis adds all remaining definitions that are used by the core driver\nto the .c file.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "eaf06ee22594ac90cdd0279483b06c1db1667e01",
      "tree": "12946774afdbfec2e208bc65532fd663aa648f2d",
      "parents": [
        "3b16bb539c558cd523ea380653d4bf24a8c9e833"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Aug 02 11:14:18 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:03 2010 +0200"
      },
      "message": "hwmon: Don\u0027t access struct mc13783 directly from mc13783-adc\n\nThere is a shiny new mc13783 API function that can be used instead.\n\nWhile at it refactor the code a bit to reduce code duplication a bit.\n\nThis removes the last user of \u003clinux/mfd/mc13783-private.h\u003e and so this\ninclude file can go away.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "3b16bb539c558cd523ea380653d4bf24a8c9e833",
      "tree": "a1a8f7304ff1e6257e29015df9ab5e901aa0e759",
      "parents": [
        "789133b7b4dd4915550733af5dc005ca89121c73"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Aug 02 11:14:17 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:03 2010 +0200"
      },
      "message": "mfd: New mc13783 function exposing flags\n\nThis is needed for the mc13783-adc driver to decide if a touch screen is\nconnected.  If so some channels are not available as generic hwmon inputs.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "789133b7b4dd4915550733af5dc005ca89121c73",
      "tree": "8d31da0c6b8d4a837212dc4657033f8cf28db3c0",
      "parents": [
        "48736c80e5d0c7c9db97bd6643a979a4ab11f25b"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Mon Aug 02 09:02:02 2010 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:02 2010 +0200"
      },
      "message": "mfd: Check jz4740-adc kmalloc() result\n\nIf kmalloc() fails exit with -ENOMEM.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "48736c80e5d0c7c9db97bd6643a979a4ab11f25b",
      "tree": "48652b4fd0284dfc7ed871e45c423b0b06ab4a09",
      "parents": [
        "889135210b794df9cea4b1e94dff78c264edc5e7"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Thu Jul 29 16:28:25 2010 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:01 2010 +0200"
      },
      "message": "mfd: Fix jz4740-adc resource reclaim in probe error path\n\nIf mfd_add_devices() fail, we need to relese allocated resources.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "889135210b794df9cea4b1e94dff78c264edc5e7",
      "tree": "94888ea86f656c8e135633ce6f6bffd3e6b52658",
      "parents": [
        "5981f4e65cb455a820b3d07b8e4bac506233f3ea"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jul 21 14:23:37 2010 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:00 2010 +0200"
      },
      "message": "mfd: Add WM8321 support\n\nThe WM8321 is a PMIC for low power, high performance applications. From a\nsoftware point of view the device is identical to the WM8320, all the\ndifferences between the two devices are visible only in hardware.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "5981f4e65cb455a820b3d07b8e4bac506233f3ea",
      "tree": "541a0ba41593bda73d1ce9b3ce004de43dcccd85",
      "parents": [
        "3faeb35ccc57e1af70c54b82063fdf4a88846084"
      ],
      "author": {
        "name": "Sundar R Iyer",
        "email": "sundar.iyer@stericsson.com",
        "time": "Wed Jul 21 11:41:07 2010 +0530"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:28:00 2010 +0200"
      },
      "message": "mfd: Add stmpe auto sleep feature\n\nSome STMPE devices support entering sleep mode automatically on a\nspecified timeout of inactivity on the I2C bus with the host system.\n\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nAcked-by: Rabin Vincent \u003crabin.vincent@stericsson.com\u003e\nSigned-off-by: Sundar R Iyer \u003csundar.iyer@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "3faeb35ccc57e1af70c54b82063fdf4a88846084",
      "tree": "4e67350c0c6c18fa2e10cb4f7f63cdfdea9f0d5c",
      "parents": [
        "31fc03df5df364100a41134783c02490fbd25745"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Thu Jul 15 22:43:54 2010 +0400"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:59 2010 +0200"
      },
      "message": "touchscreen: Fix sign bug\n\nplatform_get_irq_byname() can return negative results, it is not seen to\nunsigned ts_irq. Make it signed.\n\nSigned-off-by: Kulikov Vasiliy \u003csegooon@gmail.com\u003e\nAcked-By: Luotao Fu \u003cl.fu@pengutronix.de\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "31fc03df5df364100a41134783c02490fbd25745",
      "tree": "761c424eebb03314ca98b49e6c3b05e4c9ad8cda",
      "parents": [
        "9accdc1bf239ef20c0fe12ceff2a7532374fd7cd"
      ],
      "author": {
        "name": "Hemanth V",
        "email": "hemanthv@ti.com",
        "time": "Wed Jul 14 12:04:56 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:59 2010 +0200"
      },
      "message": "mfd: Add support for TWL6030 PWM\n\nTWL6030 supports PWM (Pulse Width Modulator) which is used\nto control charging LED. PWM allows for controlling brightness.\nThis patch implements the APIs required by leds-pwm driver.\n\nSigned-off-by: Hemanth V \u003chemanthv@ti.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "9accdc1bf239ef20c0fe12ceff2a7532374fd7cd",
      "tree": "a95f7cee64d3db64c2a0e8a7c45c88042a0d5790",
      "parents": [
        "91f4debf5e2df904e7fade530bd1a6d182efd72c"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jul 08 21:09:51 2010 +0900"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:58 2010 +0200"
      },
      "message": "mfd: Add additional WM8994 GPIO functions\n\nLater revisions of the WM8994 add some more GPIO functions, define them\nin the header file.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "91f4debf5e2df904e7fade530bd1a6d182efd72c",
      "tree": "263ca3ab3ca3a52e011c4500f9afc051190ad023",
      "parents": [
        "b12c35e22d102172cd2a69581f939ec9a70a7942"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Mon Jul 12 03:48:08 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:58 2010 +0200"
      },
      "message": "mfd: Add JZ4740 ADC driver\n\nThis patch adds a MFD driver for the JZ4740 ADC unit. The driver is used to\ndemultiplex IRQs and synchronize access to shared registers between the\nbattery, hwmon and (future) touchscreen driver.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "b12c35e22d102172cd2a69581f939ec9a70a7942",
      "tree": "2d75e053ab44cbec78b4389b395cc9b5048fa430",
      "parents": [
        "f94add3bd4468939ae5ea639b34a173534a0c135"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Jul 03 15:40:56 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:57 2010 +0200"
      },
      "message": "gpiolib: Implement set_debounce for WM831x GPIOs\n\nThe debounce times are approximate, they can be selected using the two\ninput functions.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "f94add3bd4468939ae5ea639b34a173534a0c135",
      "tree": "e450bb9ff92035d781721236b0a6e5c212df925b",
      "parents": [
        "76f10845318b8c1baa8a2249f274ff847f31af5a"
      ],
      "author": {
        "name": "Luotao Fu",
        "email": "l.fu@pengutronix.de",
        "time": "Fri Jul 02 14:10:29 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:56 2010 +0200"
      },
      "message": "input: STMPE touch controller support\n\nThis one adds a driver for STMPE touchscreen controllers.\nThis driver depends on the stmpexxx mfd core driver.\n\nSigned-off-by: Luotao Fu \u003cl.fu@pengutronix.de\u003e\nAcked-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "76f10845318b8c1baa8a2249f274ff847f31af5a",
      "tree": "0d088254cf2f8a31a2a375d3da073b4f6e420b12",
      "parents": [
        "03f822f5e5f5924f4ad372d3e698855c6a9275e0"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin.vincent@stericsson.com",
        "time": "Fri Jul 02 16:52:10 2010 +0530"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:56 2010 +0200"
      },
      "message": "input: Add STMPE keypad driver\n\nAdd an input driver for the keypad on STMPE I/O expanders.  This driver\nuses the common support provided by the STMPE MFD driver.\n\nAcked-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Rabin Vincent \u003crabin.vincent@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "03f822f5e5f5924f4ad372d3e698855c6a9275e0",
      "tree": "b8b89861d0f39eb181b866980c0f456341df8a84",
      "parents": [
        "27e34995e1a863c1e9beba30e51dfe2a083f918d"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin.vincent@stericsson.com",
        "time": "Fri Jul 02 16:52:09 2010 +0530"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:55 2010 +0200"
      },
      "message": "gpio: Add STMPE GPIO driver\n\nAdd support for the GPIOs on STMPE I/O Expanders.\n\n[l.fu@pengutronix.de: fix set direction input]\n[l.fu@pengutronix.de: set GPIO alternate function while requesting]\nAcked-by: Luotao Fu \u003cl.fu@pengutronix.de\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Rabin Vincent \u003crabin.vincent@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "27e34995e1a863c1e9beba30e51dfe2a083f918d",
      "tree": "e7ad3ee4794a3c2cf7d3922610335a6391c987c8",
      "parents": [
        "d2d272a965baeb3d78f843374bc48f0cbce8ac3d"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin.vincent@stericsson.com",
        "time": "Fri Jul 02 16:52:08 2010 +0530"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:24 2010 +0200"
      },
      "message": "mfd: Add STMPE I/O Expander support\n\nAdd support for the STMPE family of I/O Expanders from\nSTMicroelectronics.  These devices include upto 24 gpios and a varying\nselection of blocks, including PWM, keypad, and touchscreen controllers.\nThis patch adds the MFD core.\n\n[l.fu@pengutronix.de: fix stmpe811 enable hook]\n[l.fu@pengutronix.de: add touchscreen platform data]\nAcked-by: Luotao Fu \u003cl.fu@pengutronix.de\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Rabin Vincent \u003crabin.vincent@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "d2d272a965baeb3d78f843374bc48f0cbce8ac3d",
      "tree": "109894ab5b7a6fc318d28d44d7a06ffcc52d1f07",
      "parents": [
        "15742c8a42c89aa5e63542b0de00b0dc4c5038cf"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Thu Jul 01 17:43:50 2010 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:23 2010 +0200"
      },
      "message": "mfd: Properly free t7l66xb clk32k clock source\n\nThis patch includes below fixes to properly free clk32k clock source:\n1. remove a redundant clk_put in t7l66xb_probe error path\n2. add missing clk_disable(t7l66xb-\u003eclk32k) and clk_put(t7l66xb-\u003eclk32k)\n   to properly free the clock source.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "15742c8a42c89aa5e63542b0de00b0dc4c5038cf",
      "tree": "a342b299378a82f74ba0d15109ba227265151849",
      "parents": [
        "3cb46ac058f8ce3ed339fc5dcf6faae4329153c9"
      ],
      "author": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Sat Jun 19 02:29:24 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:23 2010 +0200"
      },
      "message": "mfd: More verbose MFD Kconfig entry\n\nFor people to be able to intellingibly decide if they want to enable MFD\ndrivers or not, we have to give them a much better description of what they\nare.\n"
    },
    {
      "commit": "3cb46ac058f8ce3ed339fc5dcf6faae4329153c9",
      "tree": "f8977a0ee1f76de65b1a5f382c377c2690f914ab",
      "parents": [
        "e2bde787131a01d0f2ca9baccaf3d107bf6c0c92"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jun 09 14:54:54 2010 +0100"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:22 2010 +0200"
      },
      "message": "mfd: Staticise ab3550 register access functions\n\nThese are now exported via an ops table rather than referenced\ndirectly and so should be staticised.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "e2bde787131a01d0f2ca9baccaf3d107bf6c0c92",
      "tree": "426c3fc1386079e1f19379294ddf7b2f3ed236da",
      "parents": [
        "8af5fe3bc59d73479ff701340e1a9bc7c6b5f0ff"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Jun 01 16:34:38 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:20 2010 +0200"
      },
      "message": "mfd: Fix davinci memory leak\n\nError handling code following a kmalloc should free the allocated data.\n\nThe semantic match that finds the problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@r exists@\nlocal idexpression x;\nstatement S;\nexpression E;\nidentifier f,f1,l;\nposition p1,p2;\nexpression *ptr !\u003d NULL;\n@@\n\nx@p1 \u003d \\(kmalloc\\|kzalloc\\|kcalloc\\)(...);\n...\nif (x \u003d\u003d NULL) S\n\u003c... when !\u003d x\n     when !\u003d if (...) { \u003c+...x...+\u003e }\n(\nx-\u003ef1 \u003d E\n|\n (x-\u003ef1 \u003d\u003d NULL || ...)\n|\n f(...,x-\u003ef1,...)\n)\n...\u003e\n(\n return \\(0\\|\u003c+...x...+\u003e\\|ptr\\);\n|\n return@p2 ...;\n)\n\n@script:python@\np1 \u003c\u003c r.p1;\np2 \u003c\u003c r.p2;\n@@\n\nprint \"* file: %s kmalloc %s return %s\" % (p1[0].file,p1[0].line,p2[0].line)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "8af5fe3bc59d73479ff701340e1a9bc7c6b5f0ff",
      "tree": "db9ae235ef680ce0778a9269aae394a2bbb11720",
      "parents": [
        "25fe24f884015ba2e1e39376deb055bbbdc5ba83"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Mon May 31 17:30:55 2010 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:19 2010 +0200"
      },
      "message": "mfd: properly handle platform_device_add_resources fail in mfd_add_device\n\nplatform_device_add_resources may fail, thus add error checking for it.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "25fe24f884015ba2e1e39376deb055bbbdc5ba83",
      "tree": "75aa1f9cdefabc453908f150a66cf8be7ff4df14",
      "parents": [
        "c0d4010e11e23d6f55f9bdda63b1974f35af71bf"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Fri May 28 22:58:46 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:19 2010 +0200"
      },
      "message": "mfd: kzalloc doesn\u0027t return ERR_PTR\n\nUse !x rather than IS_ERR(x) to test the result of kzalloc.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression x,E;\n@@\n\nx \u003d \\(kmalloc\\|kzalloc\\|kcalloc\\)(...)\n... when !\u003d x \u003d E\n- IS_ERR(x)\n+ !x\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "c0d4010e11e23d6f55f9bdda63b1974f35af71bf",
      "tree": "862ea68bf95e6f8d57d8a94c2b24d1c48ff9298b",
      "parents": [
        "eb6e8ddf06ff0d6b6548ca0b95a4edfeb2aaadd0"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@stericsson.com",
        "time": "Fri May 28 02:59:44 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:18 2010 +0200"
      },
      "message": "mfd: AB8500 mask off irrelevant bits from the SPI message\n\nThe registers on the AB8500 are only 8 bits wide, so the content\nof the remaining bits is undefined. Let\u0027s mask off the undefined\nstuff when returning a register in an SPI read.\n\nAcked-by: Rabin Vincent \u003crabin.vincent@stericsson.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "eb6e8ddf06ff0d6b6548ca0b95a4edfeb2aaadd0",
      "tree": "4763ef7bf41e50e3d443fefc3a58faa3ee0df31a",
      "parents": [
        "d281b80c46da8bae806c4ef5682187f07e35389d"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu May 27 00:54:09 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:18 2010 +0200"
      },
      "message": "mfd: Fix 88pm860x uninitialized variable and clean up\n\nThe original code had a compile warning:\ndrivers/mfd/88pm860x-core.c:431: warning: ‘ret’ may be used\n\tuninitialized in this function\nIt seems like the warning is valid if either pdata or pdata-\u003etouch is\nNULL.\n\nThis patch checks pdata and pdata-\u003etouch at the beginning of the\nfunction.  That means everything can be pulled in one indent level.\nNow all the statements fit within the 80 character limit.\n\nAlso at that point the \"use_gpadc\" variable isn\u0027t needed and removing\nit simplifies the logic.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Haojian Zhuang \u003chzhuang1@marvell.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "d281b80c46da8bae806c4ef5682187f07e35389d",
      "tree": "96ff99c6359cdf53cd2e0e6d862bc5fab9f2e159",
      "parents": [
        "21f1fc38606b35bb12a4772367ef68128cd12c30"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Tue May 25 14:49:51 2010 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:17 2010 +0200"
      },
      "message": "mfd: Fix memory leak in ab3100_otp_probe\n\nIn current implementation, there is a memory leak if ab3100_otp_read fail.\nAnd in the case of ab3100_otp_init_debugfs fail, it does not properly remove\nsysfs entries.\nThis patch properly handle above failure cases.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "21f1fc38606b35bb12a4772367ef68128cd12c30",
      "tree": "8233c43962e8470dc58b9479fc4d8ac375d45e78",
      "parents": [
        "d0f7a6d6d193c22793b128728666726fbd3667eb"
      ],
      "author": {
        "name": "Haojian Zhuang",
        "email": "haojian.zhuang@marvell.com",
        "time": "Wed May 19 13:06:59 2010 +0800"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:17 2010 +0200"
      },
      "message": "mfd: Fix led resource in 88pm860x\n\nFix typo error in LED resource of 88pm860x.\n\nSigned-off-by: Haojian Zhuang \u003chaojian.zhuang@marvell.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "d0f7a6d6d193c22793b128728666726fbd3667eb",
      "tree": "223a777c2c29e754c3eb74adcf2183bf9f93d378",
      "parents": [
        "5af568cbd55f60b5a1d174f621b273e4f585dc35"
      ],
      "author": {
        "name": "Haojian Zhuang",
        "email": "haojian.zhuang@marvell.com",
        "time": "Fri Jun 18 19:59:53 2010 +0200"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Thu Aug 12 11:27:16 2010 +0200"
      },
      "message": "mfd: Enable onkey on max8925\n\nEnable onkey feature in max8925 driver.\n\nSigned-off-by: Haojian Zhuang \u003chaojian.zhuang@marvell.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "5af568cbd55f60b5a1d174f621b273e4f585dc35",
      "tree": "7cdc1afeb267519133a29ac595df21278c556c8c",
      "parents": [
        "062e27ec1b49d12bdb1ecc94d74b5fee5a5775db",
        "66a362a2aa8ffa72670259fa15e2a77a01cc2217"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:23:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:23:32 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  isofs: Fix lseek() to position beyond 4 GB\n  vfs: remove unused MNT_STRICTATIME\n  vfs: show unreachable paths in getcwd and proc\n  vfs: only add \" (deleted)\" where necessary\n  vfs: add prepend_path() helper\n  vfs: __d_path: dont prepend the name of the root dentry\n  ia64: perfmon: add d_dname method\n  vfs: add helpers to get root and pwd\n  cachefiles: use path_get instead of lone dget\n  fs/sysv/super.c: add support for non-PDP11 v7 filesystems\n  V7: Adjust sanity checks for some volumes\n  Add v7 alias\n  v9fs: fixup for inode_setattr being removed\n\nManual merge to take Al\u0027s version of the fs/sysv/super.c file: it merged\ncleanly, but Al had removed an unnecessary header include, so his side\nwas better.\n"
    },
    {
      "commit": "062e27ec1b49d12bdb1ecc94d74b5fee5a5775db",
      "tree": "28ebc44e789cebe7ec7b52ed74349438cf936eb2",
      "parents": [
        "bf25db365428dbd182768baa9850bef7afaac80d",
        "66048c381bb1e3a7c6fc69c28721843d6ec11c8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:20:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:20:13 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:\n  Squashfs: fix checkpatch.pl warnings\n  Squashfs: fix filename typo\n  Squashfs: update Kconfig and documentation for LZO\n  Squashfs: fix block size use in LZO decompressor\n  Squashfs: Add LZO compression support\n  squashfs: fix filename in header comment\n  Squashfs: Make XATTR config name consistent with other file systems\n  squashfs: fix compiler inline warning\n"
    },
    {
      "commit": "bf25db365428dbd182768baa9850bef7afaac80d",
      "tree": "4373037b00459643f0d661672eb6688f80800d72",
      "parents": [
        "682c30ed2165d5694a414d31eac7c63ac5700fb0",
        "5002dd18c5940ce63b917d84f2b852c3b96009bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:19:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:19:43 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd:\n  exofs: Fix groups code when num_devices is not divisible by group_width\n  exofs: Remove useless optimization\n  exofs: exofs_file_fsync and exofs_file_flush correctness\n  exofs: Remove superfluous dependency on buffer_head and writeback\n"
    },
    {
      "commit": "682c30ed2165d5694a414d31eac7c63ac5700fb0",
      "tree": "0dd5c95637222f05f3f89511453387b03c85f6f4",
      "parents": [
        "84479f3c17e2c452d22be10a967e5282b3742d9f",
        "e56fa10e92e077d456cbc33b7025032887772b33"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:18:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:18:32 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (39 commits)\n  ceph: generalize mon requests, add pool op support\n  ceph: only queue async writeback on cap revocation if there is dirty data\n  ceph: do not ignore osd_idle_ttl mount option\n  ceph: constify dentry_operations\n  ceph: whitespace cleanup\n  ceph: add flock/fcntl lock support\n  ceph: define on-wire types, constants for file locking support\n  ceph: add CEPH_FEATURE_FLOCK to the supported feature bits\n  ceph: support v2 reconnect encoding\n  ceph: support v2 client_caps encoding\n  ceph: move AES iv definition to shared header\n  ceph: fix decoding of pool snap info\n  ceph: make -\u003esync_fs not wait if wait\u003d\u003d0\n  ceph: warn on missing snap realm\n  ceph: print useful error message when crush rule not found\n  ceph: use %pU to print uuid (fsid)\n  ceph: sync header defs with server code\n  ceph: clean up header guards\n  ceph: strip misleading/obsolete version, feature info\n  ceph: specify supported features in super.h\n  ...\n"
    },
    {
      "commit": "84479f3c17e2c452d22be10a967e5282b3742d9f",
      "tree": "eca4fcb1be58a163712c6b41fe2688da8de53c81",
      "parents": [
        "946880fa270c18c137654af70ba939f03181c6b6",
        "461cbe77d0a4f887c33a3a95ea68a7daf23b4302"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:18:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:18:06 2010 -0700"
      },
      "message": "Merge branch \u0027msm-video\u0027 of git://codeaurora.org/quic/kernel/dwalker/linux-msm\n\n* \u0027msm-video\u0027 of git://codeaurora.org/quic/kernel/dwalker/linux-msm:\n  video: msm: Fix section mismatch in mddi.c.\n  drivers: video: msm: drop some unused variables\n"
    },
    {
      "commit": "946880fa270c18c137654af70ba939f03181c6b6",
      "tree": "1fc66f0f55c17be3026d55fc261f4cbddaf80e90",
      "parents": [
        "636d17427b1ef0e97bd9df9b3b0e0f314ff889d3",
        "42ea573f872365b0797ddbcee2e1f1f48913f507"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:17:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:17:27 2010 -0700"
      },
      "message": "Merge branch \u0027ixp4xx\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6\n\n* \u0027ixp4xx\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6:\n  IXP4xx: Fix LL debugging on little-endian CPU.\n  IXP4xx: Fix sparse warnings in I/O primitives.\n  IXP4xx: Make mdio_bus struct static in the Ethernet driver.\n  IXP4xx: Fix ixp4xx_crypto little-endian operation.\n  IXP4xx: Prevent HSS transmitter lockup by disabling FRaMe signals.\n  ixp4xx/vulcan: add PCI support\n  ixp4xx: base support for Arcom Vulcan\n"
    },
    {
      "commit": "636d17427b1ef0e97bd9df9b3b0e0f314ff889d3",
      "tree": "f573602c1a78e9140c36e220c47675b79af1c270",
      "parents": [
        "dd21e9bdff14a9882f2c485fe533c6ce64ea2675",
        "0b019a41553a919965bb02d07d54e3e6c57a796d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:13:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 09:13:19 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (226 commits)\n  ARM: 6323/1: cam60: don\u0027t use __init for cam60_spi_{flash_platform_data,partitions}\n  ARM: 6324/1: cam60: move cam60_spi_devices to .init.data\n  ARM: 6322/1: imx/pca100: Fix name of spi platform data\n  ARM: 6321/1: fix syntax error in main Kconfig file\n  ARM: 6297/1: move U300 timer to dynamic clock lookup\n  ARM: 6296/1: clock U300 intcon and timer properly\n  ARM: 6295/1: fix U300 apb_pclk split\n  ARM: 6306/1: fix inverted MMC card detect in U300\n  ARM: 6299/1: errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID\n  ARM: 6294/1: etm: do a dummy read from OSSRR during initialization\n  ARM: 6292/1: coresight: add ETM management registers\n  ARM: 6288/1: ftrace: document mcount formats\n  ARM: 6287/1: ftrace: clean up mcount assembly indentation\n  ARM: 6286/1: fix Thumb-2 decompressor broken by \"Auto calculate ZRELADDR\"\n  ARM: 6281/1: video/imxfb.c: allow usage without BACKLIGHT_CLASS_DEVICE\n  ARM: 6280/1: imx: Fix build failure when including \u003cmach/gpio.h\u003e without \u003clinux/spinlock.h\u003e\n  ARM: S5PV210: Fix on missing s3c-sdhci card detection method for hsmmc3\n  ARM: S5P: Fix on missing S5P_DEV_FIMC in plat-s5p/Kconfig\n  ARM: S5PV210: Override FIMC driver name on Aquila board\n  ARM: S5PC100: enable FIMC on SMDKC100\n  ...\n\nFix up conflicts in arch/arm/mach-{s5pc100,s5pv210}/cpu.c due to\ndifferent subsystem \u0027setname\u0027 calls, and trivial port types in\ninclude/linux/serial_core.h\n"
    },
    {
      "commit": "dd21e9bdff14a9882f2c485fe533c6ce64ea2675",
      "tree": "3731ef6f08fbc98e49a36372e4b73e4c8ab8de27",
      "parents": [
        "5bf2b19320ec31d094d7370fdf536f7fd91fd799"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Tue Aug 10 18:03:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:23 2010 -0700"
      },
      "message": "lib/decompress_bunzip2.c: fix checkstack warning\n\nFix checkstack error:\n\nlib/decompress_bunzip2.c: In function `get_next_block\u0027:\nlib/decompress_bunzip2.c:511: warning: the frame size of 1932 bytes is larger than 1024 bytes\n\nbyteCount, symToByte, and mtfSymbol cannot be declared static or allocated\ndynamically so place them in the bunzip_data struct.\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\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": "5bf2b19320ec31d094d7370fdf536f7fd91fd799",
      "tree": "47052fd9bdb0969d4a4a7d430695388094409964",
      "parents": [
        "2e956fb320568cc70861761483e2f0e2db75fd66"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Tue Aug 10 18:03:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:23 2010 -0700"
      },
      "message": "kfifo: add example files to the kernel sample directory\n\nAdd four examples to the kernel sample directory.\n\nIt shows how to handle:\n- a byte stream fifo\n- a integer type fifo\n- a dynamic record sized fifo\n- the fifo DMA functions\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e956fb320568cc70861761483e2f0e2db75fd66",
      "tree": "737c21d0eb1981f26de6d4830ef6fa8162888c89",
      "parents": [
        "4201d9a8e86b51dd40aa8a0dabd093376c859985"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Tue Aug 10 18:03:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:23 2010 -0700"
      },
      "message": "kfifo: replace the old non generic API\n\nSimply replace the whole kfifo.c and kfifo.h files with the new generic\nversion and fix the kerneldoc API template file.\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4201d9a8e86b51dd40aa8a0dabd093376c859985",
      "tree": "6c5351812aab1e027056139c95982642890797ec",
      "parents": [
        "4457d9845927b3c62b6e833be243d21d6ca7df47"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Tue Aug 10 18:03:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:23 2010 -0700"
      },
      "message": "kfifo: add the new generic kfifo API\n\nAdd the new version of the kfifo API files kfifo.c and kfifo.h.\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4457d9845927b3c62b6e833be243d21d6ca7df47",
      "tree": "c18beec72aa318227225b22ea323c45760439e32",
      "parents": [
        "ad9c7ed0685406fe3cd7f0749b82bf433a39dd9c"
      ],
      "author": {
        "name": "Stefani Seibold",
        "email": "stefani@seibold.net",
        "time": "Tue Aug 10 18:03:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:23 2010 -0700"
      },
      "message": "kfifo: fix kfifo miss use of nozami.c\n\nThere are different types of a fifo which can not handled in C without a\nlot of overhead.  So i decided to write the API as a set of macros, which\nis the only way to do a kind of template meta programming without C++.\nThis macros handles the different types of fifos in a transparent way.\n\nThere are a lot of benefits:\n\n- Compile time handling of the different fifo types\n- Better performance (a save put or get of an integer does only generate\n  9 assembly instructions on a x86)\n- Type save\n- Cleaner interface, the additional kfifo_..._rec() functions are gone\n- Easier to use\n- Less error prone\n- Different types of fifos: it is now possible to define a int fifo or\n  any other type. See below for an example.\n- Smaller footprint for none byte type fifos\n- No need of creating a second hidden variable, like in the old DEFINE_KFIFO\n\nThe API was not changed.\n\nThere are now real in place fifos where the data space is a part of the\nstructure.  The fifo needs now 20 byte plus the fifo space.  Dynamic\nassigned or allocated create a little bit more code.\n\nMost of the macros code will be optimized away and simple generate a\nfunction call.  Only the really small one generates inline code.\n\nAdditionally you can now create fifos for any data type, not only the\n\"unsigned char\" byte streamed fifos.\n\nThere is also a new kfifo_put and kfifo_get function, to handle a single\nelement in a fifo.  This macros generates inline code, which is lit bit\nlarger but faster.\n\nI know that this kind of macros are very sophisticated and not easy to\nmaintain.  But i have all tested and it works as expected.  I analyzed the\noutput of the compiler and for the x86 the code is as good as hand written\nassembler code.  For the byte stream fifo the generate code is exact the\nsame as with the current kfifo implementation.  For all other types of\nfifos the code is smaller before, because the interface is easier to use.\n\nThe main goal was to provide an API which is very intuitive, save and easy\nto use.  So linux will get now a powerful fifo API which provides all what\na developer needs.  This will save in the future a lot of kernel space,\nsince there is no need to write an own implementation.  Most of the device\ndriver developers need a fifo, and also deep kernel development will gain\nbenefit from this API.\n\nHere are the results of the text section usage:\n\nExample 1:\n                        kfifo_put/_get  kfifo_in/out    current kfifo\ndynamic allocated       0x000002a8      0x00000291      0x00000299\nin place                0x00000291      0x0000026e      0x00000273\n\nkfifo.c                 new             old\ntext section size       0x00000be5      0x000008b2\n\nAs you can see, kfifo_put/kfifo_get creates a little bit more code than\nkfifo_in/kfifo_out, but it is much faster (the code is inline).\n\nThe code is complete hand crafted and optimized.  The text section size is\nas small as possible.  You get all the fifo handling in only 3 kb.  This\nincludes type safe fix size records, dynamic records and DMA handling.\n\nThis should be the final version. All requested features are implemented.\n\nNote: Most features of this API doesn\u0027t have any users.  All functions\nwhich are not used in the next 9 months will be removed.  So, please adapt\nyour drivers and other sources as soon as possible to the new API and post\nit.\n\nThis are the features which are currently not used in the kernel:\n\nkfifo_to_user()\nkfifo_from_user()\nkfifo_dma_....() macros\nkfifo_esize()\nkfifo_recsize()\nkfifo_put()\nkfifo_get()\n\nThe fixed size record elements, exclude \"unsigned char\" fifo\u0027s and the\nvariable size records fifo\u0027s\n\nThis patch:\n\nUser of the kernel fifo should never bypass the API and directly access\nthe fifo structure.  Otherwise it will be very hard to maintain the API.\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad9c7ed0685406fe3cd7f0749b82bf433a39dd9c",
      "tree": "82c4c11b94e10b71fc0796f6a4bfb9ed1e0115be",
      "parents": [
        "ab654bab04be435a9671e0dcf49c18f9782dd838"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Tue Aug 10 18:03:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:23 2010 -0700"
      },
      "message": "kfifo: kfifo_is_{full,empty} should return bools, not ints\n\nFor consistency with other kfifo routines, return bool, not int.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nCc: Stefani Seibold \u003cstefani@seibold.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab654bab04be435a9671e0dcf49c18f9782dd838",
      "tree": "0e6badaeb18eebeaeff1b8d8bc9049dde7e85ee6",
      "parents": [
        "0bcaa65a56ab74003666cf741b0bfa1e9263a11c"
      ],
      "author": {
        "name": "Lubomir Rintel",
        "email": "lkundrak@v3.sk",
        "time": "Tue Aug 10 18:03:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:23 2010 -0700"
      },
      "message": "fs/sysv/super.c: add support for non-PDP11 v7 filesystems\n\nThis adds byte order autodetection (of PDP-11 and LE filesystems).  No\nattempt is made to detect big-endian filesystems -- were there any?\nTested with PDP-11 v7 filesystems and PC-IX maintenance floppy.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Lubomir Rintel \u003clkundrak@v3.sk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@ZenIV.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": "0bcaa65a56ab74003666cf741b0bfa1e9263a11c",
      "tree": "580445e4f38cf6894ff695069edcc048b09870dd",
      "parents": [
        "a36517e9302b8396db24600bf9f67e4d1c441907"
      ],
      "author": {
        "name": "Lubomir Rintel",
        "email": "lkundrak@v3.sk",
        "time": "Tue Aug 10 18:03:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "fs/sysv: v7: adjust sanity checks for some volumes\n\nNewly mkfs-ed filesystems from Seventh Edition have last modification time\nset to zero, but are otherwise perfectly valid.\n\nAlso, tighten up other sanity checks to filter out most filesystems with\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Lubomir Rintel \u003clkundrak@v3.sk\u003e\nCc: 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": "a36517e9302b8396db24600bf9f67e4d1c441907",
      "tree": "7b9c3c33f470ad8f8d6db532282473a748413f28",
      "parents": [
        "f65a03f6ab6f53a6f2847dbac232dcb38b3b3642"
      ],
      "author": {
        "name": "Lubomir Rintel",
        "email": "lkundrak@v3.sk",
        "time": "Tue Aug 10 18:03:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "fs/sysv: add v7 alias\n\nSo that the module gets autoloaded when a v7 filesystem is mounted.\n\nSigned-off-by: Lubomir Rintel \u003clkundrak@v3.sk\u003e\nCc: 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": "f65a03f6ab6f53a6f2847dbac232dcb38b3b3642",
      "tree": "b6412bfc2ec6dd1cc061e11e60cad1949ca6cf8d",
      "parents": [
        "832ccf6f44969b616b2aeea25276684cf104fa3b"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Aug 10 18:03:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "kexec: return -EFAULT on copy_to_user() failures\n\ncopy_to/from_user() returns the number of bytes remaining to be copied.\nIt never returns a negative value.  The correct return code is -EFAULT and\nnot -EIO.\n\nAll the callers check for non-zero returns so that\u0027s Ok, but the return\ncode is passed to the user so we should fix this.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Simon Kagstrom \u003csimon.kagstrom@netinsight.net\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "832ccf6f44969b616b2aeea25276684cf104fa3b",
      "tree": "2aa3c7022469cd37340e4f17d092942e33d889ed",
      "parents": [
        "863a6049202412a6d655d052eb1c45ca7dd74a83"
      ],
      "author": {
        "name": "Fr?d?ric Bri?re",
        "email": "fbriere@fbriere.net",
        "time": "Tue Aug 10 18:03:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "parport_serial: use the PCI IRQ if offered\n\nCommit 51dcdfe (\"parport: Use the PCI IRQ if offered\") added IRQ support\nfor PCI parallel port devices handled by parport_pc, but turned it off for\nparport_serial, despite a printk() message to the contrary.\n\nSigned-off-by: Fr?d?ric Bri?re \u003cfbriere@fbriere.net\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": "863a6049202412a6d655d052eb1c45ca7dd74a83",
      "tree": "9550c1f6c484460cb646f4472558512ac8a9f149",
      "parents": [
        "e2e7e093259d4c6b73b432122974393d6fcdfc2a"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Tue Aug 10 18:03:30 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "lib/bug.c: add oops end marker to WARN implementation\n\nWe are missing the oops end marker for the exception based WARN implementation\nin lib/bug.c. This is useful for logfile analysis tools.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2e7e093259d4c6b73b432122974393d6fcdfc2a",
      "tree": "d8a5ff294a21c074724539f4fc8f9b7783ae96b4",
      "parents": [
        "c7ff0d9c92435e836e13aaa8d0e56d4000424bcc"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Tue Aug 10 18:03:29 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "lib/bug.c: make WARN implementation match the kernel/panic.c one\n\nThere are a few issues with the exception based WARN implementation in\nlib/bug.c:\n\n- Inconsistent printk flags. The \"cut here\" line is printed at KERN_EMERG, so\n  the console and all logged in users see the single line:\n\n------------[ cut here ]------------\n\n  for each WARN. Fix this so we print everything at KERN_WARNING to match the\n  kernel/panic.c version.\n\n- The lib/bug.c WARN would print \"Badness at\". Change it to match the\n  kernel/panic.c version which prints \"WARNING: at\".\n\n- Print the list of modules, similar to kernel/panic.c of modules, similar to\n  kernel/panic.c\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c7ff0d9c92435e836e13aaa8d0e56d4000424bcc",
      "tree": "96f56d15b5dd96c44fb183ce00152608df50dc5c",
      "parents": [
        "bebf8cfaea1df1a104b993b995bb385e998a4dc8"
      ],
      "author": {
        "name": "TAMUKI Shoichi",
        "email": "tamuki@linet.gr.jp",
        "time": "Tue Aug 10 18:03:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "panic: keep blinking in spite of long spin timer mode\n\nTo keep panic_timeout accuracy when running under a hypervisor, the\ncurrent implementation only spins on long time (1 second) calls to mdelay.\n That brings a good effect, but the problem is the keyboard LEDs don\u0027t\nblink at all on that situation.\n\nThis patch changes to call to panic_blink_enter() between every mdelay and\nkeeps blinking in spite of long spin timer mode.\n\nThe time to call to mdelay is now 100ms.  Even this change will keep\npanic_timeout accuracy enough when running under a hypervisor.\n\nSigned-off-by: TAMUKI Shoichi \u003ctamuki@linet.gr.jp\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nAcked-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bebf8cfaea1df1a104b993b995bb385e998a4dc8",
      "tree": "8c306f251666410c72a4f1c2c0c0e6dcd29e39ba",
      "parents": [
        "a35274cd109222e40716485d856b3ccc9ffccb37"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Aug 10 18:03:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "afs: destroy work queue on init failure\n\nWe can clean up the work queue on this error path.  This function is\ncalled from afs_init().\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: 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": "a35274cd109222e40716485d856b3ccc9ffccb37",
      "tree": "a03c12aa9d92e5ddf4b750ddddb38217db5e3491",
      "parents": [
        "175833635fe6e96548ccab802ed0b0f25251cbbe"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Aug 10 18:03:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "dma-mapping: add DMA_xxBIT_MASK to feature-removal-schedule.txt\n\nDMA_xxBIT_MASK macros were marked as deprecated in June 2009.  One more\nyear is long enough, I think.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "175833635fe6e96548ccab802ed0b0f25251cbbe",
      "tree": "383fc94a0b18be391d6712a2c9669d611824d440",
      "parents": [
        "c31e74c4c34fa863393c28b95409aee934b4f8e1"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Aug 10 18:03:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:22 2010 -0700"
      },
      "message": "pci: add PCI DMA unamp state API to feature-removal-schedule.txt\n\nIt was replaced with the DMA unamp state API (which can be used for\nany bus).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c31e74c4c34fa863393c28b95409aee934b4f8e1",
      "tree": "8bff4a33f83457b7fe0f4222def85db9df7b645a",
      "parents": [
        "3b9c6c11f519718d618f5d7c9508daf78b207f6f"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Aug 10 18:03:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:21 2010 -0700"
      },
      "message": "Documentation: DMA-API-HOWTO.txt: add multiple types of IOMMUs support\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b9c6c11f519718d618f5d7c9508daf78b207f6f",
      "tree": "6c99992e25b9305fbe3977dff30f5eeb445f25e0",
      "parents": [
        "d80e0d96a328cc864a1cb359f545a6ed0c61812d"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Aug 10 18:03:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:21 2010 -0700"
      },
      "message": "dma-mapping: remove dma_is_consistent API\n\nArchitectures implement dma_is_consistent() in different ways (some\nmisinterpret the definition of API in DMA-API.txt).  So it hasn\u0027t been so\nuseful for drivers.  We have only one user of the API in tree.  Unlikely\nout-of-tree drivers use the API.\n\nEven if we fix dma_is_consistent() in some architectures, it doesn\u0027t look\nuseful at all.  It was invented long ago for some old systems that can\u0027t\nallocate coherent memory at all.  It\u0027s better to export only APIs that are\ndefinitely necessary for drivers.\n\nLet\u0027s remove this API.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nReviewed-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d80e0d96a328cc864a1cb359f545a6ed0c61812d",
      "tree": "805689907e865c14943b7b77b7b1d64ca8044e01",
      "parents": [
        "7896bfa451b209f73bc8ec14721dcc2c5329a0a9"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Aug 10 18:03:24 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:21 2010 -0700"
      },
      "message": "scsi: 53c700: remove dma_is_consistent usage\n\nThis driver is the only user of dma_is_consistent().  We plan to remove this\nAPI.\n\nThe driver uses the API in the following way:\n\nBUG_ON(!dma_is_consistent(hostdata-\u003edev, pScript) \u0026\u0026 L1_CACHE_BYTES \u003c dma_get_cache_alignment());\n\nThe above code tries to see if L1_CACHE_BYTES is greater than\ndma_get_cache_alignment() on sysmtes that can not allocate coherent memory\n(some old systems can\u0027t).\n\nJames Bottomley exmplained that this is necesary because the driver packs the\nset of mailboxes into a single coherent area and separates the different\nusages by a L1 cache stride.  So it\u0027s fatal if the dma\n\nHe also pointed out that we can kill this checking because we don\u0027t hit this\nBUG_ON on all architectures that actually use the driver.\n\n(akpm: stolen from the scsi tree because\ndma-mapping-remove-dma_is_consistent-api.patch needs it)\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7896bfa451b209f73bc8ec14721dcc2c5329a0a9",
      "tree": "c69a6b86bb74b697a9c8386d5f4d4091fc6242cf",
      "parents": [
        "4565f0170dfc849b3629c27d769db800467baa62"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Aug 10 18:03:23 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:21 2010 -0700"
      },
      "message": "dma-mapping: parisc: set ARCH_DMA_MINALIGN\n\nArchitectures that handle DMA-non-coherent memory need to set\nARCH_DMA_MINALIGN to make sure that kmalloc\u0027ed buffer is DMA-safe: the\nbuffer doesn\u0027t share a cache with the others.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Helge Deller \u003cdeller@gmx.de\u003e\nCc: James E.J. Bottomley \u003cjejb@parisc-linux.org\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": "4565f0170dfc849b3629c27d769db800467baa62",
      "tree": "a2c70fb6f2f4826749b704ed83557623ca95bca5",
      "parents": [
        "a6eb9fe105d5de0053b261148cee56c94b4720ca"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Aug 10 18:03:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:21 2010 -0700"
      },
      "message": "dma-mapping: unify dma_get_cache_alignment implementations\n\ndma_get_cache_alignment returns the minimum DMA alignment.  Architectures\ndefines it as ARCH_DMA_MINALIGN (formally ARCH_KMALLOC_MINALIGN).  So we\ncan unify dma_get_cache_alignment implementations.\n\nNote that some architectures implement dma_get_cache_alignment wrongly.\ndma_get_cache_alignment() should return the minimum DMA alignment.  So\nfully-coherent architectures should return 1.  This patch also fixes this\nissue.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\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": "a6eb9fe105d5de0053b261148cee56c94b4720ca",
      "tree": "36e3f324a6a768397ef398674176c0f5f5365bff",
      "parents": [
        "cd1542c8197fc3c2eb3a8301505d5d9738fab1e4"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Aug 10 18:03:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:21 2010 -0700"
      },
      "message": "dma-mapping: rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN\n\nNow each architecture has the own dma_get_cache_alignment implementation.\n\ndma_get_cache_alignment returns the minimum DMA alignment.  Architectures\ndefine it as ARCH_KMALLOC_MINALIGN (it\u0027s used to make sure that malloc\u0027ed\nbuffer is DMA-safe; the buffer doesn\u0027t share a cache with the others).  So\nwe can unify dma_get_cache_alignment implementations.\n\nThis patch:\n\ndma_get_cache_alignment() needs to know if an architecture defines\nARCH_KMALLOC_MINALIGN or not (needs to know if architecture has DMA\nalignment restriction).  However, slab.h define ARCH_KMALLOC_MINALIGN if\narchitectures doesn\u0027t define it.\n\nLet\u0027s rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN.\nARCH_KMALLOC_MINALIGN is used only in the internals of slab/slob/slub\n(except for crypto).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\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": "cd1542c8197fc3c2eb3a8301505d5d9738fab1e4",
      "tree": "50c1a67329ad4d4b92af17c7959c57240a2648ca",
      "parents": [
        "b425d5c82d9b1fcf788688e556e4dfeca76604da"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@mvista.com",
        "time": "Tue Aug 10 18:03:21 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:21 2010 -0700"
      },
      "message": "edac: mpc85xx: add support for new MPCxxx/Pxxxx EDAC controllers\n\nSimply add proper IDs into the device table.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@mvista.com\u003e\nCc: Scott Wood \u003cscottwood@freescale.com\u003e\nCc: Peter Tyser \u003cptyser@xes-inc.com\u003e\nCc: Dave Jiang \u003cdjiang@mvista.com\u003e\nCc: Doug Thompson \u003cdougthompson@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b425d5c82d9b1fcf788688e556e4dfeca76604da",
      "tree": "abec89a7486ca331b2bad256a95b4674379f3aed",
      "parents": [
        "44aa80f005be88fef940fccdd345b313964768f3"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Tue Aug 10 18:03:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:21 2010 -0700"
      },
      "message": "edac: i5400: improve handling of pci_enable_device() return value\n\n-EIO is not the only error code that pci_enable_device() may return, also\nthe set of errors can be enhanced in future.  We should compare return\ncode with zero, not with concrete error value.\n\nSigned-off-by: Kulikov Vasiliy \u003csegooon@gmail.com\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nCc: Jeff Roberson \u003cjroberson@jroberson.net\u003e\nCc: Doug Thompson \u003cdougthompson@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44aa80f005be88fef940fccdd345b313964768f3",
      "tree": "0a2c4304eb01c18a3bfb9402bb43abcf3c953294",
      "parents": [
        "bd1688dcdf6e986913f3f1ff2df9dc2bfb63db5c"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Tue Aug 10 18:03:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:21 2010 -0700"
      },
      "message": "edac: i5000: improve handling of pci_enable_device() return value\n\n-EIO is not the only error code that pci_enable_device() may return, also\nthe set of errors can be enhanced in future.  We should compare return\ncode with zero, not with concrete error value.\n\nSigned-off-by: Kulikov Vasiliy \u003csegooon@gmail.com\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\nCc: Jeff Roberson \u003cjroberson@jroberson.net\u003e\nCc: Doug Thompson \u003cdougthompson@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bd1688dcdf6e986913f3f1ff2df9dc2bfb63db5c",
      "tree": "5310ad5b2f1745d802334bb5fdcd9a9098bf3fcd",
      "parents": [
        "c52b0b91ba1f4b7ea90e20385c0a6df0ba54aed4"
      ],
      "author": {
        "name": "Christoph Egger",
        "email": "siccegge@cs.fau.de",
        "time": "Tue Aug 10 18:03:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:20 2010 -0700"
      },
      "message": "edac: add wissing pieces from MPC85xx -\u003e FSL_SOC_BOOKE\n\nIn 5753c082f66eca5be81f6bda85c1718c5eea6ada (\"powerpc/85xx: Kconfig\ncleanup\") menuconfig MPC85xx was replaced by FSL_SOC_BOOKE but some\nreferences insider the code were not adjusted accordingly.  This patch\nadresses these missing pieces.\n\nSigned-off-by: Christoph Egger \u003csiccegge@cs.fau.de\u003e\nCc: Doug Thompson \u003cdougthompson@xmission.com\u003e\nCc: Peter Tyser \u003cptyser@xes-inc.com\u003e\nCc: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nCc: Scott Wood \u003cscottwood@freescale.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c52b0b91ba1f4b7ea90e20385c0a6df0ba54aed4",
      "tree": "6d92439150a3218da5807610991da4d70af56bf8",
      "parents": [
        "5fdee8c4a5e1800489ce61963208f8cc55e42ea1"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Aug 10 18:03:17 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:20 2010 -0700"
      },
      "message": "pids: alloc_pidmap: remove the unnecessary boundary checks\n\nalloc_pidmap() calculates max_scan so that if the initial offset !\u003d 0 we\ninspect the first map-\u003epage twice.  This is correct, we want to find the\nunused bits \u003c offset in this bitmap block.  Add the comment.\n\nBut it doesn\u0027t make any sense to stop the find_next_offset() loop when we\nare looking into this map-\u003epage for the second time.  We have already\nalready checked the bits \u003e\u003d offset during the first attempt, it is fine to\ndo this again, no matter if we succeed this time or not.\n\nRemove this hard-to-understand code.  It optimizes the very unlikely case\nwhen we are going to fail, but slows down the more likely case.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Salman Qazi \u003csqazi@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5fdee8c4a5e1800489ce61963208f8cc55e42ea1",
      "tree": "9e675416ab1085e9ce4822cd5e6c5705cb62204b",
      "parents": [
        "9c867fbe06458a8957024236b574733fae0cefed"
      ],
      "author": {
        "name": "Salman",
        "email": "sqazi@google.com",
        "time": "Tue Aug 10 18:03:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:20 2010 -0700"
      },
      "message": "pids: fix a race in pid generation that causes pids to be reused immediately\n\nA program that repeatedly forks and waits is susceptible to having the\nsame pid repeated, especially when it competes with another instance of\nthe same program.  This is really bad for bash implementation.\nFurthermore, many shell scripts assume that pid numbers will not be used\nfor some length of time.\n\nRace Description:\n\nA                                    B\n\n// pid \u003d\u003d offset \u003d\u003d n                // pid \u003d\u003d offset \u003d\u003d n + 1\ntest_and_set_bit(offset, map-\u003epage)\n                                     test_and_set_bit(offset, map-\u003epage);\n                                     pid_ns-\u003elast_pid \u003d pid;\npid_ns-\u003elast_pid \u003d pid;\n                                     // pid \u003d\u003d n + 1 is freed (wait())\n\n                                     // Next fork()...\n                                     last \u003d pid_ns-\u003elast_pid; // \u003d\u003d n\n                                     pid \u003d last + 1;\n\nCode to reproduce it (Running multiple instances is more effective):\n\n#include \u003cerrno.h\u003e\n#include \u003csys/types.h\u003e\n#include \u003csys/wait.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n\n// The distance mod 32768 between two pids, where the first pid is expected\n// to be smaller than the second.\nint PidDistance(pid_t first, pid_t second) {\n  return (second + 32768 - first) % 32768;\n}\n\nint main(int argc, char* argv[]) {\n  int failed \u003d 0;\n  pid_t last_pid \u003d 0;\n  int i;\n  printf(\"%d\\n\", sizeof(pid_t));\n  for (i \u003d 0; i \u003c 10000000; ++i) {\n    if (i % 32786 \u003d\u003d 0)\n      printf(\"Iter: %d\\n\", i/32768);\n    int child_exit_code \u003d i % 256;\n    pid_t pid \u003d fork();\n    if (pid \u003d\u003d -1) {\n      fprintf(stderr, \"fork failed, iteration %d, errno\u003d%d\", i, errno);\n      exit(1);\n    }\n    if (pid \u003d\u003d 0) {\n      // Child\n      exit(child_exit_code);\n    } else {\n      // Parent\n      if (i \u003e 0) {\n        int distance \u003d PidDistance(last_pid, pid);\n        if (distance \u003d\u003d 0 || distance \u003e 30000) {\n          fprintf(stderr,\n                  \"Unexpected pid sequence: previous fork: pid\u003d%d, \"\n                  \"current fork: pid\u003d%d for iteration\u003d%d.\\n\",\n                  last_pid, pid, i);\n          failed \u003d 1;\n        }\n      }\n      last_pid \u003d pid;\n      int status;\n      int reaped \u003d wait(\u0026status);\n      if (reaped !\u003d pid) {\n        fprintf(stderr,\n                \"Wait return value: expected pid\u003d%d, \"\n                \"got %d, iteration %d\\n\",\n                pid, reaped, i);\n        failed \u003d 1;\n      } else if (WEXITSTATUS(status) !\u003d child_exit_code) {\n        fprintf(stderr,\n                \"Unexpected exit status %x, iteration %d\\n\",\n                WEXITSTATUS(status), i);\n        failed \u003d 1;\n      }\n    }\n  }\n  exit(failed);\n}\n\nThanks to Ted Tso for the key ideas of this implementation.\n\nSigned-off-by: Salman Qazi \u003csqazi@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c867fbe06458a8957024236b574733fae0cefed",
      "tree": "6eae6def53e4ca9e30f90f6e9c07d8044581f08f",
      "parents": [
        "ecd6269174c04da5efbd17d6bff793e428eb45ef"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Aug 10 18:03:14 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:20 2010 -0700"
      },
      "message": "partitions: fix sometimes unreadable partition strings\n\nFix this garbage happening quite often:\n\n\u003d\u003d\u003e\t sda:\n\tscsi 3:0:0:0: CD-ROM            TOSHIBA\n\u003d\u003d\u003e\t sda1 sda2 sda3 sda4 \u003csr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray\n\t\t\t    ^^^\n\tUniform CD-ROM driver Revision: 3.20\n\tsr 3:0:0:0: Attached scsi CD-ROM sr0\n\u003d\u003d\u003e\t sda5 sda6 sda7 \u003e\n\nMake \"sda: sda1 ...\" lines actually lines.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "ecd6269174c04da5efbd17d6bff793e428eb45ef",
      "tree": "9dbf1a8b0843ffc52f9f2fb9202acd096db3c755",
      "parents": [
        "e73790a57abc1320b3c3a94da43ae24359687d7c"
      ],
      "author": {
        "name": "Jens Rottmann",
        "email": "JRottmann@LiPPERTEmbedded.de",
        "time": "Tue Aug 10 18:03:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:20 2010 -0700"
      },
      "message": "cs5535-mfgpt: reuse timers that have never been set up\n\nThe MFGPT hardware may be set up only once, therefore\ncs5535_mfgpt_free_timer() didn\u0027t re-set the timer\u0027s \"avail\" bit.  However\nif a timer is freed before it has actually been in use then it may be made\navailable again.\n\nSigned-off-by: Jens Rottmann \u003cJRottmann@LiPPERTEmbedded.de\u003e\nAcked-by: Andres Salomon \u003cdilinger@queued.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Jordan Crouse \u003cjordan@cosmicpenguin.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e73790a57abc1320b3c3a94da43ae24359687d7c",
      "tree": "10aafbf75687e9e0b07f2b892f208f2ab44db2c9",
      "parents": [
        "7bb671e3d053226f870c333f701924986b39ee7f"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Aug 10 18:03:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:20 2010 -0700"
      },
      "message": "drivers/char/n_gsm.c: add missing spin_unlock_irqrestore\n\nAdd a spin_unlock_irqrestore missing on the error path.  Converting the\nreturn to break leads to the spin_unlock_irqrestore at the end of the\nfunction.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression E1;\n@@\n\n* spin_lock_irqsave(E1,...);\n  \u003c+... when !\u003d E1\n  if (...) {\n    ... when !\u003d E1\n*   return ...;\n  }\n  ...+\u003e\n* spin_unlock_irqrestore(E1,...);\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7bb671e3d053226f870c333f701924986b39ee7f",
      "tree": "1a5f891b9a1d9bc26617caf0b39bc22386ee9cae",
      "parents": [
        "7faefea66a6d1f0d9da0a18615f57dc969e00d99"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue Aug 10 18:03:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:20 2010 -0700"
      },
      "message": "ipmi: print info for spmi and smbios paths like acpi and pci\n\nPrint out the reg spacing and size for spmi and smbios so BIOS developers\ncan make them consistent.\n\nAlso remove extra PFX on the duplicating path.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Myron Stowe \u003cmyron.stowe@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7faefea66a6d1f0d9da0a18615f57dc969e00d99",
      "tree": "a3035d4e86df7460840e7d4991178375b465b918",
      "parents": [
        "f46c77c283e514a747aee7e8c4f5afc70274c232"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue Aug 10 18:03:10 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:20 2010 -0700"
      },
      "message": "ipmi: fix memleaking for add_smi when duplicating happen\n\nFree the temporary info struct when we have duplicated ones.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Myron Stowe \u003cmyron.stowe@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f46c77c283e514a747aee7e8c4f5afc70274c232",
      "tree": "ce74249748d538105237c565c5bca8e98e545cde",
      "parents": [
        "cfbef3cb16658046c6faa8c9816018dd11ae62f0"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Tue Aug 10 18:03:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:20 2010 -0700"
      },
      "message": "drivers/char/ipmi/ipmi_si_intf.c: fix warning: variable \u0027addr_space\u0027 set but not used\n\nFix a warning message generated by GCC, and also updates a web address\npointing to a pdf containing information.\n\nCC [M]  drivers/char/ipmi/ipmi_si_intf.o\ndrivers/char/ipmi/ipmi_si_intf.c: In function \u0027try_init_spmi\u0027:\ndrivers/char/ipmi/ipmi_si_intf.c:2016:8: warning: variable \u0027addr_space\u0027 set but not used\n\nSigned-off-by: Sergey V. \u003csftp.mtuci@gmail.com\u003e\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nAcked-by: Corey Minyard \u003cminyard@acm.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfbef3cb16658046c6faa8c9816018dd11ae62f0",
      "tree": "e3c548806eda5f695bedea312660222b7384d53f",
      "parents": [
        "a2a20c412c86e0bb46a9ab0dd31bcfe6d201b913"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Tue Aug 10 18:03:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:20 2010 -0700"
      },
      "message": "procfs: simplify conditional processing of fs/proc.o.\n\nSince the entire fs/proc directory is conditionally included based on\nCONFIG_PROC_FS, it\u0027s redundant to check that same variable within that\ndirectory.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a2a20c412c86e0bb46a9ab0dd31bcfe6d201b913",
      "tree": "25d32209eab03f3e3aa5eca7a93e5199174abb5a",
      "parents": [
        "c7e49c1488ab20342eaaf38f1ca35a207f4c051d"
      ],
      "author": {
        "name": "Nathan Lynch",
        "email": "ntl@pobox.com",
        "time": "Tue Aug 10 18:03:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:20 2010 -0700"
      },
      "message": "signalfd: fill in ssi_int for posix timers and message queues\n\nIf signalfd is used to consume a signal generated by a POSIX interval\ntimer or POSIX message queue, the ssi_int field does not reflect the data\n(sigevent-\u003esigev_value) supplied to timer_create(2) or mq_notify(3).  (The\nssi_ptr field, however, is filled in.)\n\nThis behavior differs from signalfd\u0027s treatment of sigqueue-generated\nsignals -- see the default case in signalfd_copyinfo.  It also gives\nresults that differ from the case when a signal is handled conventionally\nvia a sigaction-registered handler.\n\nSo, set signalfd_siginfo-\u003essi_int in the remaining cases (__SI_TIMER,\n__SI_MESGQ) where ssi_ptr is set.\n\nakpm: a non-back-compatible change.  Merge into -stable to minimise the\nnumber of kernels which are in the field and which miss this feature.\n\nSigned-off-by: Nathan Lynch \u003cntl@pobox.com\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: \u003cstable@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": "c7e49c1488ab20342eaaf38f1ca35a207f4c051d",
      "tree": "43876a69cafbb49ce86f71ba5db88018ca7cc036",
      "parents": [
        "13d7e3a2dba6a79589ed34dc0b9114d7b5ff9eab"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Aug 10 18:03:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:19 2010 -0700"
      },
      "message": "ptrace: optimize exit_ptrace() for the likely case\n\nexit_ptrace() takes tasklist_lock unconditionally.  We need this lock to\navoid the race with ptrace_traceme(), it acts as a barrier.\n\nChange its caller, forget_original_parent(), to call exit_ptrace() under\ntasklist_lock.  Change exit_ptrace() to drop and reacquire this lock if\nneeded.\n\nThis allows us to add the fastpath list_empty(ptraced) check.  In the\nlikely no-tracees case exit_ptrace() just returns and we avoid the lock()\n+ unlock() sequence.\n\n\"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e suggested to add this\ncheck, and he reports that this change adds about 11% improvement in some\ntests.\n\nSuggested-and-tested-by: \"Zhang, Yanmin\" \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@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": "13d7e3a2dba6a79589ed34dc0b9114d7b5ff9eab",
      "tree": "b22db0b9ab3af864c7517ca38887048423194e41",
      "parents": [
        "00918b6ab89df8984ca06397cb77994dabd73f9b"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Aug 10 18:03:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:19 2010 -0700"
      },
      "message": "memcg: convert to use zone_to_nid() from bare zone-\u003ezone_pgdat-\u003enode_id\n\nWe have zone_to_nid().  this patch convert all existing users of\nzone-\u003ezone_pgdat-\u003enode_id.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Nishimura Daisuke \u003cd-nishimura@mtf.biglobe.ne.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00918b6ab89df8984ca06397cb77994dabd73f9b",
      "tree": "2ca2f0f0e7f3ca235c254f05759f96f160e3c0ab",
      "parents": [
        "14fec79680f7cc4617d6ba69324e63d4a732986c"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Aug 10 18:03:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:19 2010 -0700"
      },
      "message": "memcg: remove nid and zid argument from mem_cgroup_soft_limit_reclaim()\n\nmem_cgroup_soft_limit_reclaim() has zone, nid and zid argument.  but nid\nand zid can be calculated from zone.  So remove it.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Nishimura Daisuke \u003cd-nishimura@mtf.biglobe.ne.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14fec79680f7cc4617d6ba69324e63d4a732986c",
      "tree": "f8a9b627a03d04ec7c76fb67f8ea66c81c57a92f",
      "parents": [
        "da280d636b83f0f5d92921c99ef5c7d7c3e751cc"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Aug 10 18:03:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:19 2010 -0700"
      },
      "message": "memcg: mem_cgroup_shrink_node_zone() doesn\u0027t need sc.nodemask\n\nCurrently mem_cgroup_shrink_node_zone() call shrink_zone() directly.  thus\nit doesn\u0027t need to initialize sc.nodemask because shrink_zone() doesn\u0027t\nuse it at all.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Nishimura Daisuke \u003cd-nishimura@mtf.biglobe.ne.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "da280d636b83f0f5d92921c99ef5c7d7c3e751cc",
      "tree": "8f64c4234031589b7818f3d90a1a9552016161ff",
      "parents": [
        "b8f5c5664d51776d74c84228c4b7165abfa92a18"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Aug 10 18:03:04 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:19 2010 -0700"
      },
      "message": "memcg: kill unnecessary initialization in mem_cgroup_shrink_node_zone()\n\nsc.nr_reclaimed and sc.nr_scanned have already been initialized few lines\nabove \"struct scan_control sc \u003d {}\" statement.\n\nSo, This patch remove this unnecessary code.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Nishimura Daisuke \u003cd-nishimura@mtf.biglobe.ne.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8f5c5664d51776d74c84228c4b7165abfa92a18",
      "tree": "951e09e1810a356d8ecff7a85637e9c2e2f4e49d",
      "parents": [
        "f75ca962037ffd639a44fd88933cd9b84c4c4411"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Aug 10 18:03:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:19 2010 -0700"
      },
      "message": "memcg: sc.nr_to_reclaim should be initialized\n\nCurrently, mem_cgroup_shrink_node_zone() initialize sc.nr_to_reclaim as 0.\n It mean shrink_zone() only scan 32 pages and immediately return even if\nit doesn\u0027t reclaim any pages.\n\nThis patch fixes it.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Nishimura Daisuke \u003cd-nishimura@mtf.biglobe.ne.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f75ca962037ffd639a44fd88933cd9b84c4c4411",
      "tree": "4773cd57ae45831c11783cd355f9dcb516eb66f0",
      "parents": [
        "158e0a2d1b3cffed8b46cbc56393a1394672ef79"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Aug 10 18:03:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:19 2010 -0700"
      },
      "message": "memcg: avoid css_get()\n\nNow, memory cgroup increments css(cgroup subsys state)\u0027s reference count\nper a charged page.  And the reference count is kept until the page is\nuncharged.  But this has 2 bad effect.\n\n 1. Because css_get/put calls atomic_inc()/dec, heavy call of them\n    on large smp will not scale well.\n 2. Because css\u0027s refcnt cannot be in a state as \"ready-to-release\",\n    cgroup\u0027s notify_on_release handler can\u0027t work with memcg.\n 3. css\u0027s refcnt is atomic_t, it means smaller than 32bit. Maybe too small.\n\nThis has been a problem since the 1st merge of memcg.\n\nThis is a trial to remove css\u0027s refcnt per a page. Even if we remove\nrefcnt, pre_destroy() does enough synchronization as\n  - check res-\u003eusage \u003d\u003d 0.\n  - check no pages on LRU.\n\nThis patch removes css\u0027s refcnt per page.  Even after this patch, at the\n1st look, it seems css_get() is still called in try_charge().\n\nBut the logic is.\n\n  - If a memcg of mm-\u003eowner is cached one, consume_stock() will work.\n    At success, return immediately.\n  - If consume_stock returns false, css_get() is called and go to\n    slow path which may be blocked. At the end of slow path,\n    css_put() is called and restart from the start if necessary.\n\nSo, in the fast path, we don\u0027t call css_get() and can avoid access to\nshared counter. This patch can make the most possible case fast.\n\nHere is a result of multi-threaded page fault benchmark.\n\n[Before]\n    25.32%  multi-fault-all  [kernel.kallsyms]      [k] clear_page_c\n     9.30%  multi-fault-all  [kernel.kallsyms]      [k] _raw_spin_lock_irqsave\n     8.02%  multi-fault-all  [kernel.kallsyms]      [k] try_get_mem_cgroup_from_mm \u003c\u003d\u003d\u003d\u003d\u003d(*)\n     7.83%  multi-fault-all  [kernel.kallsyms]      [k] down_read_trylock\n     5.38%  multi-fault-all  [kernel.kallsyms]      [k] __css_put\n     5.29%  multi-fault-all  [kernel.kallsyms]      [k] __alloc_pages_nodemask\n     4.92%  multi-fault-all  [kernel.kallsyms]      [k] _raw_spin_lock_irq\n     4.24%  multi-fault-all  [kernel.kallsyms]      [k] up_read\n     3.53%  multi-fault-all  [kernel.kallsyms]      [k] css_put\n     2.11%  multi-fault-all  [kernel.kallsyms]      [k] handle_mm_fault\n     1.76%  multi-fault-all  [kernel.kallsyms]      [k] __rmqueue\n     1.64%  multi-fault-all  [kernel.kallsyms]      [k] __mem_cgroup_commit_charge\n\n[After]\n    28.41%  multi-fault-all  [kernel.kallsyms]      [k] clear_page_c\n    10.08%  multi-fault-all  [kernel.kallsyms]      [k] _raw_spin_lock_irq\n     9.58%  multi-fault-all  [kernel.kallsyms]      [k] down_read_trylock\n     9.38%  multi-fault-all  [kernel.kallsyms]      [k] _raw_spin_lock_irqsave\n     5.86%  multi-fault-all  [kernel.kallsyms]      [k] __alloc_pages_nodemask\n     5.65%  multi-fault-all  [kernel.kallsyms]      [k] up_read\n     2.82%  multi-fault-all  [kernel.kallsyms]      [k] handle_mm_fault\n     2.64%  multi-fault-all  [kernel.kallsyms]      [k] mem_cgroup_add_lru_list\n     2.48%  multi-fault-all  [kernel.kallsyms]      [k] __mem_cgroup_commit_charge\n\nThen, 8.02% of try_get_mem_cgroup_from_mm() disappears because this patch\nremoves css_tryget() in it. (But yes, this is an extreme case.)\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "158e0a2d1b3cffed8b46cbc56393a1394672ef79",
      "tree": "a044d53137609fdfc8c1afdde366b3e205c96eda",
      "parents": [
        "73045c47b6facbdf4656e6763c8cb469de4337e2"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Aug 10 18:03:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:19 2010 -0700"
      },
      "message": "memcg: use find_lock_task_mm() in memory cgroups oom\n\nWhen the OOM killer scans task, it check a task is under memcg or\nnot when it\u0027s called via memcg\u0027s context.\n\nBut, as Oleg pointed out, a thread group leader may have NULL -\u003emm\nand task_in_mem_cgroup() may do wrong decision. We have to use\nfind_lock_task_mm() in memcg as generic OOM-Killer does.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nReviewed-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73045c47b6facbdf4656e6763c8cb469de4337e2",
      "tree": "e791667803261eb9ae5325dcd8c70acefeee9196",
      "parents": [
        "bd0d24bfe8a8f8d2400569740874a67d164d40a9"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Tue Aug 10 18:02:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:19 2010 -0700"
      },
      "message": "memcg: remove mem from arg of charge_common\n\nmem_cgroup_charge_common() is always called with @mem \u003d NULL, so it\u0027s\nmeaningless.  This patch removes it.\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bd0d24bfe8a8f8d2400569740874a67d164d40a9",
      "tree": "9d592f6566adacc3e8da3d2c06411a16b2d45763",
      "parents": [
        "2bd9bb206b338888b226e70139a25a67d10007f0"
      ],
      "author": {
        "name": "Daisuke Nishimura",
        "email": "nishimura@mxp.nes.nec.co.jp",
        "time": "Tue Aug 10 18:02:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:18 2010 -0700"
      },
      "message": "memcg: remove redundant code\n\n- try_get_mem_cgroup_from_mm() calls rcu_read_lock/unlock by itself, so we\n  don\u0027t have to call them in task_in_mem_cgroup().\n- *mz is not used in __mem_cgroup_uncharge_common().\n- we don\u0027t have to call lookup_page_cgroup() in mem_cgroup_end_migration()\n  after we\u0027ve cleared PCG_MIGRATION of @oldpage.\n- remove empty comment.\n- remove redundant empty line in mem_cgroup_cache_charge().\n\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2bd9bb206b338888b226e70139a25a67d10007f0",
      "tree": "ac556b1bfa52f06fe2998371d10edec38d5cf2a9",
      "parents": [
        "4b53433468c87794b523e4683fbd4e8e8aca1f63"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Aug 10 18:02:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:18 2010 -0700"
      },
      "message": "memcg: clean up waiting move acct\n\nNow, for checking a memcg is under task-account-moving, we do css_tryget()\nagainst mc.to and mc.from.  But this is just complicating things.  This\npatch makes the check easier.\n\nThis patch adds a spinlock to move_charge_struct and guard modification of\nmc.to and mc.from.  By this, we don\u0027t have to think about complicated\nraces arount this not-critical path.\n\n[balbir@linux.vnet.ibm.com: don\u0027t crash on a null memcg being passed]\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "4b53433468c87794b523e4683fbd4e8e8aca1f63",
      "tree": "08f80fd5ec5d824a28aa4e0b15c7e2e83eed9fec",
      "parents": [
        "65e0e811667dedd4f19b268df9d856ecacb629de"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Aug 10 18:02:57 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:18 2010 -0700"
      },
      "message": "memcg: clean up try_charge main loop\n\nmem_cgroup_try_charge() has a big loop in it and seems to be hard to read.\n Most of routines are for slow path.  This patch moves codes out from the\nloop and make it clear what\u0027s done.\n\nSummary:\n - refactoring a function to detect a memcg is under acccount move or not.\n - refactoring a function to wait for the end of moving task acct.\n - refactoring a main loop(\u0027s slow path) as a function and make it clear\n   why we retry or quit by return code.\n - add fatal_signal_pending() check for bypassing charge loops.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "65e0e811667dedd4f19b268df9d856ecacb629de",
      "tree": "4a324c2e987157abd2593b7bd598d454792738d4",
      "parents": [
        "b7300b78d1a87625975a799a109a2f98d77757c8"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Aug 10 18:02:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:18 2010 -0700"
      },
      "message": "memcg: remove experimental from swap account config\n\nIt\u0027s 11 months since we changed swap_map[] to indicates SWAP_HAS_CACHE.\nSince that, memcg\u0027s swap accounting has been very stable and it seems\nit can be maintained.\n\nSo, I\u0027d like to remove EXPERIMENTAL from the config.\n\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b7300b78d1a87625975a799a109a2f98d77757c8",
      "tree": "8cf263c09daf725ee701b0acd7ad700c530a5f08",
      "parents": [
        "e400c28524af2d344b1663b27bf28984fa959a0e"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Tue Aug 10 18:02:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:18 2010 -0700"
      },
      "message": "blkdev: cgroup whitelist permission fix\n\nThe cgroup device whitelist code gets confused when trying to grant\npermission to a disk partition that is not currently open.  Part of\nblkdev_open() includes __blkdev_get() on the whole disk.\n\nBasically, the only ways to reliably allow a cgroup access to a partition\non a block device when using the whitelist are to 1) also give it access\nto the whole block device or 2) make sure the partition is already open in\na different context.\n\nThe patch avoids the cgroup check for the whole disk case when opening a\npartition.\n\nAddresses https://bugzilla.redhat.com/show_bug.cgi?id\u003d589662\n\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nTested-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nReported-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: \"Daniel P. Berrange\" \u003cberrange@redhat.com\u003e\nCc: \u003cstable@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": "e400c28524af2d344b1663b27bf28984fa959a0e",
      "tree": "00be68cbb87be859edd67da60dfd12506879fe01",
      "parents": [
        "2b24706a798d07cf40534d7763f608045e42e15f"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Aug 10 18:02:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:18 2010 -0700"
      },
      "message": "cgroups: save space for the terminator\n\nThe original code didn\u0027t leave enough space for a NULL terminator.  These\nstrings are copied with strcpy() into fixed length buffers in\ncgroup_root_from_opts().\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nReviewd-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Ben Blum \u003cbblum@andrew.cmu.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2b24706a798d07cf40534d7763f608045e42e15f",
      "tree": "48e1ad312dc38dcf8e176abdc643c296d00af366",
      "parents": [
        "a3038ea5e2d446a2baf4f2893c1edea9e4e48c26"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Aug 10 18:02:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:18 2010 -0700"
      },
      "message": "Documentation/padata.txt: fix typos etc.\n\nFix typos \u0026 grammar.\nUse CPU instead of cpu in text.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a3038ea5e2d446a2baf4f2893c1edea9e4e48c26",
      "tree": "221d541ca02a0837cfd0eae365d623b5e53de65c",
      "parents": [
        "a435600e5b43238cfa84bc3d3e66fe02a10b3318"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Tue Aug 10 18:02:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:18 2010 -0700"
      },
      "message": "Documentation/00-INDEX: remove reference to exception.txt\n\nThe exception.txt has been removed from the Documentation directory.  So\nupdate the index file for it.\n\nSigned-off-by: Huang Shijie \u003cshijie8@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": "a435600e5b43238cfa84bc3d3e66fe02a10b3318",
      "tree": "82e9d0278daed80ce07e9b363bfc28b47b38dcea",
      "parents": [
        "79872e07ab92557e2a7eeb55452f262e179db5bc"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "ben@decadent.org.uk",
        "time": "Tue Aug 10 18:02:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:18 2010 -0700"
      },
      "message": "docbook: need xmldoclinks for all doc types\n\n$ rm -rf build\n$ mkdir build\n$ cp .config build\n$ make O\u003dbuild htmldocs\n...\nxmlto: linux-2.6/build/Documentation/DocBook/media.xml\ndoes not validate (status 3)\nxmlto: Fix document syntax or use --skip-validation option\nlinux-2.6/build/Documentation/DocBook/media.xml:4:\nwarning: failed to load external entity\n\"linux-2.6/build/Documentation/DocBook/media-entities.tmpl\"\n\nWe need the xmldoclinks built for any document types built from the\nXML sources.\n\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "79872e07ab92557e2a7eeb55452f262e179db5bc",
      "tree": "7d2442ee112d1b0b54d7d7d3bc60bea1351f3994",
      "parents": [
        "b6d676db35ca6c99180bb12dcbd4a8c3b2995e49"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Aug 10 18:02:50 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 11 08:59:18 2010 -0700"
      },
      "message": "Documentation/networking/wavelan.txt: deleted, not in tree\n\nCommit 1d794e3b353b (\"Staging: wavelan: delete the driver\") removed the\nsource, so remove the documentation as well.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Jean Tourrilhes \u003cjt@hpl.hp.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "b6d676db35ca6c99180bb12dcbd4a8c3b2995e49"
}
