)]}'
{
  "log": [
    {
      "commit": "25ec3e86d26b482a652f5794de88a8ee5cb3bc1d",
      "tree": "3f750ad8205c1801150e41e12974ef0a10746ec7",
      "parents": [
        "04ecb6286db05e23929e31e762233f01c1e74c00"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Thu Feb 03 18:17:34 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:02 2011 +0200"
      },
      "message": "ASoC: OMAP4 PCM - make sure self linked DMA is really stopped (fixme)\n\nMake sure OMAP self linked DMA is really stopped.\n\nFIXME: this needs a counter so we dont lock up.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "04ecb6286db05e23929e31e762233f01c1e74c00",
      "tree": "66cc7d4cd21c8a8dca5fb4173b273f295f2e9487",
      "parents": [
        "0340c17c6bc9bb01cbceabada9338b7b226c9079"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Thu Feb 03 18:15:17 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:02 2011 +0200"
      },
      "message": "ASoC: OMAP4 - set constraints for buffer size (fixme)\n\nTo be moved to DAI drivers.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "0340c17c6bc9bb01cbceabada9338b7b226c9079",
      "tree": "37d3c24b0db6549a3b878e0c3b5d601c76c7affd",
      "parents": [
        "4f856e6fb475b605db37620c9c10a92287376c36"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Thu Feb 03 18:12:46 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:02 2011 +0200"
      },
      "message": "ASoC: OMAP4 - HDMI DAI driver\n\nAdd HDMI audio support for the OMAP4.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "4f856e6fb475b605db37620c9c10a92287376c36",
      "tree": "b8bd9e5da4b0e6f05d986fa9a227af8ac5c8bc95",
      "parents": [
        "a8d99da4ad3ef494568803f12f3c90092997843e"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Thu Feb 03 18:05:37 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:02 2011 +0200"
      },
      "message": "ASoC: OMAP4 - DMIC DAI driver\n\nAdd both legacy DMA and ABE support for Digital Microphones on the\nOMAP4 platform.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "a8d99da4ad3ef494568803f12f3c90092997843e",
      "tree": "ef1b9f31f56d2f6e7fa59f2d4b3d185e27c55563",
      "parents": [
        "e708bea09791e8b8d1eb1624de8ddb6608a739a0"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Thu Feb 03 15:28:19 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:02 2011 +0200"
      },
      "message": "ASoC: OMAP4 ABE DSP - Add support for the OMAP4 ABE DSP\n\nThis patch adds the OMAP4 ABE platform driver. This driver defines and\nexports control for the DSP Frontend and Backend routing.\n\nTODO: cleanup\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "e708bea09791e8b8d1eb1624de8ddb6608a739a0",
      "tree": "de6d50345f4519bb4593f1e42bb422f889063500",
      "parents": [
        "c60eacce27fc851b651efd6772d2132b99490eeb"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Thu Feb 03 15:17:26 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:02 2011 +0200"
      },
      "message": "ASoC: OMAP4 ABE DAI - Add Makefile support\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "c60eacce27fc851b651efd6772d2132b99490eeb",
      "tree": "1ba54b06d7ea38df6ffb6f0422c2702477c922fa",
      "parents": [
        "aaf93465a17c6d37e9516c98441e4d0730c8fe2e"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Thu Feb 03 15:12:22 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:01 2011 +0200"
      },
      "message": "ASoC: OMAP4 ABE DAI - Add OAMP4 ABE DAI support\n\nThis patch adds support for the OMAP4 ABE DSP Frontend DAIs.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "aaf93465a17c6d37e9516c98441e4d0730c8fe2e",
      "tree": "dfe5682df99c9220bb2ee7f4f906544e14e1f469",
      "parents": [
        "59c96f127c352a648bfd185b2c8069bcbc842eff"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Thu Feb 03 15:02:46 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:01 2011 +0200"
      },
      "message": "ASoC: McPDM - Add ABE McPDM support.\n\nThis driver replaces the legacy McPDM driver in that it supports both\nlegacy and ABE McPDM support.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "59c96f127c352a648bfd185b2c8069bcbc842eff",
      "tree": "3b2f1d211f1d2b0cb5fb707b0fd45c709a66ff6a",
      "parents": [
        "f320fddc262430b65a9cdd2decc3d1a24ce1797e"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Tue Mar 08 15:11:02 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:01 2011 +0200"
      },
      "message": "ASoC: dsp - add core support for bespoke trigger()\n\nThis allows the DSP core to call a beskope trigger() call\non DAIs and platforms that require it.\n\nTODO: move into DSP patch series.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "f320fddc262430b65a9cdd2decc3d1a24ce1797e",
      "tree": "06d2fbfd3b03074d0aacc9fee471c1b5b27adfbd",
      "parents": [
        "8ccfb4a31fbc16e01e93d7989019e04c69a6284d"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Tue Feb 01 21:31:50 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:01 2011 +0200"
      },
      "message": "ASoC: core - add hostless DAI support\n\nAllow DAI\u0027s to be hostless so that no PCM data is sent between DAI\nand CPU. This allows for power savings as there is no DMA or CPU\ninteraction required.\n\nTODO: we shouldn\u0027t need to allocate a PAGE for a dummy DMA buffer.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "8ccfb4a31fbc16e01e93d7989019e04c69a6284d",
      "tree": "a738d4390e4d2fe729db06d59df1cfb95d509bcb",
      "parents": [
        "ad2581ef84f04f5502f948ded8af14e640a24a5a"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Feb 16 16:50:12 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:01 2011 +0200"
      },
      "message": "ALSA: pcm - reject calls to open backend PCMs (temporary)\n\nThis stops userspace opening backlemd PCMs.\n\nTODO: rework for upstream.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "ad2581ef84f04f5502f948ded8af14e640a24a5a",
      "tree": "70b5a12229fa138ab1973d5f3f402ae13b83a810",
      "parents": [
        "a8f13d8879f3a989d21cd3e0afc56c5de47cf1d7"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Tue Feb 01 21:31:31 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:01 2011 +0200"
      },
      "message": "ALSA: pcm - add support for hostless audio\n\nAllow some PCM devices to be hostless, i.e. there is no PCM data transferred\nto or from the host CPU. This can be used to minimise power on systems since\nthe CPU can idle/sleep during the PCM device operation (e.g. a phone call\nwhere the DAI is between a MODEM and DSP)\n\nTODO: cleanup, look at adding a read/write blocker.\n\nSinged-off-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "a8f13d8879f3a989d21cd3e0afc56c5de47cf1d7",
      "tree": "d7b4e5dcc79e94e0769983e5699f8cc8119f00d4",
      "parents": [
        "e58384e5bdaf8378b9061a96d4e85d2b9585baac"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed May 18 18:39:21 2011 +0100"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:00 2011 +0200"
      },
      "message": "ASoC: core - add dynamic kcontrols\n\nTODO: First phase of dynamic kcontrols. More todo.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "e58384e5bdaf8378b9061a96d4e85d2b9585baac",
      "tree": "04251b83a540b6d4d09e8066e4c255649a55e1a5",
      "parents": [
        "c0b7972c7bef55a7e00c666a4d8c500cdecde99b"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Tue Mar 15 23:48:05 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:00 2011 +0200"
      },
      "message": "ALSA: core - make sure dynamic minors is enabled for OMAP4 ABE\n\nOMAP4 ABE requires dynamic minors in order to support all its\nPCM devices.\n\nTODO: Move this into DSP core patch series.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "c0b7972c7bef55a7e00c666a4d8c500cdecde99b",
      "tree": "357f5ab6eb2f661a3ac28b385129c4c4de0b4627",
      "parents": [
        "13e13a31ef8e29f248727f2abae874ebf24b7037"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Sat Mar 05 18:30:34 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:00 2011 +0200"
      },
      "message": "ASoC: core - module refcounting improvements fro DSP\n\nDSP components can have DAIs that can exist in either the CODEC driver or\nplatform DAI driver. Simplify DAI refcounting logic by ref counting all\n(CODEC and platform) DAIs in each sound card.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "13e13a31ef8e29f248727f2abae874ebf24b7037",
      "tree": "623cf5f6a7f4990e6e3675f3b0919c1d55073144",
      "parents": [
        "aecd10463c835c852f19f454915cbc856d80b995"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Mon Jan 31 21:30:52 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:00 2011 +0200"
      },
      "message": "ASoC: dsp - add DSP support to ASoC core.\n\nAdd DSP support to ASoC core.\n\nThis adds a NULL CODEC driver allow binding and configuration of\nDSP DAIs, configures the PCM for DSP, initilaises the DSP state\nvariables and managed the DSP DAI link registration.\n\nTODO: come cleanup and refactor some variable names.\nTODO: split out with previous patch into smaller patches.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "aecd10463c835c852f19f454915cbc856d80b995",
      "tree": "06f1d5a434c8cca0aeffebf22aa9a712e318e82b",
      "parents": [
        "bfe7dc4032fd7d82641025dcb52a3ef919540a3a"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Mon Jan 31 21:30:24 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:00 2011 +0200"
      },
      "message": "ASoC: dsp - build DSP core\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "bfe7dc4032fd7d82641025dcb52a3ef919540a3a",
      "tree": "d05709a5c64791f6119cde7ab5c85667ea3fafa4",
      "parents": [
        "a00663bf80d18583e161fcdb7250db49197b8b43"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Mon Jan 31 21:26:35 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:00 2011 +0200"
      },
      "message": "ASoC: dsp - Add DSP support to core ASoC API/structures\n\nExport inline DAI PCM operations to allow DSP core to individually call BE PCM\noperations and ....\n\nAllow machine drivers to specifify DSP FE and BE DAI links.\nAdd FE and BE state information to PCM rtd.\n\nTODO: split out this into smaller patches.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "a00663bf80d18583e161fcdb7250db49197b8b43",
      "tree": "bb0c0ed1f9caf24d3ba3cd2c8cc8f2f8f824685a",
      "parents": [
        "e002c98e5cc01d60ce912f7259622a1fdf47d408"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Mon Jan 31 21:23:17 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:32:00 2011 +0200"
      },
      "message": "ASoC: dsp - Add ASoC DSP core\n\nThis adds ASoC core support for internal and external DSPs and represents them\nto the audio user as a CODEC like device with mixers, muxes and runtime audio\nroute changing.\n\nThe DSP core allows DSP DAIs to be dynamically re-routed at runtime between the\nPCM device end (or Frontend - FE) and the physical DAI (Backend - BE) using\nregular kcontrols (just like a hardware CODEC).\n\nThe DSP core also deal with DSP FE+BE suspend and resume PM ops.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "e002c98e5cc01d60ce912f7259622a1fdf47d408",
      "tree": "b87053ea3c3c6f09ff3fbfe97f430e1c7785a9ed",
      "parents": [
        "ecc1a0d5f5389bb23f68b9af83328e7679609bc1"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Tue Feb 08 11:45:20 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:59 2011 +0200"
      },
      "message": "ASoC: dapm - allow custom widgets to update power events.\n\nIn preparation for ASoC DSP support.\n\nAllow for the operation of custom mixer and mux DAPM widgets that can call\nsnd_soc_dapm_mixer_update_power() and snd_soc_dapm_mux_update_power() directly\nafter updating their status.\n\nThis adds two previously static calls to the public DAPM API.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "ecc1a0d5f5389bb23f68b9af83328e7679609bc1",
      "tree": "f281a29994c6146cdb87ce87a324980189bd4bc5",
      "parents": [
        "ab1058a9b9a0096f1eea3cd22799e45679f3dbe7"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Feb 16 16:24:17 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:59 2011 +0200"
      },
      "message": "ASoC: dapm - FIXME -add locking to the DAPM power_widgets()\n\nTODO: look into why _w is required.\nFIXME: did oops in the past.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "ab1058a9b9a0096f1eea3cd22799e45679f3dbe7",
      "tree": "95b7013e4b8474c79d098c1159d995ee9bce7393",
      "parents": [
        "7987a11891fb3c740bef6c5a3d0b388397601c8e"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Mon Jan 31 20:33:07 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:59 2011 +0200"
      },
      "message": "ASoC: dapm - Add API call to query valid DAPM paths.\n\nIn preparation for ASoC DSP support.\n\nAdd a DAPM API call to determine whether a DAPM audio path is valid between\nsource and sink widgets. This also takes into account all kcontrol mux and mixer\nsettings in between the source and sink widgets to validate the audio path.\n\nThis will be used by the DSP core to determine the runtime DAI mappings\nbetween FE and BE DAIs in order to run PCM operations.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "7987a11891fb3c740bef6c5a3d0b388397601c8e",
      "tree": "484ea7d4b22bf937d5071e357af2cb183249b0cf",
      "parents": [
        "35ca660cc07c04c0933395edb9a4739d849d9017"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Mon Jan 31 19:52:42 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:59 2011 +0200"
      },
      "message": "ASoC: core - Add Platform driver DAPM widgets/kcontrols.\n\nIn preparation for ASoC DSP support.\n\nAllow platform drivers to export widgets and kcontrols.\n\nThis is required to support DSP dynamic DAI routing and power management where\nplatform DSP drivers have kcontrols, DAPM widgets etc.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "35ca660cc07c04c0933395edb9a4739d849d9017",
      "tree": "4a3a15c1510bfdff0e042c139820a9da3835d363",
      "parents": [
        "0f8bae9b9cbccb46f53a4c4e90cf8275a1e249e2"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Fri Jan 28 17:45:35 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:59 2011 +0200"
      },
      "message": "ASoC: dapm - add widget IO functions\n\nAdd widget IO in preparation to support platform driver DAPM widgets with IO.\n\nThis provides a generic widget IO operation wrapper in preparation for\ndecouplement of register IO from CODEC drivers.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "0f8bae9b9cbccb46f53a4c4e90cf8275a1e249e2",
      "tree": "df09da033cda7682150908f0811e69afc062adc1",
      "parents": [
        "670ff44b4a223f9dc2bf8cdd3c745ef5a92db2a6"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Thu Jan 27 19:35:01 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:59 2011 +0200"
      },
      "message": "ASoC: core - pcm mutex per rtd\n\nIn preparation for ASoC DSP support.\n\nThe new DSP core allows DSP DAIs to be dynamically re-routed at runtime\nbetween the PCM device end (or Frontend - FE) and the physical DAI\n(Backend - BE) using regular kcontrols (just like a hardware CODEC).\nThe DSP core therefore must be able to call PCM operations for both the\nFrontend and Backend(s) DAIs at the same time.\n\nCurrently we have a global pcm_mutex that is used to serialise\nthe ASoC PCM operations. This patch removes the global mutex\nand adds a mutex per RTD allowing the PCM operations to be reentrant and\nallow control of more than one DAI at at time. e.g. a frontend DSP hw_params()\ncould configure multiple backend hw_params() with similar or different\nhw parameters at the same time.\n\nAlso fix the naming of soc_pcm_close.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "670ff44b4a223f9dc2bf8cdd3c745ef5a92db2a6",
      "tree": "f62f57766e1524facd3bd4b108669d9c8cf975db",
      "parents": [
        "c6ac984059f9c7ccf613fbed812fb0dd3c9565a9"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Mar 30 23:27:27 2011 +0100"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:58 2011 +0200"
      },
      "message": "ASoC: dapm - Add DAPM stream completion event.\n\nIn preparation for ASoC DSP support.\n\nThis adds a callback function to be called at the completion of a DAPM stream\nevent.\n\nThis can be used by DSP components to perform calculations based on DAPM graphs.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "c6ac984059f9c7ccf613fbed812fb0dd3c9565a9",
      "tree": "e4008e319c6380dc30f29ea37ba7fd8b2aae897f",
      "parents": [
        "02184085926c7ea54a499347fb3c9c72089aa2d5"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Fri Feb 04 22:12:30 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:58 2011 +0200"
      },
      "message": "ASoC: core - refactor pcm_new() to pass only rtd\n\nIn preparation for ASoC DSP support.\n\nCurrently pcm_new() passes in card, pcm and DAI. Refactor this to only pass\nin rtd since rtd contains card, pcm and DAI. Struct rtd also contain other\nmembers too that are useful to DSPs.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "02184085926c7ea54a499347fb3c9c72089aa2d5",
      "tree": "909d417dc1f89e55c208a72e0da6be037b348997",
      "parents": [
        "aff46a0cfb51b2a3d02c7dbce85d26fdcf585170"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Mar 30 23:26:53 2011 +0100"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:58 2011 +0200"
      },
      "message": "ASoC: core - Allow some components to probe/remove later or earlier.\n\nSome ASoC components depend on other ASoC components to provide clocks and\npower resources in order to probe().\n\nProvide a method to allow some components to be probed() later and be also\nremoved() earlier.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "aff46a0cfb51b2a3d02c7dbce85d26fdcf585170",
      "tree": "8f778f59b44c4a4c7f2886b0022465e77c9c66e8",
      "parents": [
        "7038dfd975cff9fb64f8456f78d399e7fdba944f"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Mar 30 23:25:37 2011 +0100"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:58 2011 +0200"
      },
      "message": "ASoC: core - set platform dapm context device\n\nIn preparation for ASoC DSP support.\n\nSet the paltform DAPM device context.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "7038dfd975cff9fb64f8456f78d399e7fdba944f",
      "tree": "02c6976c5b1064ece3a510fc10b8fb81ad7de9e6",
      "parents": [
        "4d74b36431f9b453bbe9d2af7c37875fc5cc442e"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Tue Feb 01 20:58:15 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:58 2011 +0200"
      },
      "message": "ASoC: dapm - add method to get AIF widget from stream\n\nIn preparation for ASoC DSP support.\n\nProvide a method to get the AIF widget name from the stream name.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "4d74b36431f9b453bbe9d2af7c37875fc5cc442e",
      "tree": "5a31f41b53dd81782ca4406294bc5764bcb2be03",
      "parents": [
        "54cd5ccef4314f734af9966dca848e85a092e2b7"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed May 18 17:50:07 2011 +0100"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:58 2011 +0200"
      },
      "message": "ASoC: dapm - fix prefix for DAPM muxes\n\nMake sure DAPM muxes have a valid kcontrol name instead of NULL.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "54cd5ccef4314f734af9966dca848e85a092e2b7",
      "tree": "66a473f9838dd2051aae2d156c199d7c0c82c44b",
      "parents": [
        "b948d2203a0f46ed36c11df08f2411c2468606ac"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Mar 30 23:24:28 2011 +0100"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:57 2011 +0200"
      },
      "message": "ASoC: core - fix module reference counting for CPU DAIs\n\nCurrently CODEC and platform drivers have their module reference count\nincremented soc_probe_dai_link() whilst CPU DAI drivers have their reference\ncount incremented in soc_bind_dai_link().\n\nCPU DAIs should have their reference count incremented in soc_probe_dai_link()\njust like the CODEC and platform drivers.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "b948d2203a0f46ed36c11df08f2411c2468606ac",
      "tree": "77d67b0d233b88af460a7189f32260f0b42ce90b",
      "parents": [
        "d1678cfbe68108ba1903054e8be26ecb45c746ba"
      ],
      "author": {
        "name": "Axel Castaneda Gonzalez",
        "email": "x0055901@ti.com",
        "time": "Fri Feb 25 15:26:45 2011 -0600"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:57 2011 +0200"
      },
      "message": "OMAP4: sdp4430 - Single step ramp for twl6040 HS/HF outputs\n\nUse a single step ramp for twl6040 headset and handsfree outputs,\nthis strategy gives better results in term of pop noise reduction.\n\nSigned-off-by: Axel Castaneda Gonzalez \u003cx0055901@ti.com\u003e\n"
    },
    {
      "commit": "d1678cfbe68108ba1903054e8be26ecb45c746ba",
      "tree": "44ee23b61fc96dd0bf2328f4ff51dcaec9a00b2b",
      "parents": [
        "5d961d2c3888584d4cdbc43634e8a9f36d0569dc"
      ],
      "author": {
        "name": "Misael Lopez Cruz",
        "email": "misael.lopez@ti.com",
        "time": "Fri Feb 11 19:50:37 2011 -0600"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:57 2011 +0200"
      },
      "message": "OMAP: sdp4430 - Add twl6040 codec data to SDP4430\n\nAdd twl6040 codec support for SDP4430.\n\nChange-Id: I3108dc96d4bf1b143957d26dd3f922e6ed7861f2\nSigned-off-by: Misael Lopez Cruz \u003cmisael.lopez@ti.com\u003e\nSigned-off-by: Margarita Olaya Cabrera \u003cmagi.olaya@ti.com\u003e\n"
    },
    {
      "commit": "5d961d2c3888584d4cdbc43634e8a9f36d0569dc",
      "tree": "865db031d0251272f95394d300f5098c168fb0f0",
      "parents": [
        "9b62a845cd32c993cd180709be9fd9988286ad50"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Sun Feb 13 22:39:53 2011 -0600"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:57 2011 +0200"
      },
      "message": "OMAP4: DMIC: Add DMIC codec platform device\n\nAdd platform device for DMIC codec interfaces available\nin OMAP4.\n\nChange-Id: I62d641f4dd3c898d10b9b50bb33c070837b24eaf\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Misael Lopez Cruz \u003cmisael.lopez@ti.com\u003e\n"
    },
    {
      "commit": "9b62a845cd32c993cd180709be9fd9988286ad50",
      "tree": "34374eac738d60414bc4cb44b704f9310ac50fe0",
      "parents": [
        "43adf03809bcf4a060d67654fc5cc0e43025e3d6"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Sun Feb 13 22:38:22 2011 -0600"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:57 2011 +0200"
      },
      "message": "OMAP4: ABE: Add ABE platform device\n\nAdd platform device for Audio Backend.\n\nChange-Id: I6e60329533f24198ee840998f60f71a7924a7878\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Misael Lopez Cruz \u003cmisael.lopez@ti.com\u003e\n"
    },
    {
      "commit": "43adf03809bcf4a060d67654fc5cc0e43025e3d6",
      "tree": "6a334a6d985e4fbb53da4cf8f229ac552d8db438",
      "parents": [
        "c6a6eb96b2961dc604a855a616b0e50433d82109"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Sun May 01 19:33:15 2011 +0100"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:57 2011 +0200"
      },
      "message": "OMAP: hwmod - enable mcpdm hwmod device.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "c6a6eb96b2961dc604a855a616b0e50433d82109",
      "tree": "82ec095dfaa7c9029915182d64c1552a8b6e70c8",
      "parents": [
        "5b31b8dbfbbff531257fc9aea2b1cf658a4db3d8"
      ],
      "author": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Thu Mar 03 15:20:41 2011 +0100"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:56 2011 +0200"
      },
      "message": "OMAP4: hwmod data: Update AESS data with memory bank area\n\nAdd AESS memory bank data in hwmod in order to provide memory\naddress information to the driver.\n\nSigned-off-by: Benoit Cousson \u003cb-cousson@ti.com\u003e\nSigned-off-by: sebastien Guiriec \u003cs-guiriec@ti.com\u003e\n"
    },
    {
      "commit": "5b31b8dbfbbff531257fc9aea2b1cf658a4db3d8",
      "tree": "4c3ef8c58d21d0d15e61b3103ded7d3b2081a68c",
      "parents": [
        "089aef3d3b24168d268266f760f671753e6551bd"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Sat Apr 30 16:19:33 2011 +0100"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:56 2011 +0200"
      },
      "message": "OMAP4: hwmod - enable AESS hwmod device.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "089aef3d3b24168d268266f760f671753e6551bd",
      "tree": "e58dc711aa407d76de7d6b17de6bafed8541bf69",
      "parents": [
        "0201417ebd6d9d5a26fa96b9f5747d85c2a2d903"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Sat Feb 12 22:19:09 2011 -0600"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:56 2011 +0200"
      },
      "message": "OMAP: AESS: Add omap_device for AESS\n\nRegister Audio Engine Subsystem (AESS) device through omap\ndevice framework.\n\nChange-Id: Ia0b380544730c11c25207eb8b50892b52351c0b5\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Jorge Eduardo Candelaria \u003cjorge.candelaria@ti.com\u003e\nSigned-off-by: Margarita Olaya Cabrera \u003cmagi.olaya@ti.com\u003e\nSigned-off-by: Misael Lopez Cruz \u003cmisael.lopez@ti.com\u003e\n"
    },
    {
      "commit": "0201417ebd6d9d5a26fa96b9f5747d85c2a2d903",
      "tree": "c0499a28c220512740652ed0f7b9b22ab04991e8",
      "parents": [
        "8c208e12dcf8643988f7f96684da7112ac6ceaa4"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Thu Mar 24 11:05:36 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:56 2011 +0200"
      },
      "message": "OMAP4: DMIC - Add OMAP4 digital Mic controller.\n\nAdd register bit and offset definitions for OMAP4 DMICs.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "8c208e12dcf8643988f7f96684da7112ac6ceaa4",
      "tree": "d0a325721937d06f0766625b3094df993b8023b6",
      "parents": [
        "c5f15aa6f6110688eebf39abe2d17838fd22a066"
      ],
      "author": {
        "name": "David Lambert",
        "email": "dlambert@ti.com",
        "time": "Sat Feb 12 22:35:03 2011 -0600"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:56 2011 +0200"
      },
      "message": "OMAP: DMIC: Add omap_device for DMIC\n\nRegister DMIC device through omap device model.\n\nChange-Id: Iad42ead4b862d8531abe420ee2fd9d1602d582ce\nSigned-off-by: David Lambert \u003cdlambert@ti.com\u003e\nSigned-off-by: Misael Lopez Cruz \u003cmisael.lopez@ti.com\u003e\n"
    },
    {
      "commit": "c5f15aa6f6110688eebf39abe2d17838fd22a066",
      "tree": "17aded00ccab555d02bf308c65d7fe603da4f703",
      "parents": [
        "ee0fb9c3d4ec572fd6299495f16fc30e19325f6f"
      ],
      "author": {
        "name": "Jorge Eduardo Candelaria",
        "email": "jorge.candelaria@ti.com",
        "time": "Sat Feb 12 22:28:56 2011 -0600"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:56 2011 +0200"
      },
      "message": "OMAP: McPDM: Convert McPDM device to omap_device\n\nMcPDM device is converted to omap device.\n\nChange-Id: Ifaa96a6396101d80bdce49c0c1d401be385f3708\nSigned-off-by: Jorge Eduardo Candelaria \u003cjorge.candelaria@ticom\u003e\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Misael Lopez Cruz \u003cmisael.lopez@ti.com\u003e\nSigned-off-by: Margarita Olaya Cabrera \u003cmagi.olaya@ti.com\u003e\n"
    },
    {
      "commit": "ee0fb9c3d4ec572fd6299495f16fc30e19325f6f",
      "tree": "96c12691343cd129fa4ff75560080490ada756e8",
      "parents": [
        "89b83044a3f734d7bc9f1d46114df46f94e1f8fb"
      ],
      "author": {
        "name": "Balaji T K",
        "email": "balajitk@ti.com",
        "time": "Mon Feb 07 13:30:00 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:55 2011 +0200"
      },
      "message": "i2c-omap: Keep I2C module enabled on NACK\n\nRetain other bit fields while configuring STOP condition in\nconfiguration register.\nCurrent code writes STOP condition to configuration register\nand clears other bit fields that results in disabling the\ncontroller\n\nSigned-off-by: Balaji T K \u003cbalajitk@ti.com\u003e\n"
    },
    {
      "commit": "89b83044a3f734d7bc9f1d46114df46f94e1f8fb",
      "tree": "85b5d099d9e87594e2c6f3fb67dcd8b65d3b3e50",
      "parents": [
        "a956f9e3987c7f4ebe47049fcf713e5a7f8a5a0d"
      ],
      "author": {
        "name": "Misael Lopez Cruz",
        "email": "misael.lopez@ti.com",
        "time": "Fri Feb 11 19:50:37 2011 -0600"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:55 2011 +0200"
      },
      "message": "OMAP4: SDP4430: Add twl6040 codec platform support\n\nConfigure, and enable the twl6040 codec on SDP4430.\n\nSigned-off-by: Misael Lopez Cruz \u003cmisael.lopez@ti.com\u003e\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\n"
    },
    {
      "commit": "a956f9e3987c7f4ebe47049fcf713e5a7f8a5a0d",
      "tree": "44521c69833b0085a12005f62e0ce423f1097965",
      "parents": [
        "87ce3c5305eac29aee5090a3b57bbe1649fae180"
      ],
      "author": {
        "name": "Axel Castaneda Gonzalez",
        "email": "x0055901@ti.com",
        "time": "Wed Feb 23 20:08:28 2011 -0600"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:55 2011 +0200"
      },
      "message": "ASoC: twl6040: Configure ramp step based on platform\n\nEnable ramp down/up step to be configured based on\nplatform.\n\nSigned-off-by: Axel Castaneda Gonzalez \u003cx0055901@ti.com\u003e\nSigned-off-by: Misael Lopez Cruz \u003cmisael.lopez@ti.com\u003e\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "87ce3c5305eac29aee5090a3b57bbe1649fae180",
      "tree": "5664c550f85adfbe35b7d6730244461a5d3b19ed",
      "parents": [
        "93682b32337ee5e275f1403e183a41501333337c"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Mon Mar 07 15:25:23 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:55 2011 +0200"
      },
      "message": "ASoC: twl6040: set default constraints.\n\nSet default sysclk constraints to high performance mode.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "93682b32337ee5e275f1403e183a41501333337c",
      "tree": "362ce9e2cbae21df21ca4d1fa1152e753c664748",
      "parents": [
        "19ddb8e9fa2d6d8514e2fb035a3cf54b7d676a0f"
      ],
      "author": {
        "name": "Misael Lopez Cruz",
        "email": "misael.lopez@ti.com",
        "time": "Fri Feb 11 17:51:05 2011 -0600"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:55 2011 +0200"
      },
      "message": "ASoC: twl6040: Remove pll and headset mode dependency\n\nRemove dependency between pll (hppll, lppll) and headset power\nmode (low-power, high-performance), as headset power mode can\nbe used with any pll.\n\nA new control is created to allow headset power mode configuration\nfrom userspace. Changing headset power mode during earpiece related\nusecases is not propagated down to the codec as earpiece requires\nHS DAC in HP mode.\n\nSigned-off-by: Misael Lopez Cruz \u003cmisael.lopez@ti.com\u003e\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\n"
    },
    {
      "commit": "19ddb8e9fa2d6d8514e2fb035a3cf54b7d676a0f",
      "tree": "2300f47475733e67347ffcf05cd33acc155d6d6c",
      "parents": [
        "8865ff9d25384345061dae7ad3b508c2280a10fe"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Fri Mar 18 19:00:50 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:55 2011 +0200"
      },
      "message": "ASoC: twl6040: Support other sample rates in constraints.\n\nAdd other supported sample rates to LP and HP modes.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "8865ff9d25384345061dae7ad3b508c2280a10fe",
      "tree": "5a8d93c930845f7d9fc6f107f28772d6351af99b",
      "parents": [
        "cf825e06b75d3793df779aa43bf47ad8d1e9a1a7"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Fri Feb 11 17:37:51 2011 +0000"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:54 2011 +0200"
      },
      "message": "ASoC: twl6040: add all ABE DAIs\n\nAdd all DAIs to fully support OMAP4 ABE.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "cf825e06b75d3793df779aa43bf47ad8d1e9a1a7",
      "tree": "31673d95344c7343aeaa2d0bba3f11e478545b29",
      "parents": [
        "95ed04e15e254297044cf92ae495e8f95e3d0d7b"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Wed Jun 01 11:30:38 2011 +0300"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:54 2011 +0200"
      },
      "message": "OMAP4: SDP4430: Add twl6040 vibrator platform support\n\nAdd twl4030_vibra platform data, and the needed regulators\nfor twl6040 vibrator.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\n"
    },
    {
      "commit": "95ed04e15e254297044cf92ae495e8f95e3d0d7b",
      "tree": "de1733d6892b3575a801768841978770ee0df3cb",
      "parents": [
        "b62eea9d69b7bd35d83dc81f6c7da00136010ae9"
      ],
      "author": {
        "name": "Misael Lopez Cruz",
        "email": "misael.lopez@ti.com",
        "time": "Sun May 01 03:51:24 2011 -0500"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:54 2011 +0200"
      },
      "message": "input: Add initial support for TWL6040 vibrator\n\nAdd twl6040_vibra as a child of MFD device twl6040_codec. This\nimplementation covers the PCM-to-PWM mode of TWL6040 vibrator\nmodule.\n\nSigned-off-by: Misael Lopez Cruz \u003cmisael.lopez@ti.com\u003e\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nCC: Tejun Heo \u003ctj@kernel.org\u003e\n"
    },
    {
      "commit": "b62eea9d69b7bd35d83dc81f6c7da00136010ae9",
      "tree": "0a4b9d5467a880aa6d356df66861849e1da6f320",
      "parents": [
        "f4b3dc33887f627f0972e4ca7bafc0741e8bc2b5"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Wed Jun 01 13:05:10 2011 +0300"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:54 2011 +0200"
      },
      "message": "MFD: twl6040: Change platform data for soc codec driver\n\nPass twl4030_codec_data instead of the twl4030_audio_data\nfor the ASoC codec driver.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\n"
    },
    {
      "commit": "f4b3dc33887f627f0972e4ca7bafc0741e8bc2b5",
      "tree": "7af2506b26dbe026f0532ebc32c903bc47744dd8",
      "parents": [
        "3c9d7a18427b28721741df2f84e9f4f167e5a523"
      ],
      "author": {
        "name": "Misael Lopez Cruz",
        "email": "misael.lopez@ti.com",
        "time": "Sun May 01 21:27:00 2011 -0500"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:54 2011 +0200"
      },
      "message": "ASoC: twl6040: Convert into TWL6040 MFD child\n\nConvert TWL6040 CODEC driver into a TWL6040 MFD child, it implies\nthat MFD-level operations like register accesses, clock setting\nand power management are done through MFD APIs, not directly by\nCODEC driver anymore. To avoid conflicts with the other MFD child,\nvibrator registers are skipped in CODEC driver.\n\nSigned-off-by: Misael Lopez Cruz \u003cmisael.lopez@ti.com\u003e\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nAcked-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "3c9d7a18427b28721741df2f84e9f4f167e5a523",
      "tree": "fc839c8bd61372827ee9afa61ae1a65d6ac0e2e2",
      "parents": [
        "be206b3963a5904fc362827bf96b98db6fac31ac"
      ],
      "author": {
        "name": "Misael Lopez Cruz",
        "email": "misael.lopez@ti.com",
        "time": "Wed Apr 27 02:14:07 2011 -0500"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:53 2011 +0200"
      },
      "message": "mfd: twl6040: Add initial support\n\nTWL6040 IC provides analog high-end audio codec functions for\nhandset applications. It contains several audio analog inputs\nand outputs as well as vibrator support. It\u0027s connected to the\nhost processor via PDM interface for audio data communication.\nThe audio modules are controlled by internal registers that\ncan be accessed by I2C and PDM interface.\n\nTWL6040 MFD will be registered as a child of TWL-CORE, and will\nhave two children of its own: twl6040-codec and twl6040-vibra.\n\nThis driver is based on TWL4030 and WM8350 MFD drivers.\n\nSigned-off-by: Misael Lopez Cruz \u003cmisael.lopez@ti.com\u003e\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\n"
    },
    {
      "commit": "be206b3963a5904fc362827bf96b98db6fac31ac",
      "tree": "9c9e1bcde76e1dab1b66c38f2f165f1a304a2f93",
      "parents": [
        "d189dd57aa925949a458313e8be10420caa4823a"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Tue May 31 15:21:13 2011 +0300"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:53 2011 +0200"
      },
      "message": "MFD: twl4030-audio: Rename platform data\n\nAllign the platform data names for twl4030 audio submodule:\ntwl4030_audio_data: for the core MFD driver\ntwl4030_codec_data: for ASoC codec driver\ntwl4030_vibra_data: for the input/ForceFeedback driver\n\nTo avoid breakage, change all depending drivers, files\nto use the new types.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\n"
    },
    {
      "commit": "d189dd57aa925949a458313e8be10420caa4823a",
      "tree": "4b7d61057d209e67a8e5c8caa214ff8dd051d5f2",
      "parents": [
        "918360729203d9c148adbfbe2cfbd186b80e096f"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Tue May 31 12:02:49 2011 +0300"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:53 2011 +0200"
      },
      "message": "MFD: twl4030-codec -\u003e twl4030-audio: Rename the driver\n\nRename the driver, and header file from twl4030-codec to\ntwl4030-audio.\nTo avoid breakage change depending drivers at the same time.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nCC: Misael Lopez Cruz \u003cmisael.lopez@ti.com\u003e\n"
    },
    {
      "commit": "918360729203d9c148adbfbe2cfbd186b80e096f",
      "tree": "9f4e1b209eb24f3ef97484381b6a77d39bc55ef7",
      "parents": [
        "1070ce9b631d6348b5b91eb5dff24eee15d2b01c"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Tue May 03 18:03:43 2011 +0300"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:53 2011 +0200"
      },
      "message": "MFD: twl4030-codec: Rename internals from codec to audio\n\nIn preparation of renaming the driver from twl4030-codec\nto twl4030-audio, first do some clean ups in the driver,\nwhich does not cause any problems outside.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\n"
    },
    {
      "commit": "1070ce9b631d6348b5b91eb5dff24eee15d2b01c",
      "tree": "0ea7b8553f7fa76af14be34afe521cceb3a23feb",
      "parents": [
        "7d31d6bd84fa278c15ff3e93c7fa3c588ee2c255"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Tue Jun 07 11:38:24 2011 +0300"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:53 2011 +0200"
      },
      "message": "OMAP3: Move common regulator configuration to twl-common\n\nSome regulator config can be moved out from board files,\nsince they are close to identical.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\n"
    },
    {
      "commit": "7d31d6bd84fa278c15ff3e93c7fa3c588ee2c255",
      "tree": "4d87e4ac04c17fdab217fcd0dd228d6cb4d655fc",
      "parents": [
        "1e0f9cd3dc32618423114d6f72e4dac445115f8b"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Tue Jun 07 10:28:54 2011 +0300"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:52 2011 +0200"
      },
      "message": "OMAP3: Move common twl configuration to twl-common\n\nReduce the amount of duplicated code by moving the common\nconfiguration for twl4030/5030/tpsxx to the twl-common file.\nUse the omap3_pmic_get_config function from board files to\nproperly configure the PMIC with the common fields.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\n"
    },
    {
      "commit": "1e0f9cd3dc32618423114d6f72e4dac445115f8b",
      "tree": "5d1c74fa8295b7c168023af4bae318cfd2a89474",
      "parents": [
        "1458e83af96ff7c529b7cc4fb976e88f2cc41840"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Tue Jun 07 10:26:46 2011 +0300"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:52 2011 +0200"
      },
      "message": "OMAP4: Move common twl6030 configuration to twl-common\n\nReduce the amount of duplicated code by moving the common\nconfiguration for TWL6030 (on OMAP4 platform) to the\ntwl-common file.\nUse the omap4_pmic_get_config function from board files to\nproperly configure the PMIC with the common fields.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\n"
    },
    {
      "commit": "1458e83af96ff7c529b7cc4fb976e88f2cc41840",
      "tree": "3f0df58ae1f1468f1152aa072996dd336705e537",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Sat Jun 04 08:16:41 2011 +0300"
      },
      "committer": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Sun Jul 24 21:31:52 2011 +0200"
      },
      "message": "OMAP: New twl-common for common TWL configuration\n\nIntroduce a new file, which will be used to configure\ncommon pmic (TWL) devices, regulators, and TWL audio.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\n"
    },
    {
      "commit": "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe",
      "tree": "df32c75242bf8d797ccd43af8ce8e294f35cd8fd",
      "parents": [
        "1f922d07704c501388a306c78536bca7432b3934"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 19:17:23 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 19:17:23 2011 -0700"
      },
      "message": "Linux 3.0\n"
    },
    {
      "commit": "1f922d07704c501388a306c78536bca7432b3934",
      "tree": "8b4f3abcfa0dc15e5c1a8e48615adbbce832939c",
      "parents": [
        "2bafc7a275436da4a1ece4ecfcbacb82a0560efb",
        "33d8881af5584fb7994f6b3d17fc11dcaf07b3b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 17:20:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 17:20:57 2011 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  sparc,kgdbts: fix compile regression with kgdb test suite\n"
    },
    {
      "commit": "33d8881af5584fb7994f6b3d17fc11dcaf07b3b2",
      "tree": "f2aedc236f1bd0876951cc82243f3b811864f6ac",
      "parents": [
        "3a5c3743f15f27237ab025736a981e2d0c9fdfed"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jul 19 15:43:16 2011 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Thu Jul 21 17:29:49 2011 -0500"
      },
      "message": "sparc,kgdbts: fix compile regression with kgdb test suite\n\nCommit 63ab25ebbc (kgdbts: unify/generalize gdb breakpoint adjustment)\nintroduced a compile regression on sparc.\n\nkgdbts.c: In function \u0027check_and_rewind_pc\u0027:\nkgdbts.c:307: error: implicit declaration of function \u0027instruction_pointer_set\u0027\n\nSimply add the correct macro definition for instruction pointer on the\nSparc architecture.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2bafc7a275436da4a1ece4ecfcbacb82a0560efb",
      "tree": "097f820c6cad0a437255f0207e8ac6befd9fac76",
      "parents": [
        "57a6fa9acd6b4a479a6ede4d6d2258f04afd3a6f",
        "2cebaa58b7de775386732bbd6cd11c3f5b73faf0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 14:28:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 14:28:01 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  CIFS: Fix wrong length in cifs_iovec_read\n"
    },
    {
      "commit": "57a6fa9acd6b4a479a6ede4d6d2258f04afd3a6f",
      "tree": "23fc946678d2d4bce1b74caab057333b433da150",
      "parents": [
        "ad21b115772dfa146f19ec5d1db9de25973c483b",
        "a536877e77f73ea22d12d94a019fedd9671b6acd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 12:25:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 12:25:39 2011 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86: Make Dell Latitude E6420 use reboot\u003dpci\n  x86: Make Dell Latitude E5420 use reboot\u003dpci\n"
    },
    {
      "commit": "a536877e77f73ea22d12d94a019fedd9671b6acd",
      "tree": "c51a455049a372f6e28ef366eafdb30e649a41e9",
      "parents": [
        "b7798d28ec15d20fd34b70fa57eb13f0cf6d1ecd"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Jul 21 11:22:21 2011 -0700"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Jul 21 11:47:17 2011 -0700"
      },
      "message": "x86: Make Dell Latitude E6420 use reboot\u003dpci\n\nYet another variant of the Dell Latitude series which requires\nreboot\u003dpci.\n\nFrom the E5420 bug report by Daniel J Blueman:\n\n\u003e The E6420 is affected also (same platform, different casing and\n\u003e features), which provides an external confirmation of the issue; I can\n\u003e submit a patch for that later or include it if you prefer:\n\u003e http://linux.koolsolutions.com/2009/08/04/howto-fix-linux-hangfreeze-during-reboots-and-restarts/\n\nReported-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "b7798d28ec15d20fd34b70fa57eb13f0cf6d1ecd",
      "tree": "431db58bbc05fc13bc2ce9fc88113cf51856d3c3",
      "parents": [
        "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f"
      ],
      "author": {
        "name": "Daniel J Blueman",
        "email": "daniel.blueman@gmail.com",
        "time": "Fri May 13 09:04:59 2011 +0800"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Thu Jul 21 11:45:49 2011 -0700"
      },
      "message": "x86: Make Dell Latitude E5420 use reboot\u003dpci\n\nRebooting on the Dell E5420 often hangs with the keyboard or ACPI\nmethods, but is reliable via the PCI method.\n\n[ hpa: this was deferred because we believed for a long time that the\n  recent reshuffling of the boot priorities in commit\n  660e34cebf0a11d54f2d5dd8838607452355f321 fixed this platform.\n  Unfortunately that turned out to be incorrect. ]\n\nSigned-off-by: Daniel J Blueman \u003cdaniel.blueman@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1305248699-2347-1-git-send-email-daniel.blueman@gmail.com\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: \u003cstable@kernel.org\u003e\n\n"
    },
    {
      "commit": "ad21b115772dfa146f19ec5d1db9de25973c483b",
      "tree": "457b129a39a3babdc2b0bb497e90915bfddcb12b",
      "parents": [
        "b91da88fed84843313a1b6fd1b1c834a24bbcf9e",
        "e28f87116503f796aba4fb27d81e2c3d81966174"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 11:07:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 11:07:18 2011 -0700"
      },
      "message": "Merge branch \u0027drm-intel-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6\n\n* \u0027drm-intel-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6:\n  drm/i915: Fix unfenced alignment on pre-G33 hardware\n  drm/i915: Add quirk to disable SSC on Lenovo U160 LVDS\n"
    },
    {
      "commit": "b91da88fed84843313a1b6fd1b1c834a24bbcf9e",
      "tree": "0c9456266a09f247a875fd3b55073ad42dc7445d",
      "parents": [
        "b307d4655a71749ac3f91c6dbe33d28cc026ceeb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 11:01:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 11:01:42 2011 -0700"
      },
      "message": "vfs: drop conditional inode prefetch in __do_lookup_rcu\n\nIt seems to hurt performance in real life.  Yes, the inode will be used\nlater, but the conditional doesn\u0027t seem to predict all that well\n(negative dentries are not uncommon) and it looks like the cost of\nprefetching is simply higher than depending on the cache doing the right\nthing.\n\nAs usual.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b307d4655a71749ac3f91c6dbe33d28cc026ceeb",
      "tree": "4d00cd36cf277da7e45333d2a0574bf4a523cc58",
      "parents": [
        "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Thu Jul 21 15:02:43 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 21 10:59:16 2011 -0700"
      },
      "message": "FS-Cache: Fix __fscache_uncache_all_inode_pages()\u0027s outer loop\n\nThe compiler, at least for ix86 and m68k, validly warns that the\ncomparison:\n\n\tnext \u003c\u003d (loff_t)-1\n\nis always true (and it\u0027s always true also for x86-64 and probably all\nother arches - as long as pgoff_t isn\u0027t wider than loff_t).  The\nintention appears to be to avoid wrapping of \"next\", so rather than\neliminating the pointless comparison, fix the loop to indeed get exited\nwhen \"next\" would otherwise wrap.\n\nOn m68k the following warning is observed:\n\n  fs/fscache/page.c: In function \u0027__fscache_uncache_all_inode_pages\u0027:\n  fs/fscache/page.c:979: warning: comparison is always false due to limited range of data type\n\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nReported-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2cebaa58b7de775386732bbd6cd11c3f5b73faf0",
      "tree": "aaa392677870ded6c3790e1d327fa12f584e767f",
      "parents": [
        "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Wed Jul 20 18:24:09 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jul 21 00:48:05 2011 +0000"
      },
      "message": "CIFS: Fix wrong length in cifs_iovec_read\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f",
      "tree": "489c64380668e8c5a29d3f36f37554e4b081a647",
      "parents": [
        "acc11eab70591744369722280c9ce162a6193494",
        "d1e9ae47a0285d3f1699e8219ce50f656243b93f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:56:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:56:25 2011 -0700"
      },
      "message": "Merge branch \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  signal: align __lock_task_sighand() irq disabling and RCU\n  softirq,rcu: Inform RCU of irq_exit() activity\n  sched: Add irq_{enter,exit}() to scheduler_ipi()\n  rcu: protect __rcu_read_unlock() against scheduler-using irq handlers\n  rcu: Streamline code produced by __rcu_read_unlock()\n  rcu: Fix RCU_BOOST race handling current-\u003ercu_read_unlock_special\n  rcu: decrease rcu_report_exp_rnp coupling with scheduler\n"
    },
    {
      "commit": "acc11eab70591744369722280c9ce162a6193494",
      "tree": "f23138ad28b557311b6e512f40ec27fbc42481f1",
      "parents": [
        "919d25a710bd6ded210426e911c9f9ec535d8d9c",
        "d110235d2c331c4f79e0879f51104be79e17a469"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:55:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:55:48 2011 -0700"
      },
      "message": "Merge branch \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Avoid creating superfluous NUMA domains on non-NUMA systems\n  sched: Allow for overlapping sched_domain spans\n  sched: Break out cpu_power from the sched_group structure\n"
    },
    {
      "commit": "919d25a710bd6ded210426e911c9f9ec535d8d9c",
      "tree": "7c49ecdc8cba950a582951ae8ee450153c0840f2",
      "parents": [
        "e6625fa48e6580a74b7e700efd7e6463e282810b",
        "3628c3f5c818cfc6e588d1ccb31f19aa12345c02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:33:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 20 15:33:59 2011 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86. reboot: Make Dell Latitude E6320 use reboot\u003dpci\n  x86, doc only: Correct real-mode kernel header offset for init_size\n  x86: Disable AMD_NUMA for 32bit for now\n"
    },
    {
      "commit": "d1e9ae47a0285d3f1699e8219ce50f656243b93f",
      "tree": "2f5a68b5ba1677bcd49ee759f09ffc5ccccb1455",
      "parents": [
        "e6625fa48e6580a74b7e700efd7e6463e282810b",
        "a841796f11c90d53dbac773be56b04fbee8af272"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 20:59:26 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 20:59:26 2011 +0200"
      },
      "message": "Merge branch \u0027rcu/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-2.6-rcu into core/urgent\n"
    },
    {
      "commit": "a841796f11c90d53dbac773be56b04fbee8af272",
      "tree": "9401a53faddecc7c1644565d0e22630028f82bca",
      "parents": [
        "ec433f0c51527426989ea8a38a856d810d739414"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Jul 19 03:25:36 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 11:04:54 2011 -0700"
      },
      "message": "signal: align __lock_task_sighand() irq disabling and RCU\n\nThe __lock_task_sighand() function calls rcu_read_lock() with interrupts\nand preemption enabled, but later calls rcu_read_unlock() with interrupts\ndisabled.  It is therefore possible that this RCU read-side critical\nsection will be preempted and later RCU priority boosted, which means that\nrcu_read_unlock() will call rt_mutex_unlock() in order to deboost itself, but\nwith interrupts disabled. This results in lockdep splats, so this commit\nnests the RCU read-side critical section within the interrupt-disabled\nregion of code.  This prevents the RCU read-side critical section from\nbeing preempted, and thus prevents the attempt to deboost with interrupts\ndisabled.\n\nIt is quite possible that a better long-term fix is to make rt_mutex_unlock()\ndisable irqs when acquiring the rt_mutex structure\u0027s -\u003ewait_lock.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ec433f0c51527426989ea8a38a856d810d739414",
      "tree": "001550d7b18b3f2b5326da3f9dfd893e31c8dc1c",
      "parents": [
        "c5d753a55ac92e09816d410cd17093813f1a904b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 19 15:32:00 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 10:50:12 2011 -0700"
      },
      "message": "softirq,rcu: Inform RCU of irq_exit() activity\n\nThe rcu_read_unlock_special() function relies on in_irq() to exclude\nscheduler activity from interrupt level.  This fails because exit_irq()\ncan invoke the scheduler after clearing the preempt_count() bits that\nin_irq() uses to determine that it is at interrupt level.  This situation\ncan result in failures as follows:\n\n $task\t\t\tIRQ\t\tSoftIRQ\n\n rcu_read_lock()\n\n /* do stuff */\n\n \u003cpreempt\u003e |\u003d UNLOCK_BLOCKED\n\n rcu_read_unlock()\n   --t-\u003ercu_read_lock_nesting\n\n\t\t\tirq_enter();\n\t\t\t/* do stuff, don\u0027t use RCU */\n\t\t\tirq_exit();\n\t\t\t  sub_preempt_count(IRQ_EXIT_OFFSET);\n\t\t\t  invoke_softirq()\n\n\t\t\t\t\tttwu();\n\t\t\t\t\t  spin_lock_irq(\u0026pi-\u003elock)\n\t\t\t\t\t  rcu_read_lock();\n\t\t\t\t\t  /* do stuff */\n\t\t\t\t\t  rcu_read_unlock();\n\t\t\t\t\t    rcu_read_unlock_special()\n\t\t\t\t\t      rcu_report_exp_rnp()\n\t\t\t\t\t        ttwu()\n\t\t\t\t\t          spin_lock_irq(\u0026pi-\u003elock) /* deadlock */\n\n   rcu_read_unlock_special(t);\n\nEd can simply trigger this \u0027easy\u0027 because invoke_softirq() immediately\ndoes a ttwu() of ksoftirqd/# instead of doing the in-place softirq stuff\nfirst, but even without that the above happens.\n\nCure this by also excluding softirqs from the\nrcu_read_unlock_special() handler and ensuring the force_irqthreads\nksoftirqd/# wakeup is done from full softirq context.\n\n[ Alternatively, delaying the -\u003ercu_read_lock_nesting decrement\n  until after the special handling would make the thing more robust\n  in the face of interrupts as well.  And there is a separate patch\n  for that. ]\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReported-and-tested-by: Ed Tomlinson \u003cedt@aei.ca\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c5d753a55ac92e09816d410cd17093813f1a904b",
      "tree": "162c63edcc463e18d50fb5b5be479785f02222c4",
      "parents": [
        "10f39bb1b2c1923ca73e70cb13aeee0e9b822d8f"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Jul 19 15:07:25 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 10:50:11 2011 -0700"
      },
      "message": "sched: Add irq_{enter,exit}() to scheduler_ipi()\n\nEnsure scheduler_ipi() calls irq_{enter,exit} when it does some actual\nwork. Traditionally we never did any actual work from the resched IPI\nand all magic happened in the return from interrupt path.\n\nNow that we do do some work, we need to ensure irq_{enter,exit} are\ncalled so that we don\u0027t confuse things.\n\nThis affects things like timekeeping, NO_HZ and RCU, basically\neverything with a hook in irq_enter/exit.\n\nExplicit examples of things going wrong are:\n\n  sched_clock_cpu() -- has a callback when leaving NO_HZ state to take\n                    a new reading from GTOD and TSC. Without this\n                    callback, time is stuck in the past.\n\n  RCU -- needs in_irq() to work in order to avoid some nasty deadlocks\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "10f39bb1b2c1923ca73e70cb13aeee0e9b822d8f",
      "tree": "2e8349c57b1f0563a27be49410f413b643ded1a9",
      "parents": [
        "be0e1e21ef707be4d16ea6a96ac9997463e4b8d2"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Jul 17 21:14:35 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jul 20 10:50:11 2011 -0700"
      },
      "message": "rcu: protect __rcu_read_unlock() against scheduler-using irq handlers\n\nThe addition of RCU read-side critical sections within runqueue and\npriority-inheritance lock critical sections introduced some deadlock\ncycles, for example, involving interrupts from __rcu_read_unlock()\nwhere the interrupt handlers call wake_up().  This situation can cause\nthe instance of __rcu_read_unlock() invoked from interrupt to do some\nof the processing that would otherwise have been carried out by the\ntask-level instance of __rcu_read_unlock().  When the interrupt-level\ninstance of __rcu_read_unlock() is called with a scheduler lock held\nfrom interrupt-entry/exit situations where in_irq() returns false,\ndeadlock can result.\n\nThis commit resolves these deadlocks by using negative values of\nthe per-task -\u003ercu_read_lock_nesting counter to indicate that an\ninstance of __rcu_read_unlock() is in flight, which in turn prevents\ninstances from interrupt handlers from doing any special processing.\nThis patch is inspired by Steven Rostedt\u0027s earlier patch that similarly\nmade __rcu_read_unlock() guard against interrupt-mediated recursion\n(see https://lkml.org/lkml/2011/7/15/326), but this commit refines\nSteven\u0027s approach to avoid the need for preemption disabling on the\n__rcu_read_unlock() fastpath and to also avoid the need for manipulating\na separate per-CPU variable.\n\nThis patch avoids need for preempt_disable() by instead using negative\nvalues of the per-task -\u003ercu_read_lock_nesting counter.  Note that nested\nrcu_read_lock()/rcu_read_unlock() pairs are still permitted, but they will\nnever see -\u003ercu_read_lock_nesting go to zero, and will therefore never\ninvoke rcu_read_unlock_special(), thus preventing them from seeing the\nRCU_READ_UNLOCK_BLOCKED bit should it be set in -\u003ercu_read_unlock_special.\nThis patch also adds a check for -\u003ercu_read_unlock_special being negative\nin rcu_check_callbacks(), thus preventing the RCU_READ_UNLOCK_NEED_QS\nbit from being set should a scheduling-clock interrupt occur while\n__rcu_read_unlock() is exiting from an outermost RCU read-side critical\nsection.\n\nOf course, __rcu_read_unlock() can be preempted during the time that\n-\u003ercu_read_lock_nesting is negative.  This could result in the setting\nof the RCU_READ_UNLOCK_BLOCKED bit after __rcu_read_unlock() checks it,\nand would also result it this task being queued on the corresponding\nrcu_node structure\u0027s blkd_tasks list.  Therefore, some later RCU read-side\ncritical section would enter rcu_read_unlock_special() to clean up --\nwhich could result in deadlock if that critical section happened to be in\nthe scheduler where the runqueue or priority-inheritance locks were held.\n\nThis situation is dealt with by making rcu_preempt_note_context_switch()\ncheck for negative -\u003ercu_read_lock_nesting, thus refraining from\nqueuing the task (and from setting RCU_READ_UNLOCK_BLOCKED) if we are\nalready exiting from the outermost RCU read-side critical section (in\nother words, we really are no longer actually in that RCU read-side\ncritical section).  In addition, rcu_preempt_note_context_switch()\ninvokes rcu_read_unlock_special() to carry out the cleanup in this case,\nwhich clears out the -\u003ercu_read_unlock_special bits and dequeues the task\n(if necessary), in turn avoiding needless delay of the current RCU grace\nperiod and needless RCU priority boosting.\n\nIt is still illegal to call rcu_read_unlock() while holding a scheduler\nlock if the prior RCU read-side critical section has ever had either\npreemption or irqs enabled.  However, the common use case is legal,\nnamely where then entire RCU read-side critical section executes with\nirqs disabled, for example, when the scheduler lock is held across the\nentire lifetime of the RCU read-side critical section.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d110235d2c331c4f79e0879f51104be79e17a469",
      "tree": "d56bb05a1274f9e7c6a20467d2d04713c185e7ce",
      "parents": [
        "e3589f6c81e4764d32a25d2a2a0afe54fa344f5c"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jul 20 18:42:57 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:54:33 2011 +0200"
      },
      "message": "sched: Avoid creating superfluous NUMA domains on non-NUMA systems\n\nWhen creating sched_domains, stop when we\u0027ve covered the entire\ntarget span instead of continuing to create domains, only to\nlater find they\u0027re redundant and throw them away again.\n\nThis avoids single node systems from touching funny NUMA\nsched_domain creation code and reduces the risks of the new\nSD_OVERLAP code.\n\nRequested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: mahesh@linux.vnet.ibm.com\nCc: benh@kernel.crashing.org\nCc: linuxppc-dev@lists.ozlabs.org\nLink: http://lkml.kernel.org/r/1311180177.29152.57.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e3589f6c81e4764d32a25d2a2a0afe54fa344f5c",
      "tree": "414bf6bdbad3f04f629fa2a72254ea85acf723f4",
      "parents": [
        "9c3f75cbd144014bea6af866a154cc2e73ab2287"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jul 15 10:35:52 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:32:41 2011 +0200"
      },
      "message": "sched: Allow for overlapping sched_domain spans\n\nAllow for sched_domain spans that overlap by giving such domains their\nown sched_group list instead of sharing the sched_groups amongst\neach-other.\n\nThis is needed for machines with more than 16 nodes, because\nsched_domain_node_span() will generate a node mask from the\n16 nearest nodes without regard if these masks have any overlap.\n\nCurrently sched_domains have a sched_group that maps to their child\nsched_domain span, and since there is no overlap we share the\nsched_group between the sched_domains of the various CPUs. If however\nthere is overlap, we would need to link the sched_group list in\ndifferent ways for each cpu, and hence sharing isn\u0027t possible.\n\nIn order to solve this, allocate private sched_groups for each CPU\u0027s\nsched_domain but have the sched_groups share a sched_group_power\nstructure such that we can uniquely track the power.\n\nReported-and-tested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-08bxqw9wis3qti9u5inifh3y@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9c3f75cbd144014bea6af866a154cc2e73ab2287",
      "tree": "2a565f7ff0820269973415c5605e313cfff903b4",
      "parents": [
        "e6625fa48e6580a74b7e700efd7e6463e282810b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Thu Jul 14 13:00:06 2011 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 20 18:32:40 2011 +0200"
      },
      "message": "sched: Break out cpu_power from the sched_group structure\n\nIn order to prepare for non-unique sched_groups per domain, we need to\ncarry the cpu_power elsewhere, so put a level of indirection in.\n\nReported-and-tested-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/n/tip-qkho2byuhe4482fuknss40ad@git.kernel.org\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e6625fa48e6580a74b7e700efd7e6463e282810b",
      "tree": "fdb12c5ca073bd444d9d64dee3f8e34b323aebda",
      "parents": [
        "47126d807ab1ef24e0f02dcca20883e275198fe2",
        "38be7a79f7c99dd01425f19ef6cf744878b6a94b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 22:10:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 22:10:28 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: fix file mode calculation\n"
    },
    {
      "commit": "47126d807ab1ef24e0f02dcca20883e275198fe2",
      "tree": "c17b93db77d14239d0dd2d25b084394a645c9733",
      "parents": [
        "4746efded84d7c5a9c8d64d4c6e814ff0cf9fb42",
        "9daedd833a38edd90cf7baa1b1fcf61c3a0721e3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 22:10:05 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 22:10:05 2011 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc:\n  davinci: DM365 EVM: fix video input mux bits\n  ARM: davinci: Check for NULL return from irq_alloc_generic_chip\n  arm: davinci: Fix low level gpio irq handlers\u0027 argument\n"
    },
    {
      "commit": "4746efded84d7c5a9c8d64d4c6e814ff0cf9fb42",
      "tree": "174f400db27c1a1d9a66407931199aabfdce6bba",
      "parents": [
        "f7b88631a89757d70192044c9d9f2e8d2fc02f2c"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Tue Jul 19 08:49:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 22:09:31 2011 -0700"
      },
      "message": "vmscan: fix a livelock in kswapd\n\nI\u0027m running a workload which triggers a lot of swap in a machine with 4\nnodes.  After I kill the workload, I found a kswapd livelock.  Sometimes\nkswapd3 or kswapd2 are keeping running and I can\u0027t access filesystem,\nbut most memory is free.\n\nThis looks like a regression since commit 08951e545918c159 (\"mm: vmscan:\ncorrect check for kswapd sleeping in sleeping_prematurely\").\n\nNode 2 and 3 have only ZONE_NORMAL, but balance_pgdat() will return 0\nfor classzone_idx.  The reason is end_zone in balance_pgdat() is 0 by\ndefault, if all zones have watermark ok, end_zone will keep 0.\n\nLater sleeping_prematurely() always returns true.  Because this is an\norder 3 wakeup, and if classzone_idx is 0, both balanced_pages and\npresent_pages in pgdat_balanced() are 0.  We add a special case here.\nIf a zone has no page, we think it\u0027s balanced.  This fixes the livelock.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nAcked-by: Mel Gorman \u003cmgorman@suse.de\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7b88631a89757d70192044c9d9f2e8d2fc02f2c",
      "tree": "51da597d7625d2428701be146f233cee047425d9",
      "parents": [
        "e501f29c727dea74e2124c584cbab5fa805d489b"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Jul 19 08:49:25 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 22:09:30 2011 -0700"
      },
      "message": "fs/libfs.c: fix simple_attr_write() on 32bit machines\n\nAssume that /sys/kernel/debug/dummy64 is debugfs file created by\ndebugfs_create_x64().\n\n\t# cd /sys/kernel/debug\n\t# echo 0x1234567812345678 \u003e dummy64\n\t# cat dummy64\n\t0x0000000012345678\n\n\t# echo 0x80000000 \u003e dummy64\n\t# cat dummy64\n\t0xffffffff80000000\n\nA value larger than INT_MAX cannot be written to the debugfs file created\nby debugfs_create_u64 or debugfs_create_x64 on 32bit machine.  Because\nsimple_attr_write() uses simple_strtol() for the conversion.\n\nTo fix this, use simple_strtoll() instead.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e501f29c727dea74e2124c584cbab5fa805d489b",
      "tree": "3a5c3611e7fc3ac454fd498b93a521d7a1e2be05",
      "parents": [
        "3a5c3743f15f27237ab025736a981e2d0c9fdfed",
        "59430262401bec02d415179c43dbe5b8819c09ce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 21:50:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 21:50:21 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  vfs: fix race in rcu lookup of pruned dentry\n  Fix cifs_get_root()\n\n[ Edited the last commit to get rid of a \u0027unused variable \"seq\"\u0027\n  warning due to Al editing the patch.  - Linus ]\n"
    },
    {
      "commit": "59430262401bec02d415179c43dbe5b8819c09ce",
      "tree": "18caba988f1fb650bb804727de06adc73953b2c6",
      "parents": [
        "fec11dd9a0109fe52fd631e5c510778d6cbff6cc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 18 15:43:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 19 21:49:01 2011 -0700"
      },
      "message": "vfs: fix race in rcu lookup of pruned dentry\n\nDon\u0027t update *inode in __follow_mount_rcu() until we\u0027d verified that\nthere is mountpoint there.  Kudos to Hugh Dickins for catching that\none in the first place and eventually figuring out the solution (and\ncatching a braino in the earlier version of patch).\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "be0e1e21ef707be4d16ea6a96ac9997463e4b8d2",
      "tree": "fe53c0731f5c3a6e56e2358eee9b8f17c3af83f4",
      "parents": [
        "7765be2fec0f476fcd61812d5f9406b04c765020"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 21 05:57:18 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jul 19 21:38:53 2011 -0700"
      },
      "message": "rcu: Streamline code produced by __rcu_read_unlock()\n\nGiven some common flag combinations, particularly -Os, gcc will inline\nrcu_read_unlock_special() despite its being in an unlikely() clause.\nUse noinline to prohibit this misoptimization.\n\nIn addition, move the second barrier() in __rcu_read_unlock() so that\nit is not on the common-case code path.  This will allow the compiler to\ngenerate better code for the common-case path through __rcu_read_unlock().\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Mathieu Desnoyers \u003cmathieu.desnoyers@efficios.com\u003e\n"
    },
    {
      "commit": "7765be2fec0f476fcd61812d5f9406b04c765020",
      "tree": "e89ccb3fbd5655090b05f608f8e1d39924f23a9a",
      "parents": [
        "131906b0062ddde7f85bbe67754983c754648bd8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Jul 14 12:24:11 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jul 19 21:38:52 2011 -0700"
      },
      "message": "rcu: Fix RCU_BOOST race handling current-\u003ercu_read_unlock_special\n\nThe RCU_BOOST commits for TREE_PREEMPT_RCU introduced an other-task\nwrite to a new RCU_READ_UNLOCK_BOOSTED bit in the task_struct structure\u0027s\n-\u003ercu_read_unlock_special field, but, as noted by Steven Rostedt, without\ncorrectly synchronizing all accesses to -\u003ercu_read_unlock_special.\nThis could result in bits in -\u003ercu_read_unlock_special being spuriously\nset and cleared due to conflicting accesses, which in turn could result\nin deadlocks between the rcu_node structure\u0027s -\u003elock and the scheduler\u0027s\nrq and pi locks.  These deadlocks would result from RCU incorrectly\nbelieving that the just-ended RCU read-side critical section had been\npreempted and/or boosted.  If that RCU read-side critical section was\nexecuted with either rq or pi locks held, RCU\u0027s ensuing (incorrect)\ncalls to the scheduler would cause the scheduler to attempt to once\nagain acquire the rq and pi locks, resulting in deadlock.  More complex\ndeadlock cycles are also possible, involving multiple rq and pi locks\nas well as locks from multiple rcu_node structures.\n\nThis commit fixes synchronization by creating -\u003ercu_boosted field in\ntask_struct that is accessed and modified only when holding the -\u003elock\nin the rcu_node structure on which the task is queued (on that rcu_node\nstructure\u0027s -\u003eblkd_tasks list).  This results in tasks accessing only\ntheir own current-\u003ercu_read_unlock_special fields, making unsynchronized\naccess once again legal, and keeping the rcu_read_unlock() fastpath free\nof atomic instructions and memory barriers.\n\nThe reason that the rcu_read_unlock() fastpath does not need to access\nthe new current-\u003ercu_boosted field is that this new field cannot\nbe non-zero unless the RCU_READ_UNLOCK_BLOCKED bit is set in the\ncurrent-\u003ercu_read_unlock_special field.  Therefore, rcu_read_unlock()\nneed only test current-\u003ercu_read_unlock_special: if that is zero, then\ncurrent-\u003ercu_boosted must also be zero.\n\nThis bug does not affect TINY_PREEMPT_RCU because this implementation\nof RCU accesses current-\u003ercu_read_unlock_special with irqs disabled,\nthus preventing races on the !SMP systems that TINY_PREEMPT_RCU runs on.\n\nMaybe-reported-by: Dave Jones \u003cdavej@redhat.com\u003e\nMaybe-reported-by: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "131906b0062ddde7f85bbe67754983c754648bd8",
      "tree": "1b92eacb707befb294b4d9985f10aa44715cba16",
      "parents": [
        "b0d304172f49061b4ff78f9e2b02719ac69c8a7e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Jul 17 02:05:49 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jul 19 21:38:51 2011 -0700"
      },
      "message": "rcu: decrease rcu_report_exp_rnp coupling with scheduler\n\nPREEMPT_RCU read-side critical sections blocking an expedited grace\nperiod invoke rcu_report_exp_rnp().  When the last such critical section\nhas completed, rcu_report_exp_rnp() invokes the scheduler to wake up the\ntask that invoked synchronize_rcu_expedited() -- needlessly holding the\nroot rcu_node structure\u0027s lock while doing so, thus needlessly providing\na way for RCU and the scheduler to deadlock.\n\nThis commit therefore releases the root rcu_node structure\u0027s lock before\ncalling wake_up().\n\nReported-by: Ed Tomlinson \u003cedt@aei.ca\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "38be7a79f7c99dd01425f19ef6cf744878b6a94b",
      "tree": "5f31b24e4ecca2564ed01b212e3193ba7b2ed4b6",
      "parents": [
        "d7f124f129a6aea99938e0d4172c741b56fefeda"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 19 11:25:04 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Jul 19 11:25:04 2011 -0700"
      },
      "message": "ceph: fix file mode calculation\n\nopen(2) must always include one of O_RDONLY, O_WRONLY, or O_RDWR.  No need\nfor any O_APPEND special case.\n\nPassing O_WRONLY|O_RDWR is undefined according to the man page, but the\nLinux VFS interprets this as O_RDWR, so we\u0027ll do the same.\n\nThis fixes open(2) with flags O_RDWR|O_APPEND, which was incorrectly being\ntranslated to readonly.\n\nReported-by: Fyodor Ustinov \u003cufm@ufm.su\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9daedd833a38edd90cf7baa1b1fcf61c3a0721e3",
      "tree": "68d1b90f6fbd0eb83c25a29d83c359252a91ca01",
      "parents": [
        "33e1e5e317b0fc78ac6588ec8aa40005bcddd7ce"
      ],
      "author": {
        "name": "Jon Povey",
        "email": "jon.povey@racelogic.co.uk",
        "time": "Tue Jul 19 12:30:11 2011 +0900"
      },
      "committer": {
        "name": "Sekhar Nori",
        "email": "nsekhar@ti.com",
        "time": "Tue Jul 19 14:00:29 2011 +0530"
      },
      "message": "davinci: DM365 EVM: fix video input mux bits\n\nVideo input mux settings for tvp7002 and imager inputs were swapped.\nComment was correct.\n\nTested on EVM with tvp7002 input.\n\nSigned-off-by: Jon Povey \u003cjon.povey@racelogic.co.uk\u003e\nAcked-by: Manjunath Hadli \u003cmanjunath.hadli@ti.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Sekhar Nori \u003cnsekhar@ti.com\u003e\n"
    },
    {
      "commit": "33e1e5e317b0fc78ac6588ec8aa40005bcddd7ce",
      "tree": "001bb1f8b9a2072e3de8dc6ae54f82c8b3f6d4cc",
      "parents": [
        "f299bb9527abfa6ee45a5e26288b5e3a619f01d6"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Sat Jul 16 22:39:35 2011 -0700"
      },
      "committer": {
        "name": "Sekhar Nori",
        "email": "nsekhar@ti.com",
        "time": "Tue Jul 19 12:49:00 2011 +0530"
      },
      "message": "ARM: davinci: Check for NULL return from irq_alloc_generic_chip\n\nAvoid NULL dereference of irq_alloc_generic_chip return in low\nmemory conditions.\n\nSigned-off-by: Todd Poynor \u003ctoddpoynor@google.com\u003e\nSigned-off-by: Sekhar Nori \u003cnsekhar@ti.com\u003e\n"
    },
    {
      "commit": "e28f87116503f796aba4fb27d81e2c3d81966174",
      "tree": "9fb1ef4243707e686a3c1a512931942562267e64",
      "parents": [
        "435793dfb8aec7b2e19f72d5bce8a22fd0b57839"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Mon Jul 18 13:11:49 2011 -0700"
      },
      "committer": {
        "name": "Keith Packard",
        "email": "keithp@keithp.com",
        "time": "Mon Jul 18 14:02:06 2011 -0700"
      },
      "message": "drm/i915: Fix unfenced alignment on pre-G33 hardware\n\nAlign unfenced buffers on older hardware to the power-of-two object\nsize.  The docs suggest that it should be possible to align only to a\npower-of-two tile height, but using the already computed fence size is\neasier and always correct. We also have to make sure that we unbind\nmisaligned buffers upon tiling changes.\n\nIn order to prevent a repetition of this bug, we change the interface\nto the alignment computation routines to force the caller to provide\nthe requested alignment and size of the GTT binding rather than assume\nthe current values on the object.\n\nReported-and-tested-by: Sitosfe Wheeler \u003csitsofe@yahoo.com\u003e\nBugzilla: https://bugs.freedesktop.org/show_bug.cgi?id\u003d36326\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nCc: stable@kernel.org\nReviewed-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Keith Packard \u003ckeithp@keithp.com\u003e\n"
    },
    {
      "commit": "3a5c3743f15f27237ab025736a981e2d0c9fdfed",
      "tree": "13fc4d89901c2e2e187cfb44ab904bc587b0ab9c",
      "parents": [
        "dc6b845044ccb7e9e6f3b7e71bd179b3cf0223b6",
        "680ba7ca630f5816af9c80a946520be76b2167a5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 18 13:29:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 18 13:29:26 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  pppoe: Must flush connections when MAC address changes too.\n  include/linux/sdla.h: remove the prototype of sdla()\n  tulip: dmfe: Remove old log spamming pr_debugs\n"
    },
    {
      "commit": "680ba7ca630f5816af9c80a946520be76b2167a5",
      "tree": "e9b80b6e771d3b8e40398755e0743891f9191ab3",
      "parents": [
        "a07c7964a29b6dc515b120f1e1c223ac2f8666f5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 11:48:28 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 11:48:28 2011 -0700"
      },
      "message": "pppoe: Must flush connections when MAC address changes too.\n\nKernel bugzilla: 39252\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a07c7964a29b6dc515b120f1e1c223ac2f8666f5",
      "tree": "cf45e084be0437ca921c0623569932bf1d142c1d",
      "parents": [
        "0b8f6273eb6fd0611849d6fb432151f04e042434"
      ],
      "author": {
        "name": "WANG Cong",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Sat Jul 16 22:22:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 11:06:03 2011 -0700"
      },
      "message": "include/linux/sdla.h: remove the prototype of sdla()\n\n`make headers_check` complains that\n\nlinux-2.6/usr/include/linux/sdla.h:116: userspace cannot reference\nfunction or variable defined in the kernel\n\nthis is due to that there is no such a kernel function,\n\nvoid sdla(void *cfg_info, char *dev, struct frad_conf *conf, int quiet);\n\nI don\u0027t know why we have it in a kernel header, so remove it.\n\nSigned-off-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "fec11dd9a0109fe52fd631e5c510778d6cbff6cc"
}
