)]}'
{
  "log": [
    {
      "commit": "44c1bcd4bcde32b2a31a6775a277706ab489c0dc",
      "tree": "bb8f17e5c2d0e6e871906f3cddb32290cf1a09b8",
      "parents": [
        "0df6454da937548594774788b009616ed27607ed"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:51 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:51 2010 +0200"
      },
      "message": "hwmon: (it87) Add support for the IT8721F/IT8758E\n\nAdd support for the IT8721F/IT8758E. These new chips differ from the\nolder IT87xxF chips in the following ways:\n* ADC LSB is 12 mV instead of 16 mV.\n* PWM values are 8-bit instead of 7-bit.\nThere are other minor changes we don\u0027t have to care about in the\ndriver.\n\nAnother change is that we will handle internal voltage scaling in the\ndriver instead of delegating the work to user-space.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "0df6454da937548594774788b009616ed27607ed",
      "tree": "af7ccc62c7d0732dc5934059f959c0b31d34b3ec",
      "parents": [
        "0b22ce3b7de718882e2c2ca979490a50d798a838"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:51 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:51 2010 +0200"
      },
      "message": "hwmon: (it87) Move conversion functions\n\nMove conversion functions until after structure defintions. This is\nneeded for future changes which make use of the structures in the\nconversion funtcions.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "0b22ce3b7de718882e2c2ca979490a50d798a838",
      "tree": "af6844295e076869233f241a8791c327376be372",
      "parents": [
        "f6c61cff8bcb58b8dfb645d4243a049908c02024"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:50 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:50 2010 +0200"
      },
      "message": "hwmon: Remove many EXPERIMENTAL flags\n\nRemove the dependency on EXPERIMENTAL for all drivers which are in\nthe kernel tree for a long time, are known to work properly and for\nwhich we have documentation.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Corentin Labbe \u003ccorentin.labbe@geomatys.fr\u003e\nCc: Riku Voipio \u003criku.voipio@iki.fi\u003e\nCc: Juerg Haefliger \u003cjuergh@gmail.com\u003e\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "f6c61cff8bcb58b8dfb645d4243a049908c02024",
      "tree": "bff2919dcf335f38cb36bdbd27fd5c5870e4b0e9",
      "parents": [
        "c36364dbf38382ef6be2fb99a3ce361a679c0ecb"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:50 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:50 2010 +0200"
      },
      "message": "hwmon: (lm85) Add support for ADT7468 high-frequency PWM mode\n\nThe ADT7468 supports a high-frequency PWM output mode where all PWM\noutputs are driven by a 22.5 kHz clock. Add support for this mode, and\ndocument it, as it may surprise the user that setting one PWM output\nfrequency also affects the other PWM outputs.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "c36364dbf38382ef6be2fb99a3ce361a679c0ecb",
      "tree": "f3e74a23870dfc244dd5fe0188681ffea8a5aaf9",
      "parents": [
        "fa7a5797e57d2ed71f9a6fb44f0ae42c2d7b74b7"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:50 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:50 2010 +0200"
      },
      "message": "hwmon: (lm85) Document the ADT7468 as supported\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "fa7a5797e57d2ed71f9a6fb44f0ae42c2d7b74b7",
      "tree": "6d648ae5b1342cf5685457be48b55fc97aa092b8",
      "parents": [
        "918ee91c071d6248c48bc6457a6dea286146e3ad"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:50 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:50 2010 +0200"
      },
      "message": "hwmon: (lm85) Fix ADT7468 frequency table\n\nThe ADT7468 uses the same frequency table as the ADT7463.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: stable@kernel.org\nCc: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "918ee91c071d6248c48bc6457a6dea286146e3ad",
      "tree": "6b9dd62f6a0ccc57043678ec1129833481120ad7",
      "parents": [
        "bd5f47ec961594b1091839333600008f8166fd00"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:50 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:50 2010 +0200"
      },
      "message": "hwmon: I2C addresses are constant\n\nWe can mark normal_i2c const. Almost all drivers do that already, so\nfix the 3 remaining ones before they are used as (bad) examples for\nnew drivers.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: George Joseph \u003cgeorge.joseph@fairview5.com\u003e\nReviewed-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "bd5f47ec961594b1091839333600008f8166fd00",
      "tree": "aa4296edffd81e2976d20d3ea30ea18108b2a4de",
      "parents": [
        "6dfee85397a47063291fe199eaf950bee7944454"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:50 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:50 2010 +0200"
      },
      "message": "Move ams driver to macintosh\n\nThe ams driver isn\u0027t a hardware monitoring driver, so it shouldn\u0027t\nlive under driver/hwmon. drivers/macintosh seems much more\nappropriate, as the driver is only useful on PowerBooks and iBooks.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nCc: Stelian Pop \u003cstelian@popies.net\u003e\nCc: Michael Hanselmann \u003clinux-kernel@hansmi.ch\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "6dfee85397a47063291fe199eaf950bee7944454",
      "tree": "a0938da1f748f16621238e047a93f052fbd9adb2",
      "parents": [
        "4275fcd65d3b4a504b7779e532c81a927afd28c0"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:50 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:50 2010 +0200"
      },
      "message": "hwmon: (pcf8591) Don\u0027t attempt to detect devices\n\nThe PCF8591 can\u0027t be detected, don\u0027t even try. There are plenty of\nother means to instantiate i2c devices these days.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nReviewed-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nCc: Aurelien Jarno \u003caurelien@aurel32.net\u003e\n"
    },
    {
      "commit": "4275fcd65d3b4a504b7779e532c81a927afd28c0",
      "tree": "292e76b31cb801621ae578fde62c1a88b9c4bba5",
      "parents": [
        "24377101023d3c66136123bd8b20441814da6a90"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:49 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:49 2010 +0200"
      },
      "message": "hwmon: (pcf8591) Register as a hwmon device\n\nRegister PCF8591 devices as hwmon devices. There\u0027s little point in\nimplementing the standard sysfs interface if we don\u0027t register it in\na way libsensors will pick it.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nReviewed-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nCc: Aurelien Jarno \u003caurelien@aurel32.net\u003e\n"
    },
    {
      "commit": "24377101023d3c66136123bd8b20441814da6a90",
      "tree": "62ab04c9bfa0e0e71408bd5ac754aad1d152a1c3",
      "parents": [
        "00030af23153f1958f015df8b9fec8c29fcca8b8"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:49 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:49 2010 +0200"
      },
      "message": "hwmon: (w83795) Use standard attributes for chassis intrusion\n\nFollow the standard attribute naming for the chassis intrusion\nfeature. I couldn\u0027t test the beeping (my board apparently doesn\u0027t do\nthat) but the alarm works fine.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "00030af23153f1958f015df8b9fec8c29fcca8b8",
      "tree": "32ea0e1f4e7e5a37c89b286bef76aebae6c3e17c",
      "parents": [
        "e3760b432d589ddd9bdb8c337539b815125bc7aa"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:49 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:49 2010 +0200"
      },
      "message": "hwmon: (w83795) Exclude fan control feature by default\n\nThe fan control feature of the w83795 driver is insufficiently\nreviewed and tested for public consumption at this time, so make it\noptional and disabled by default. We will change the default when\nreview and testing is deemed sufficient. Ultimately the option will\ngo away.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "e3760b432d589ddd9bdb8c337539b815125bc7aa",
      "tree": "27a927ee76417eb2794fb8da3d0a7f9de51ad29b",
      "parents": [
        "eb02755a50f8f3508030b311e3788426fbdc23b7"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:49 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:49 2010 +0200"
      },
      "message": "hwmon: (w83795) Add myself as co-author and maintainer\n\nI\u0027ve made so many changes to the w83795 driver that it\u0027s only fair to\nlist myself as a co-author. I\u0027ll also maintain the driver for some\ntime. There\u0027s more work needed on the driver for sure.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "eb02755a50f8f3508030b311e3788426fbdc23b7",
      "tree": "689aa8b124d7209b53b7c14bc93680e312620720",
      "parents": [
        "5d2cd958f777e533fa2809527836996f59b2d823"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:49 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:49 2010 +0200"
      },
      "message": "hwmon: (w83795) More style cleanups\n\nCleanups suggested by Guenter Roeck, falling into 4 categories:\n* Swapping test orders, because if (var \u003d\u003d CONSTANT) is much easier to\n  read than if (CONSTANT \u003d\u003d var).\n* Simplifying comparisons with 0.\n* Dropping unneeded masks.\n* Dropping unneeded parentheses and curly braces.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "5d2cd958f777e533fa2809527836996f59b2d823",
      "tree": "abc216b782d2c43236b8eecaa7bba4343530d43d",
      "parents": [
        "21fc977551da43ec21ae0ebb859411afd4243d2b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:49 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:49 2010 +0200"
      },
      "message": "hwmon: (w83795) Fix LSB reading of voltage limits\n\nWrong index caused the wrong register value to be read, resulting in\nrandom LSB for voltage limits.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "21fc977551da43ec21ae0ebb859411afd4243d2b",
      "tree": "4d452b87875c6d9e2cbfb2c58eaa9ea45ee4821d",
      "parents": [
        "1bb3450ce5050bc677c1995a60a0ddfe9e33e7b6"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:49 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:49 2010 +0200"
      },
      "message": "hwmon: (w83795) Use dev_get_drvdata() where possible\n\nWhen we don\u0027t need the client pointer, calling dev_get_drvdata() is\nmore efficient that calling to_i2c_client() and then\ni2c_get_clientdata().\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "1bb3450ce5050bc677c1995a60a0ddfe9e33e7b6",
      "tree": "bb4a0fcaaf4647cb791d1bcc00cde8fc9a52ba3d",
      "parents": [
        "2ae61de90545fe3dadae8119181c430d89a8627b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "message": "hwmon: (w83795) Delay reading pwm config registers\n\nWait until we need the pwm config register values, instead of\npre-reading them. This saves over 1 second on modprobe on my test\nsystem.\n\nObviously this time is added when first accessing pwm config\nattributes, however not everybody will use them, so it seems unfair\nto slow down driver loading (and thus boot) for an optional feature.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "2ae61de90545fe3dadae8119181c430d89a8627b",
      "tree": "9a2aa7cc29674089dd9cc202050d61c95f559407",
      "parents": [
        "0d7237bfd13a0a8df270654223c15a16b368a3bd"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "message": "hwmon: (w83795) Delay reading limit registers\n\nWait until we need the limit register values, instead of pre-reading\nthem. This saves 544 ms on modprobe on my test system. Obviously this\ntime is added when first running \"sensors\" or any other monitoring\napplication, but I think it is better than slowing down the boot.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "0d7237bfd13a0a8df270654223c15a16b368a3bd",
      "tree": "ccfe2095515ca19f484532c34769f1143d54eeb6",
      "parents": [
        "476a4e5d3768ac72bb342166db294c0a9d2c010f"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "message": "hwmon: (w83795) Move register reads to dedicated functions\n\nMove initial register reads out of probe, to dedicated functions.\nThis makes the code clearer, and will be needed if we want to delay\ncalling these functions until they are needed, or want to call them\nperiodically.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "476a4e5d3768ac72bb342166db294c0a9d2c010f",
      "tree": "97cabaf57c242124b53c305954a1290c0a4dcbab",
      "parents": [
        "fd7f82b8a37ff4d400c2db9c9fa8f9467dc54a08"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "message": "hwmon: (w83795) Pack similar register reads\n\nPack similar register reads using for loops.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "fd7f82b8a37ff4d400c2db9c9fa8f9467dc54a08",
      "tree": "41eff04a59f8b78d5d3950911e60851277043ab7",
      "parents": [
        "5f7b77cbd4599b6a90d18981d9883a3e20e689fb"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "message": "hwmon: (w83795) Make W83795_REG_PWM more efficient\n\nCascaded conditionals are inefficient. Reorder the fields so that\nPWM register addresses can be computed more efficiently.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "5f7b77cbd4599b6a90d18981d9883a3e20e689fb",
      "tree": "a0ff470ba43eb83aaad460a227bbb3635a275caf",
      "parents": [
        "39deb6993e7c22274c272c95013eef886f7004e8"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "message": "hwmon: (w83795) Don\u0027t pre-read values we\u0027ll update later\n\nThere is no point in reading registers during initialization if we\nwill refresh the values in the update function later. This is only\nslowing down the driver loading with no benefit, stop doing it.\nThis change saves 480 ms on driver load on my test system.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "39deb6993e7c22274c272c95013eef886f7004e8",
      "tree": "212af4c4e49ecf64174981c336ebd6ca15bcfb59",
      "parents": [
        "cd316df582925f3dab1ce5863651b3e260687035"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "message": "hwmon: (w83795) Simplify temperature sensor type handling\n\nAll 3 temperature sensor type sysfs functions (show_temp_mode,\nstore_temp_mode and show_dts_mode) can be simplified. We don\u0027t\ncreate these files when the correponding input isn\u0027t in temperature\nmonitoring mode, so there is no point in handling that case.\nLikewise, we don\u0027t allow changing inputs from temperature to voltage,\nso the code handling this case is dead and can be removed.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "cd316df582925f3dab1ce5863651b3e260687035",
      "tree": "9f0f6918f00e41afe92f7f681dc0ace9a964cccb",
      "parents": [
        "49c7347a44224b5b87c7e6a3c6c92619d77c06d5"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "message": "hwmon: (w83795) Drop _NUM constants\n\nConsistently use ARRAY_SIZE() to control for loops.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "49c7347a44224b5b87c7e6a3c6c92619d77c06d5",
      "tree": "91432dbcbfd182c46a7cb89d9bece704e41eaf32",
      "parents": [
        "7eb8d508b5cfabbb147670ee063438469d94c465"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:48 2010 +0200"
      },
      "message": "hwmon: (w83795) Drop REST_VLT_BEGIN/END\n\nGet rid of REST_VLT_BEGIN and REST_VLT_END, they don\u0027t make the code\nmore readable.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "7eb8d508b5cfabbb147670ee063438469d94c465",
      "tree": "d392c7c045412f8e312106aba34e7137b5bd374e",
      "parents": [
        "a654b9d4e7152b06557e2f22bcf0a245bc88bc98"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "message": "hwmon: (w83795) Fix parity checks\n\nx % 1 is obviously wrong, as it always evaluates to 0. You want\nx % 2, or x \u0026 1, for parity checking.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "a654b9d4e7152b06557e2f22bcf0a245bc88bc98",
      "tree": "a4b6ec7627b17ecfc37eb700d2ba29fa10a52d74",
      "parents": [
        "c1a792a6eea42d88a99e6ace215b22fbdb76c7b6"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "message": "hwmon: (w83795) Get rid of VRLSB_SHIFT\n\nVRLSB_SHIFT is a non-sense, the actual shift depends on the sensor\ntype (fans need 4, other sensors need 6). Get rid of it to prevent\nany confusion. Also get rid of the useless masking, the meaningful\nbits are always the MSb so there\u0027s nothing to mask out after\nshifting.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "c1a792a6eea42d88a99e6ace215b22fbdb76c7b6",
      "tree": "92c6f630e7044fdd65100326ed0489a6cc1f5b0a",
      "parents": [
        "02728ffef9c2cf067e654e832b8c282a8a4d0b16"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "message": "hwmon: (w83795) Avoid reading the same register twice\n\nShorten driver load time by avoiding duplicate register access during\ninitialization. This saves 112 ms on modprobe on my test system.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "02728ffef9c2cf067e654e832b8c282a8a4d0b16",
      "tree": "00da2e02471413e8698cd5de3258329b5f03e1db",
      "parents": [
        "54891a3c135b30ca0718dbf81f78260795a5b2fe"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "message": "hwmon: (w83795) Rework beep_enable implementation\n\nHandle beep_enable just like all other beep bits. It doesn\u0027t need\nanything special, so let\u0027s avoid redundant code. This also saves a\nduplicate register read at initialization time.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "54891a3c135b30ca0718dbf81f78260795a5b2fe",
      "tree": "9df28c7465d992c66f7089214bb6c8db849df4d2",
      "parents": [
        "dd127f5ccd7c61eb7ee215120a7809eb67c1ed7f"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "message": "hwmon: (w83795) Report PECI agent Tbase values\n\nOn systems with PECI, report PECI agent Tbase temperature values.\nThis is informative only.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "dd127f5ccd7c61eb7ee215120a7809eb67c1ed7f",
      "tree": "9be7c4c8f1b35526c5b8357e25ccb5e8e99eaff9",
      "parents": [
        "a0ce402fb006bd694436be8c8522fbe5e6823ac1"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "message": "hwmon: (w83795) Properly handle negative temperatures\n\nThe temperature registers hold regular 2\u0027s complement values, no need\nto add any arithmetics.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "a0ce402fb006bd694436be8c8522fbe5e6823ac1",
      "tree": "1de416919e3c23dfbde9e31ca6575b8d2bca4668",
      "parents": [
        "01879a855fb6bdb3fb820344a7a145de8a5cdbda"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "message": "hwmon: (w83795) Rename temperature limit attributes\n\nFollow the standard for temperature limit attribute naming, so that\nlibsensors will pick the values.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "01879a855fb6bdb3fb820344a7a145de8a5cdbda",
      "tree": "152e9a958bfdd71692455d18348623b1cbb40929",
      "parents": [
        "0e256018b0f35d1b22ca37e1d0e207f7ba3d0076"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:47 2010 +0200"
      },
      "message": "hwmon: (w83795) Fix PWM duty cycle frequency attributes\n\nThe PWM duty cycle frequenty attributes are improperly named\n(fanN_div instead of pwmN_div) and contain raw values instead of\nactual frequencies. Rename them and fix their contents.\n\nAlso improve the logic when the user asks for a new frequency, to\nalways pick the closest supported frequency. The algorithm could\ncertainly be optimized, but the operation is infrequent enough that\nI don\u0027t think it\u0027s worth the effort.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "0e256018b0f35d1b22ca37e1d0e207f7ba3d0076",
      "tree": "029db8e2bd87afb27c9d4211ff724958bade47b4",
      "parents": [
        "6c82b2f3fb31e43a9b898769afd2151ca64986a4"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "message": "hwmon: (w83795) Add support for dynamic in0-2 limits\n\nThe W83795G can be configured to set the in0, in1 and/or in2 voltage\nlimits dynamically based on VID input pins. Switch the respective\nsysfs attributes to read-only.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "6c82b2f3fb31e43a9b898769afd2151ca64986a4",
      "tree": "1315014b74cc4ea9cea40c7fc8bf60f7826cca3d",
      "parents": [
        "71caf46fbf39207a324a16ddb6d8ef37c05777b9"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "message": "hwmon: (w83795) Fix LSB reading of fan speeds\n\nMisplaced parentheses caused the wrong register value to be read,\nresulting in random LSB for fan speed values and limits.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "71caf46fbf39207a324a16ddb6d8ef37c05777b9",
      "tree": "9df260f10ffc8a644c47cec4952bea5df85d34c4",
      "parents": [
        "6f9dfd85f7b14dd3ea87106909dc54def08947b1"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "message": "hwmon: (w83795) Clean up probe function\n\n* The data structure is zalloc\u0027d, so no need to set individual fields\n  to 0 explicitly.\n* Refactor the handling of pins that can be used for either\n  temperature or voltage monitoring.\n* Misc other clean-ups.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "6f9dfd85f7b14dd3ea87106909dc54def08947b1",
      "tree": "9125e0dc58c36738ffb6dba087aa74492bc4bcbe",
      "parents": [
        "80646b95863ba282330d07290c79254c2f002139"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "message": "hwmon: (w83795) Fix in17-in20 gain factor\n\nGain bit set means 1x gain and cleared means 8x gain, not the other\nway around.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "80646b95863ba282330d07290c79254c2f002139",
      "tree": "a990d3f36160ebb9530e8a30a237c9266f951a8c",
      "parents": [
        "86ef4d2fd5921ff0bcfd1c0d88403a08862087bc"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "message": "hwmon: (w83795) Only start monitoring if needed\n\nThis saves an SMBus write if monitoring was already enabled.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "86ef4d2fd5921ff0bcfd1c0d88403a08862087bc",
      "tree": "578d4918c3438c9c4eb6b1bbeac8891f55e2983f",
      "parents": [
        "b2cc528e5838d744892b30c5104bd872a439088f"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "message": "hwmon: (w83795) Add const markers\n\nAttribute structures can be made const. Same for the I2C address\nlist.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "b2cc528e5838d744892b30c5104bd872a439088f",
      "tree": "27f3a0718da764b23addbc99e06487dc0918ac83",
      "parents": [
        "b5f6a90a0bbedc07a0b0b82b83aa716c7203fcd2"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "message": "hwmon: (w83795) Only create fan[1-8]_target files when needed\n\nOnly create fan[1-8]_target files when the fan in question can be\ncontrolled (PWM output is present.) Also name these files according\nto the standard.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "b5f6a90a0bbedc07a0b0b82b83aa716c7203fcd2",
      "tree": "6a37212c0c55fda155c239bead95c7ef8b2c1483",
      "parents": [
        "87df0dad3e024538d2d0d2ce786230e639c2ea8b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:46 2010 +0200"
      },
      "message": "hwmon: (w83795) Move PWM attributes to a dedidated array\n\nUse a dedicated 2D array for PWM attributes. This way, PWM attributes\nare handled the same way as other attributes, this is more consistent.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "87df0dad3e024538d2d0d2ce786230e639c2ea8b",
      "tree": "60b5be6938e3050ce7a117a26aa407f6315d3d0c",
      "parents": [
        "6f3dcde9c6dcbbe781a2a98900552bcb989733e3"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "message": "hwmon: (w83795) Use 2D arrays for many device attributes\n\nUse 2D arrays for in, fan, temp and dts device attributes. Using\nlinear arrays is too risky as we have to skip some groups depending\non the device model and configuration. Adding or removing an\nattribute would let the driver build silently but then it would crash\nat runtime. With 2D arrays, the consistency checking happens at build\ntime, which is much safer.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "6f3dcde9c6dcbbe781a2a98900552bcb989733e3",
      "tree": "9eb3891644057a011d24c10e8330299b647a490a",
      "parents": [
        "892514a6372d49ffe9749fb86cc587b4dce90733"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "message": "hwmon: (w83795) Merge w83795_create_files and w83795_remove_files\n\nFunctions w83795_create_files and w83795_remove_files iterate over\nthe same set of files, just calling a different function. Merge them\ninto a single function which takes the action as a parameter. This\nsaves code, and also ensure that file creation and deletion are in\nsync.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "892514a6372d49ffe9749fb86cc587b4dce90733",
      "tree": "766bd801a21b585f78f5e6eed1ac7c681b826777",
      "parents": [
        "2fa09878ba1dc458b8cb6e9c8fbc8f2e5401d2b2"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "message": "hwmon: (w83795) Move file creation to a separate function too\n\nFunction w83795_probe() is way too big, move file creation to a separate\nfunction to make it more readable.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "2fa09878ba1dc458b8cb6e9c8fbc8f2e5401d2b2",
      "tree": "60165028341195ff004c5dac0f9702c8e23aaace",
      "parents": [
        "2be381de0f1e5e0324e8b373e7a84fc9d25d05d3"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "message": "hwmon: (w83795) Move files removal to a separate function\n\nSysfs files must be removed on device removal but also when device\nregistration fails. Move the code to a separate function to avoid\ncode redundancy.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "2be381de0f1e5e0324e8b373e7a84fc9d25d05d3",
      "tree": "5211865f27cc643d7ec3c867a668740d66a48b60",
      "parents": [
        "b2469f422f9ee2054359c4ec609c3bdb1f2d52f5"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "message": "hwmon: (w83795) Improve detection routine\n\nCheck for additional identification registers. Improve debugging\nmessages on failed detection.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "b2469f422f9ee2054359c4ec609c3bdb1f2d52f5",
      "tree": "2f7052c24378f144dc940f1095b3c408a61d1ba1",
      "parents": [
        "093d1a4794cc23dd221019eb1cdf42b16b48abcc"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "message": "hwmon: (w83795) Refactor bank selection\n\nMove the bank selection code to a separate function, to avoid\nduplicating it in read and write functions. Improve error reporting\non register access error.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "093d1a4794cc23dd221019eb1cdf42b16b48abcc",
      "tree": "c306a2d26ed2d90f3c53e26790aca495167a59a3",
      "parents": [
        "315bacfdbe5a77309c256b296f30bee13d59462b"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "message": "hwmon: (w83795) Drop duplicate enum\n\nEnum chips and chip_types are redundant, get rid of the former. Fix\nthe detection code to properly identify the chip variant and name the\nclient accordingly.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "315bacfdbe5a77309c256b296f30bee13d59462b",
      "tree": "a3973d53c67e812c3a6ee5e6b4556af68d653761",
      "parents": [
        "792d376b4f3f6af302d40373fa864f8b8e691c53"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:45 2010 +0200"
      },
      "message": "hwmon: (w83795) Misc cleanups\n\n* Improve driver description.\n* Drop unused macro.\n* Drop unreachable code.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "792d376b4f3f6af302d40373fa864f8b8e691c53",
      "tree": "38b51491a8d39f31d789c236b69fc8dad182a647",
      "parents": [
        "62991f7ab395b57b86512d47a6017266e2e615f2"
      ],
      "author": {
        "name": "Wei Song",
        "email": "Wsong@nuvoton.com",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "message": "hwmon: New driver for the W83795G/ADG monitoring chips\n\nThere is still much work needed, but I wanted to give Wei the credit\nhe deserves. I\u0027ve merged some of my own fixes already, to make\ngcc and checkpatch happy. Individual fixes and improvements from me\nwill follow.\n\n[JD: Fix build errors]\n[JD: Coding style cleanups]\n[JD: Get rid of forward declarations]\n[JD: Drop VID support]\n[JD: Drop fault output control feature]\n[JD: Use lowercase for inline function names]\n[JD: Use strict variants of the strtol/ul functions]\n[JD: Shorten the read and write function names]\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "62991f7ab395b57b86512d47a6017266e2e615f2",
      "tree": "941e97fab59c21b1ace71f9c7410251453f6a3f1",
      "parents": [
        "9c627e3be3e8f36eda73ed9e8aa4763582841c1f"
      ],
      "author": {
        "name": "Maurus Cuelenaere",
        "email": "mcuelenaere@gmail.com",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "message": "hwmon: (s3c-hwmon) Depend on S3C_ADC\n\nThis way we don\u0027t need to modify Kconfig every time a new SoC comes along to\nmake this driver support it. Also fix some typos while I\u0027m at it.\n\nSigned-off-by: Maurus Cuelenaere \u003cmcuelenaere@gmail.com\u003e\nReviewed-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "9c627e3be3e8f36eda73ed9e8aa4763582841c1f",
      "tree": "e04a1c7d96ea649e2f7831d388fa6b643411f0a3",
      "parents": [
        "caaa0f36c378c6fec6fd5260a63566e002ac4a84"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "message": "hwmon: (s3c-hwmon) Use a real mutex\n\nThe semaphore which protects the ADC is semantically a mutex. Use a\nreal mutex.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "caaa0f36c378c6fec6fd5260a63566e002ac4a84",
      "tree": "4f011fdeaf8e0ce4565e36c5dd9aec948061f053",
      "parents": [
        "e3cd9528af4d1fd404eefe16e52ae421f99a7817"
      ],
      "author": {
        "name": "Shubhrajyoti D",
        "email": "shubhrajyoti@ti.com",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "message": "hwmon: (lm75) Trivial changes to pacify the checkpatch\n\nSome trivial changes to pacify the checkpatch.\n\nSigned-off-by: Shubhrajyoti D \u003cshubhrajyoti@ti.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "e3cd9528af4d1fd404eefe16e52ae421f99a7817",
      "tree": "fe43f5a2ab475769ede0c639dd5823a8c6937bc4",
      "parents": [
        "c4f99a2b8fb4c564865f0037a2b7be690d4409f3"
      ],
      "author": {
        "name": "Shubhrajyoti D",
        "email": "shubhrajyoti@ti.com",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "message": "hwmon: (lm75) Make the writing to sysfs more robust\n\nCurrently we get the checkpatch warning\nconsider using strict_strtol in preference to simple_strtol.\nAlso we should not allow any partially numeric values.\n\nSigned-off-by: Shubhrajyoti D \u003cshubhrajyoti@ti.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "c4f99a2b8fb4c564865f0037a2b7be690d4409f3",
      "tree": "3b6b7f2261be322412f9dd9eb0df6e3fed7f552c",
      "parents": [
        "0c01b644f77a3df892a48a59901997469aeab0a7"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "message": "hwmon: (lm90) Add support for the W83L771W/G\n\nI was wondering if that chip ever existed publicly... Apparently yes,\nso add support for it.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nTested-by: Alexander Stein \u003calexander.stein@informatik.tu-chemnitz.de\u003e\nAcked-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\n"
    },
    {
      "commit": "0c01b644f77a3df892a48a59901997469aeab0a7",
      "tree": "b202fe917771ed4816e4f71730571f364441d468",
      "parents": [
        "1179324c411edcefb28a5293f8cc6a5bd9567448"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "message": "hwmon: (lm90) Add support for update_interval sysfs attribute\n\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "1179324c411edcefb28a5293f8cc6a5bd9567448",
      "tree": "419a050116f8c195b62191caa8e45523d7d30cfc",
      "parents": [
        "4667bcb8d8fc081a804a798df70dc91241946e0a"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:44 2010 +0200"
      },
      "message": "hwmon: (lm90) Introduce capability flag to indicate broken ALERT functionality\n\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "4667bcb8d8fc081a804a798df70dc91241946e0a",
      "tree": "e04d375e9354fe65e6436c5b2f0651501f81e207",
      "parents": [
        "15b66ab69051c014d0ba9f46f7081a8a7e6ad1c3"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "message": "hwmon: (lm90) Introduce chip parameter structure\n\nInstead of using switch/case and if statements in probe, define chip specific\nfunctionality in a parameter structure array.\n\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "15b66ab69051c014d0ba9f46f7081a8a7e6ad1c3",
      "tree": "70ce3b77f71d5cd340ece365c9331e9604a5bba8",
      "parents": [
        "06e1c0a2167d48442d0bd06373390886670aa6e5"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "message": "hwmon: (lm90) Rearrange code to no longer require forward declarations\n\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "06e1c0a2167d48442d0bd06373390886670aa6e5",
      "tree": "ab8dd85f43e2d69ab2fcfd5a2f053ac7923a9685",
      "parents": [
        "6948708dd07573c578aa99f80915cd1867334abe"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "message": "hwmon: (lm90) Add support for max6695 and max6696\n\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "6948708dd07573c578aa99f80915cd1867334abe",
      "tree": "ff218b1febbe70410d98589ae058cbad3784c0aa",
      "parents": [
        "13c84951a3d75ba820adf47eb2a3b1c5ab1fa635"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "message": "hwmon: (lm90) Add support for extra features of max6659\n\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "13c84951a3d75ba820adf47eb2a3b1c5ab1fa635",
      "tree": "bb9eeb881f6e170ec97d744059732433d667e2f4",
      "parents": [
        "96512861c3733609ac3d558602574674fa95ebf4"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "message": "hwmon: (lm90) Add explicit support for max6659\n\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "96512861c3733609ac3d558602574674fa95ebf4",
      "tree": "a011fd9763b09ce8f3d7774e2d17d05660063ea2",
      "parents": [
        "b6fc1bacc7eae99d276d096fe0c702b1e13e4499"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "message": "hwmon: (lm90) Simplify set_temp11 register calculations\n\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "b6fc1bacc7eae99d276d096fe0c702b1e13e4499",
      "tree": "d280816900fdad1262f7ca3d417d35e8b2ad33c8",
      "parents": [
        "88073bb1ba969d4e3c41dc5f35c902c6b7dab0a7"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "message": "hwmon: (lm90) Introduce function to delete sysfs files\n\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "88073bb1ba969d4e3c41dc5f35c902c6b7dab0a7",
      "tree": "86711d2f4988dd29c3dc5ab8c5f7a176fbacc181",
      "parents": [
        "11e578129af74c4866cf559e62e981c6415fffd9"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:43 2010 +0200"
      },
      "message": "hwmon: (lm90) Introduce device feature bits\n\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "11e578129af74c4866cf559e62e981c6415fffd9",
      "tree": "50946c5c4e0d483a81bc5cf3a117964bffadddf6",
      "parents": [
        "28e7438faacbd47aaf3e3b43c3074c64be98f5be"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Thu Oct 28 20:31:42 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:42 2010 +0200"
      },
      "message": "hwmon: (lm90) Fix checkpatch errors\n\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "28e7438faacbd47aaf3e3b43c3074c64be98f5be",
      "tree": "dbd39d62c271fe46fa0bddaa5d292c7e9f125f8f",
      "parents": [
        "628b4504cf69fbe262b41c16a4a3fd61b091d61c"
      ],
      "author": {
        "name": "Guenter Roeck",
        "email": "guenter.roeck@ericsson.com",
        "time": "Thu Oct 28 20:31:42 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:42 2010 +0200"
      },
      "message": "hwmon: Add tempX_emergency attribute to sysfs ABI\n\nSigned-off-by: Guenter Roeck \u003cguenter.roeck@ericsson.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "628b4504cf69fbe262b41c16a4a3fd61b091d61c",
      "tree": "4cdec2aa4b4934918d68bca2c0758faa989a36d2",
      "parents": [
        "81280572ca6f54009edfa4deee563e8678784218"
      ],
      "author": {
        "name": "Andreas Herrmann",
        "email": "andreas.herrmann3@amd.com",
        "time": "Thu Oct 28 20:31:42 2010 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@endymion.delvare",
        "time": "Thu Oct 28 20:31:42 2010 +0200"
      },
      "message": "hwmon: (k8temp) Remove superfluous CPU family check\n\nThe family check in k8temp is not required because the driver is\nalready bound to a northbridge device only used with K8 CPUs.\n\nSigned-off-by: Andreas Herrmann \u003candreas.herrmann3@amd.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "81280572ca6f54009edfa4deee563e8678784218",
      "tree": "4fac10bcb71261823d261e5f8551fdb16ab653ba",
      "parents": [
        "b83db1deb29eb4eea9bf5992431d26978e039ce6",
        "a107e5a3a473a2ea62bd5af24e11b84adf1486ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 21:54:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 21:54:31 2010 -0700"
      },
      "message": "Merge branch \u0027upstream-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027upstream-merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (50 commits)\n  ext4,jbd2: convert tracepoints to use major/minor numbers\n  ext4: optimize orphan_list handling for ext4_setattr\n  ext4: fix unbalanced mutex unlock in error path of ext4_li_request_new\n  ext4: fix compile error in ext4_fallocate()\n  ext4: move ext4_mb_{get,put}_buddy_cache_lock and make them static\n  ext4: rename mark_bitmap_end() to ext4_mark_bitmap_end()\n  ext4: move flush_completed_IO to fs/ext4/fsync.c and make it static\n  ext4: rename {ext,idx}_pblock and inline small extent functions\n  ext4: make various ext4 functions be static\n  ext4: rename {exit,init}_ext4_*() to ext4_{exit,init}_*()\n  ext4: fix kernel oops if the journal superblock has a non-zero j_errno\n  ext4: update writeback_index based on last page scanned\n  ext4: implement writeback livelock avoidance using page tagging\n  ext4: tidy up a void argument in inode.c\n  ext4: add batched_discard into ext4 feature list\n  ext4: Add batched discard support for ext4\n  fs: Add FITRIM ioctl\n  ext4: Use return value from sb_issue_discard()\n  ext4: Check return value of sb_getblk() and friends\n  ext4: use bio layer instead of buffer layer in mpage_da_submit_io\n  ...\n"
    },
    {
      "commit": "a107e5a3a473a2ea62bd5af24e11b84adf1486ff",
      "tree": "d36c2cb38d8be88d4d75cdebc354aa140aa0e470",
      "parents": [
        "e3e1288e86a07cdeb0aee5860a2dff111c6eff79",
        "a269029d0e2192046be4c07ed78a45022469ee4c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 23:44:47 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 23:44:47 2010 -0400"
      },
      "message": "Merge branch \u0027next\u0027 into upstream-merge\n\nConflicts:\n\tfs/ext4/inode.c\n\tfs/ext4/mballoc.c\n\tinclude/trace/events/ext4.h\n"
    },
    {
      "commit": "b83db1deb29eb4eea9bf5992431d26978e039ce6",
      "tree": "a59a4d94c41de6889be93b6963c791aa64181f25",
      "parents": [
        "7d2f280e75f05919314e250cadf361a327ed555c",
        "7e94250312d8b32a18e7e96cee19f2795d224e8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 20:37:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 20:37:06 2010 -0700"
      },
      "message": "Merge branch \u0027drm-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/radeon/kms: enable unmappable vram for evergreen\n  drm/radeon/kms: fix tiled db height calculation on 6xx/7xx\n  drm/radeon/kms: fix handling of tex lookup disable in cs checker on r2xx\n"
    },
    {
      "commit": "7d2f280e75f05919314e250cadf361a327ed555c",
      "tree": "47db5a9a0ceaf31adf49c18b663b1e08184f7cff",
      "parents": [
        "e3e1288e86a07cdeb0aee5860a2dff111c6eff79",
        "4408ea41c0ab4b711d4da44dd954fb06dce6c3f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 20:13:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 20:13:18 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (24 commits)\n  quota: Fix possible oops in __dquot_initialize()\n  ext3: Update kernel-doc comments\n  jbd/2: fixed typos\n  ext2: fixed typo.\n  ext3: Fix debug messages in ext3_group_extend()\n  jbd: Convert atomic_inc() to get_bh()\n  ext3: Remove misplaced BUFFER_TRACE() in ext3_truncate()\n  jbd: Fix debug message in do_get_write_access()\n  jbd: Check return value of __getblk()\n  ext3: Use DIV_ROUND_UP() on group desc block counting\n  ext3: Return proper error code on ext3_fill_super()\n  ext3: Remove unnecessary casts on bh-\u003eb_data\n  ext3: Cleanup ext3_setup_super()\n  quota: Fix issuing of warnings from dquot_transfer\n  quota: fix dquot_disable vs dquot_transfer race v2\n  jbd: Convert bitops to buffer fns\n  ext3/jbd: Avoid WARN() messages when failing to write the superblock\n  jbd: Use offset_in_page() instead of manual calculation\n  jbd: Remove unnecessary goto statement\n  jbd: Use printk_ratelimited() in journal_alloc_journal_head()\n  ...\n"
    },
    {
      "commit": "a269029d0e2192046be4c07ed78a45022469ee4c",
      "tree": "6ec7b7d2686a344ac77d10c4930fc3699461d198",
      "parents": [
        "3d287de3b828226e5a450c7fd5bf4283792dc2b0"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 22:08:50 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 22:08:50 2010 -0400"
      },
      "message": "ext4,jbd2: convert tracepoints to use major/minor numbers\n\nUnfortunately perf can\u0027t deal with anything other than direct structure\naccesses in the TP_printk() section.  It will drop dead when it sees\njbd2_dev_to_name() in the \"print fmt\" section of the tracepoint.\n\nAddresses-Google-Bug: 3138508\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3d287de3b828226e5a450c7fd5bf4283792dc2b0",
      "tree": "4adcc534e2042aed924750df3ef2433bd2f14fd8",
      "parents": [
        "beed5ecbaa377fa8bb6a54a6608e8725a21efdbc"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Wed Oct 27 22:08:46 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 22:08:46 2010 -0400"
      },
      "message": "ext4: optimize orphan_list handling for ext4_setattr\n\nSurprisingly chown() on ext4 is not SMP scalable operation. \nDue to unconditional orphan_del(NULL, inode) in ext4_setattr()\nresult in significant performance overhead because of global orphan\nmutex, especially in no-journal mode (where orphan_add() is noop).\nIt is possible to skip explicit orphan_del if possible.\nResults of fchown() micro-benchmark in no-journal mode\nwhile (1) {\n   iteration++;\n   fchown(fd, uid, gid);\n   fchown(fd, uid + 1, gid + 1)\n}\nmeasured: iterations per millisecond\n| nr_tasks | w/o patch | with patch |\n|        1 |       142 |        185 |\n|        4 |       109 |        642 |\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "beed5ecbaa377fa8bb6a54a6608e8725a21efdbc",
      "tree": "c8e76b2af5f0ccdc64d53907238947540de7d182",
      "parents": [
        "a6371b636f9f007ee5c90f85de048bc1b675424a"
      ],
      "author": {
        "name": "Nicolas Kaiser",
        "email": "nikai@nikai.net",
        "time": "Wed Oct 27 22:08:42 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 22:08:42 2010 -0400"
      },
      "message": "ext4: fix unbalanced mutex unlock in error path of ext4_li_request_new\n\nSigned-off-by: Nicolas Kaiser \u003cnikai@nikai.net\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e3e1288e86a07cdeb0aee5860a2dff111c6eff79",
      "tree": "cd22f8051a456c9d2b95698b6fe402776a67469b",
      "parents": [
        "9ae6d039224def926656206725ae6e89d1331417",
        "964dc256bb91e990277010a3f6dc66daa130be8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 19:04:36 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 19:04:36 2010 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (48 commits)\n  DMAENGINE: move COH901318 to arch_initcall\n  dma: imx-dma: fix signedness bug\n  dma/timberdale: simplify conditional\n  ste_dma40: remove channel_type\n  ste_dma40: remove enum for endianess\n  ste_dma40: remove TIM_FOR_LINK option\n  ste_dma40: move mode_opt to separate config\n  ste_dma40: move channel mode to a separate field\n  ste_dma40: move priority to separate field\n  ste_dma40: add variable to indicate valid dma_cfg\n  async_tx: make async_tx channel switching opt-in\n  move async raid6 test to lib/Kconfig.debug\n  dmaengine: Add Freescale i.MX1/21/27 DMA driver\n  intel_mid_dma: change the slave interface\n  intel_mid_dma: fix the WARN_ONs\n  intel_mid_dma: Add sg list support to DMA driver\n  intel_mid_dma: Allow DMAC2 to share interrupt\n  intel_mid_dma: Allow IRQ sharing\n  intel_mid_dma: Add runtime PM support\n  DMAENGINE: define a dummy filter function for ste_dma40\n  ...\n"
    },
    {
      "commit": "9ae6d039224def926656206725ae6e89d1331417",
      "tree": "8ebee863f61da7d095575ca7ef17812d3952389c",
      "parents": [
        "bdab225015fbbb45ccd8913f5d7c01b2bf67d8b2",
        "51f4332bb5fef869e8a89895a7bac6b4c03b4946"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 19:02:41 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 19:02:41 2010 -0700"
      },
      "message": "Merge branch \u0027viafb-next\u0027 of git://github.com/schandinat/linux-2.6\n\n* \u0027viafb-next\u0027 of git://github.com/schandinat/linux-2.6: (29 commits)\n  viafb: add initial VX900 support\n  viafb: fix hardware acceleration for suspend \u0026 resume\n  viafb: make suspend and resume work (on all machines?)\n  viafb: restore display on resume\n  Minimal support for viafb suspend/resume\n  viafb: use proper register for colour when doing fill ops\n  viafb: add documentation for proc interface\n  viafb: rename output devices\n  viafb: add a mapping of supported output devices\n  viafb: set sync polarity for all output devices\n  viafb: add function to change sync polarity per device\n  viafb: reduce I2C timeout and delay\n  viafb: enable I2C for CRT\n  viafb: fix i2c_transfer error handling\n  viafb: vt1636 cleanup\n  viafb: introduce per output device power management\n  viafb: limit LCD code impact\n  viafb: add interface for output device configuration\n  viafb: merge the remaining output path with enable functions\n  viafb: use new device routing\n  ...\n"
    },
    {
      "commit": "bdab225015fbbb45ccd8913f5d7c01b2bf67d8b2",
      "tree": "5ef62301face958977a084bf2b6c5300296a25f2",
      "parents": [
        "7c5814c7199851c5fe9395d08fc1ab3c8c1531ea",
        "7c7fcf762e405eb040ee10d22d656a791f616122"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:53:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:53:26 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300: (44 commits)\n  MN10300: Save frame pointer in thread_info struct rather than global var\n  MN10300: Change \"Matsushita\" to \"Panasonic\".\n  MN10300: Create a defconfig for the ASB2364 board\n  MN10300: Update the ASB2303 defconfig\n  MN10300: ASB2364: Add support for SMSC911X and SMC911X\n  MN10300: ASB2364: Handle the IRQ multiplexer in the FPGA\n  MN10300: Generic time support\n  MN10300: Specify an ELF HWCAP flag for MN10300 Atomic Operations Unit support\n  MN10300: Map userspace atomic op regs as a vmalloc page\n  MN10300: And Panasonic AM34 subarch and implement SMP\n  MN10300: Delete idle_timestamp from irq_cpustat_t\n  MN10300: Make various interrupt priority settings configurable\n  MN10300: Optimise do_csum()\n  MN10300: Implement atomic ops using atomic ops unit\n  MN10300: Make the FPU operate in non-lazy mode under SMP\n  MN10300: SMP TLB flushing\n  MN10300: Use the [ID]PTEL2 registers rather than [ID]PTEL for TLB control\n  MN10300: Make the use of PIDR to mark TLB entries controllable\n  MN10300: Rename __flush_tlb*() to local_flush_tlb*()\n  MN10300: AM34 erratum requires MMUCTR read and write on exception entry\n  ...\n"
    },
    {
      "commit": "7c5814c7199851c5fe9395d08fc1ab3c8c1531ea",
      "tree": "66cc9080e47c0be8bd9d4530626e54c77f9895ed",
      "parents": [
        "a042e26137d7674ac04b1cd2d5c06b9ebc1ee2d5",
        "89e1e66d6be8a520cdcd26043cda2cc870a34015"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:52:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:52:49 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: usb-audio: automatically detect feedback format\n  ASoC: sound/wm9090: add missing __devexit marker\n  ASoC: sound/max98088: add missing __devexit marker\n  ASoC: sound/ad73311: add missing __devexit marker\n  ASoC: fsl - fix build error in pcm030-audio-fabric.c\n  sound/oss/sb_ess.c: delete double assignment\n  ALSA: hda - Change BTL amp level on some HP notebooks\n"
    },
    {
      "commit": "a042e26137d7674ac04b1cd2d5c06b9ebc1ee2d5",
      "tree": "c1a7a8bda41b99caa4b4a0fe320fc73278879f7d",
      "parents": [
        "f66dd539feb849a3a00f7fac67c026e0935e373a",
        "e25804a0327dad954f7d43803178fdef2fd35b4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:48:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:48:00 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (50 commits)\n  perf python scripting: Add futex-contention script\n  perf python scripting: Fixup cut\u0027n\u0027paste error in sctop script\n  perf scripting: Shut up \u0027perf record\u0027 final status\n  perf record: Remove newline character from perror() argument\n  perf python scripting: Support fedora 11 (audit 1.7.17)\n  perf python scripting: Improve the syscalls-by-pid script\n  perf python scripting: print the syscall name on sctop\n  perf python scripting: Improve the syscalls-counts script\n  perf python scripting: Improve the failed-syscalls-by-pid script\n  kprobes: Remove redundant text_mutex lock in optimize\n  x86/oprofile: Fix uninitialized variable use in debug printk\n  tracing: Fix \u0027faild\u0027 -\u003e \u0027failed\u0027 typo\n  perf probe: Fix format specified for Dwarf_Off parameter\n  perf trace: Fix detection of script extension\n  perf trace: Use $PERF_EXEC_PATH in canned report scripts\n  perf tools: Document event modifiers\n  perf tools: Remove direct slang.h include\n  perf_events: Fix for transaction recovery in group_sched_in()\n  perf_events: Revert: Fix transaction recovery in group_sched_in()\n  perf, x86: Use NUMA aware allocations for PEBS/BTS/DS allocations\n  ...\n"
    },
    {
      "commit": "f66dd539feb849a3a00f7fac67c026e0935e373a",
      "tree": "a211f0229581ce38655c393f1673826111f9abba",
      "parents": [
        "17bb51d56cdc8cbf252031db3107de034cfeb44c",
        "87acf5ad87b275660e2508e6935b570a20b6a073"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:47:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:47:39 2010 -0700"
      },
      "message": "Merge branch \u0027module\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* \u0027module\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  NULL-terminate all pci_device_id tables\n  (trivial) Fix compiler warning in kernel/modules.c\n"
    },
    {
      "commit": "17bb51d56cdc8cbf252031db3107de034cfeb44c",
      "tree": "f9fb2c16b29a152d3413fa0028e660e3b6146584",
      "parents": [
        "0671b7674f42ab3a200401ea0e48d6f47d34acae",
        "95aac7b1cd224f568fb83937044cd303ff11b029"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:42:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:42:52 2010 -0700"
      },
      "message": "Merge branch \u0027akpm-incoming-2\u0027\n\n* akpm-incoming-2: (139 commits)\n  epoll: make epoll_wait() use the hrtimer range feature\n  select: rename estimate_accuracy() to select_estimate_accuracy()\n  Remove duplicate includes from many files\n  ramoops: use the platform data structure instead of module params\n  kernel/resource.c: handle reinsertion of an already-inserted resource\n  kfifo: fix kfifo_alloc() to return a signed int value\n  w1: don\u0027t allow arbitrary users to remove w1 devices\n  alpha: remove dma64_addr_t usage\n  mips: remove dma64_addr_t usage\n  sparc: remove dma64_addr_t usage\n  fuse: use release_pages()\n  taskstats: use real microsecond granularity for CPU times\n  taskstats: split fill_pid function\n  taskstats: separate taskstats commands\n  delayacct: align to 8 byte boundary on 64-bit systems\n  delay-accounting: reimplement -c for getdelays.c to report information on a target command\n  namespaces Kconfig: move namespace menu location after the cgroup\n  namespaces Kconfig: remove the cgroup device whitelist experimental tag\n  namespaces Kconfig: remove pointless cgroup dependency\n  namespaces Kconfig: make namespace a submenu\n  ...\n"
    },
    {
      "commit": "0671b7674f42ab3a200401ea0e48d6f47d34acae",
      "tree": "a35d3347e927dfe621f42ff82289f61f45564393",
      "parents": [
        "0b2d8d9e562de3ee2476f549549e4fefbb7a4213",
        "47f19a0814e80e1d4e5c17d61b70fca85ea09162"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:38:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:38:55 2010 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  percpu: Remove the multi-page alignment facility\n  x86-32: Allocate irq stacks seperate from percpu area\n  x86-32, mm: Remove duplicated #include\n  x86, printk: Get rid of \u003c0\u003e from stack output\n  x86, kexec: Make sure to stop all CPUs before exiting the kernel\n  x86/vsmp: Eliminate kconfig dependency warning\n"
    },
    {
      "commit": "0b2d8d9e562de3ee2476f549549e4fefbb7a4213",
      "tree": "20e025254b430efc647e7403a4168e4487619b92",
      "parents": [
        "22cdbd1d5789cc16c37102eb6f62c3ae377b849e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:34:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 27 18:34:59 2010 -0700"
      },
      "message": "proc_bus_pci_ioctl: remove pointless BKL usage\n\nThe BKL was pushed into this function when it was converted to use the\nunlocked_ioctl interface, but nothing that the function touches is\nactually protected by the BKL.  So just remove the BKL entirely, so that\nwe finally can get a realistic system build without the BKL being\nenabled at all.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6371b636f9f007ee5c90f85de048bc1b675424a",
      "tree": "8cb3091cc98debd71ba58a4a3d2157e6eec24593",
      "parents": [
        "eee4adc709afe40d8c02fa154c63dbeb55d911e3"
      ],
      "author": {
        "name": "Kazuya Mio",
        "email": "k-mio@sx.jp.nec.com",
        "time": "Wed Oct 27 21:30:15 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:15 2010 -0400"
      },
      "message": "ext4: fix compile error in ext4_fallocate()\n\nWhen I compiled 2.6.36-rc3 kernel with EXT4FS_DEBUG definition, I got\nthe following compile error.\n\n  CC [M]  fs/ext4/extents.o\nfs/ext4/extents.c: In function \u0027ext4_fallocate\u0027:\nfs/ext4/extents.c:3772: error: \u0027block\u0027 undeclared (first use in this function)\nfs/ext4/extents.c:3772: error: (Each undeclared identifier is reported only once\nfs/ext4/extents.c:3772: error: for each function it appears in.)\nmake[2]: *** [fs/ext4/extents.o] Error 1\n\nThe patch fixes this problem.\n\nSigned-off-by: Kazuya Mio \u003ck-mio@sx.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "eee4adc709afe40d8c02fa154c63dbeb55d911e3",
      "tree": "e65d8235eb7cf745a1d9dc2ac9ab1c62bdd45758",
      "parents": [
        "61d08673de1fe68bfba86203258377bf39f234b6"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:15 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:15 2010 -0400"
      },
      "message": "ext4: move ext4_mb_{get,put}_buddy_cache_lock and make them static\n\nThese functions are only used within fs/ext4/mballoc.c, so move them\nso they are used after they are defined, and then make them be static.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "61d08673de1fe68bfba86203258377bf39f234b6",
      "tree": "5cb32998c69eca626df54b50cb01e50a83c4db81",
      "parents": [
        "4a873a472b3bbcfd425d7ae210afdec28c04e2e5"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:15 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:15 2010 -0400"
      },
      "message": "ext4: rename mark_bitmap_end() to ext4_mark_bitmap_end()\n\nFix a namespace leak from fs/ext4\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n\n"
    },
    {
      "commit": "4a873a472b3bbcfd425d7ae210afdec28c04e2e5",
      "tree": "88aa333bfafcc5303b7a3074865f51f67ad836b9",
      "parents": [
        "bf89d16f6ef5389f1b9d8046e838ec87b9b3f8b9"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "message": "ext4: move flush_completed_IO to fs/ext4/fsync.c and make it static\n\nFix a namespace leak by moving the function to the file where it is\nused and making it static.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "bf89d16f6ef5389f1b9d8046e838ec87b9b3f8b9",
      "tree": "dd491dd3035281d0ff537ddcba21ef7edbfef6b8",
      "parents": [
        "1f109d5a17b438c4a54cbf6fd87a249e3d72fb21"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "message": "ext4: rename {ext,idx}_pblock and inline small extent functions\n\nCleanup namespace leaks from fs/ext4 and the inline trivial functions\next4_{ext,idx}_pblock() and ext4_{ext,idx}_store_pblock() since the\ncode size actually shrinks when we make these functions inline,\nthey\u0027re so trivial.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1f109d5a17b438c4a54cbf6fd87a249e3d72fb21",
      "tree": "f58c6fd431975bf900b502b80122e175065da657",
      "parents": [
        "5dabfc78dcedbe46cb2e4872dde448de3cec2979"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "message": "ext4: make various ext4 functions be static\n\nThese functions have no need to be exported beyond file context.\n\nNo functions needed to be moved for this commit; just some function\ndeclarations changed to be static and removed from header files.\n\n(A similar patch was submitted by Eric Sandeen, but I wanted to handle\ncode movement in separate patches to make sure code changes didn\u0027t\naccidentally get dropped.)\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5dabfc78dcedbe46cb2e4872dde448de3cec2979",
      "tree": "804ef3e76289978ef6690c2b8f379a14a60b15f0",
      "parents": [
        "7f93cff90fa9be6ed45f6189e136153d1d8631b0"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:14 2010 -0400"
      },
      "message": "ext4: rename {exit,init}_ext4_*() to ext4_{exit,init}_*()\n\nThis is a cleanup to avoid namespace leaks out of fs/ext4\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "7f93cff90fa9be6ed45f6189e136153d1d8631b0",
      "tree": "e48cbf01bc646e63df2fea10a2208015e028b95b",
      "parents": [
        "72f84e6560d18d60a091df27edf81409be6641cb"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "message": "ext4: fix kernel oops if the journal superblock has a non-zero j_errno\n\nCommit 84061e0 fixed an accounting bug only to introduce the\npossibility of a kernel OOPS if the journal has a non-zero j_errno\nfield indicating that the file system had detected a fs inconsistency.\nAfter the journal replay, if the journal superblock indicates that the\nfile system has an error, this indication is transfered to the file\nsystem and then ext4_commit_super() is called to write this to the\ndisk.\n\nBut since the percpu counters are now initialized after the journal\nreplay, the call to ext4_commit_super() will cause a kernel oops since\nit needs to use the percpu counters the ext4 superblock structure.\n\nThe fix is to skip setting the ext4 free block and free inode fields\nif the percpu counter has not been set.\n\nThanks to Ken Sumrall for reporting and analyzing the root causes of\nthis bug.\n\nAddresses-Google-Bug: #3054080\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "72f84e6560d18d60a091df27edf81409be6641cb",
      "tree": "e2fa11476b074f8526d620820f8b2e86e8a11412",
      "parents": [
        "5b41d92437f1ae19b3f3ffa3b16589fd5df50ac0"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "message": "ext4: update writeback_index based on last page scanned\n\nAs pointed out in a prior patch, updating the mapping\u0027s\nwriteback_index based on pages written isn\u0027t quite right;\nwhat the writeback index is really supposed to reflect is\nthe next page which should be scanned for writeback during\nperiodic flush.\n\nAs in write_cache_pages(), write_cache_pages_da() does\nthis scanning for us as we assemble the mpd for later\nwriteout.  If we keep track of the next page after the\ncurrent scan, we can easily update writeback_index without\nworrying about pages written vs. pages skipped, etc.\n\nWithout this, an fsync will reset writeback_index to\n0 (its starting index) + however many pages it wrote, which\ncan mess up the progress of periodic flush.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5b41d92437f1ae19b3f3ffa3b16589fd5df50ac0",
      "tree": "ed7e1999a2349811e3cae0f0bdd53a93aea413d7",
      "parents": [
        "bbd08344e3df8c7c1d7aa04bc0c8c9367806e12d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:13 2010 -0400"
      },
      "message": "ext4: implement writeback livelock avoidance using page tagging\n\nThis is analogous to Jan Kara\u0027s commit,\nf446daaea9d4a420d16c606f755f3689dcb2d0ce\nmm: implement writeback livelock avoidance using page tagging\n\nbut since we forked write_cache_pages, we need to reimplement\nit there (and in ext4_da_writepages, since range_cyclic handling\nwas moved to there)\n\nIf you start a large buffered IO to a file, and then set\nfsync after it, you\u0027ll find that fsync does not complete\nuntil the other IO stops.\n\nIf you continue re-dirtying the file (say, putting dd\nwith conv\u003dnotrunc in a loop), when fsync finally completes\n(after all IO is done), it reports via tracing that\nit has written many more pages than the file contains;\nin other words it has synced and re-synced pages in\nthe file multiple times.\n\nThis then leads to problems with our writeback_index\nupdate, since it advances it by pages written, and\nessentially sets writeback_index off the end of the\nfile...\n\nWith the following patch, we only sync as much as was\ndirty at the time of the sync.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "bbd08344e3df8c7c1d7aa04bc0c8c9367806e12d",
      "tree": "6441a113660deb3bbe1795f5b03b1c11b9e18fda",
      "parents": [
        "27ee40df2b17c84aa7855907df12befe6869b7a7"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Oct 27 21:30:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:12 2010 -0400"
      },
      "message": "ext4: tidy up a void argument in inode.c\n\nThis doesn\u0027t fix anything at all, it just removes a vestige\nof prior use from __mpage_da_writepage()\n\n__mpage_da_writepage() had a *void argument leftover from\nits previous life as a callback; make it reflect the actual type.\n\nFixing this up makes it slightly more obvious to read, and \nenables proper typechecking.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "27ee40df2b17c84aa7855907df12befe6869b7a7",
      "tree": "9ff6c98b2e2a715234b9a9ebd91232fd7ca7f558",
      "parents": [
        "7360d1731e5dc78aec867e65e55f9fb58782b5fe"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:12 2010 -0400"
      },
      "message": "ext4: add batched_discard into ext4 feature list\n\nShould be applied on the top of \"lazy inode table initialization\"\nand \"batched discard support\" patch-sets.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "7360d1731e5dc78aec867e65e55f9fb58782b5fe",
      "tree": "2cc0d139ec129c19150ef481d6adb9b0fd947c89",
      "parents": [
        "367a51a339020ba4d9edb0ce0f21d65bd50b00c9"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:12 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:12 2010 -0400"
      },
      "message": "ext4: Add batched discard support for ext4\n\nWalk through allocation groups and trim all free extents. It can be\ninvoked through FITRIM ioctl on the file system. The main idea is to\nprovide a way to trim the whole file system if needed, since some SSD\u0027s\nmay suffer from performance loss after the whole device was filled (it\ndoes not mean that fs is full!).\n\nIt search for free extents in allocation groups specified by Byte range\nstart -\u003e start+len. When the free extent is within this range, blocks\nare marked as used and then trimmed. Afterwards these blocks are marked\nas free in per-group bitmap.\n\nSince fstrim is a long operation it is good to have an ability to\ninterrupt it by a signal. This was added by Dmitry Monakhov.\nThanks Dimitry.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nReviewed-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "367a51a339020ba4d9edb0ce0f21d65bd50b00c9",
      "tree": "696cbb5ca3108cd0cf8a7c3f494947cc9a4179c7",
      "parents": [
        "77ca6cdf0ab8a42f481ec997911bc89e79138723"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:11 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:11 2010 -0400"
      },
      "message": "fs: Add FITRIM ioctl\n\nAdds an filesystem independent ioctl to allow implementation of file\nsystem batched discard support. I takes fstrim_range structure as an\nargument. fstrim_range is definec in the include/fs.h and its\ndefinition is as follows.\n\nstruct fstrim_range {\n\tstart;\n\tlen;\n\tminlen;\n}\n\nstart\t- first Byte to trim\nlen\t- number of Bytes to trim from start\nminlen\t- minimum extent length to trim, free extents shorter than this\n\t  number of Bytes will be ignored. This will be rounded up to fs\n\t  block size.\n\nIt is also possible to specify NULL as an argument. In this case the\narguments will set itself as follows:\n\nstart \u003d 0;\nlen \u003d ULLONG_MAX;\nminlen \u003d 0;\n\nSo it will trim the whole file system at one run.\n\nAfter the FITRIM is done, the number of actually discarded Bytes is stored\nin fstrim_range.len to give the user better insight on how much storage\nspace has been really released for wear-leveling.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nReviewed-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "77ca6cdf0ab8a42f481ec997911bc89e79138723",
      "tree": "30f6cb268a3b4cad391e5784557b2c6432b52691",
      "parents": [
        "877836905da55e8f2426234f42a89287184949e9"
      ],
      "author": {
        "name": "Lukas Czerner",
        "email": "lczerner@redhat.com",
        "time": "Wed Oct 27 21:30:11 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:11 2010 -0400"
      },
      "message": "ext4: Use return value from sb_issue_discard()\n\nUse return value from sb_issue_discard() as return value in\next4_issue_discard(). Since sb_issue_discard() may result in more\nserious errors than just -EOPNOTSUPP it is worth to inform user of this\nfunction about them to handle error cases properly.\n\nSigned-off-by: Lukas Czerner \u003clczerner@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "877836905da55e8f2426234f42a89287184949e9",
      "tree": "eecb60e9b55daaf794a3083f9c48fc94e05d4cd2",
      "parents": [
        "bd2d0210cf22f2bd0cef72eb97cf94fc7d31d8cc"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Wed Oct 27 21:30:11 2010 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Oct 27 21:30:11 2010 -0400"
      },
      "message": "ext4: Check return value of sb_getblk() and friends\n\nFail block allocation if sb_getblk() returns NULL. In that case,\nsb_find_get_block() also likely to fail so that it should skip\ncalling ext4_forget().\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    }
  ],
  "next": "bd2d0210cf22f2bd0cef72eb97cf94fc7d31d8cc"
}
