)]}'
{
  "log": [
    {
      "commit": "07bf84aaf736781a283b1bd36eaa911453b14574",
      "tree": "dc20d6d15dd5e90e25ec93146e87e3272e597395",
      "parents": [
        "47c88ffff73d27425be59b34a6d5a91518b5ebed"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Apr 25 12:12:52 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Apr 26 17:48:42 2012 +0100"
      },
      "message": "ASoC: dpcm: Add bespoke trigger()\n\nSome on SoC DSP HW is very tightly coupled with DMA and DAI drivers. It\u0027s\nnecessary to allow some flexability wrt to PCM operations here so that we\ncan define a bespoke DPCM trigger() PCM operation for such HW.\n\nA bespoke DPCM trigger() allows exact ordering and timing of component\ntriggering by allowing a component driver to manage the final enable\nand disable configurations without adding extra complexity to other\ncomponent drivers. e.g. The McPDM DAI and ABE are tightly coupled on\nOMAP4 so we have a bespoke trigger to manage the trigger to improve\nperformance and reduce complexity when triggering new McPDM BEs.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "47c88ffff73d27425be59b34a6d5a91518b5ebed",
      "tree": "811a0b42807f3d061a2fa682f1e25e4210407fa1",
      "parents": [
        "618dae11f809aaccd05710aa8cee8c46a9cef1a7"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Apr 25 12:12:53 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Apr 26 17:48:19 2012 +0100"
      },
      "message": "ASoC: dpcm: Add API for DAI link substream and runtime lookup\n\nSome component drivers will need to be able to look up their\nDAI link substream and RTD data. Provide a mechanism for this.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "f86dcef87b771935c223334324a93c1d71f7a84c",
      "tree": "06af2bd5a2da54c323acddace8a603bf9475c489",
      "parents": [
        "01d7584cd2e5a93a2b959c9dddaa0d93ec205404"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Apr 25 12:12:50 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Apr 26 17:48:19 2012 +0100"
      },
      "message": "ASoC: dpcm: Add debugFS support for DPCM\n\nAdd debugFS files for DPCM link management information.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "01d7584cd2e5a93a2b959c9dddaa0d93ec205404",
      "tree": "1ed8fe39b490723195812dd562536e362b8027b0",
      "parents": [
        "f20c2cb9995eb8c5cd7084e11af7b54522ef0ab9"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Apr 25 12:12:49 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Apr 26 17:48:19 2012 +0100"
      },
      "message": "ASoC: dpcm: Add Dynamic PCM core operations.\n\nThe Dynamic PCM core allows digital audio data to be dynamically\nrouted between different ALSA PCMs and DAI links on SoC CPUs with\non chip DSP devices. e.g. audio data could be played on pcm:0,0 and\nrouted to any (or all) SoC DAI links.\n\nDynamic PCM introduces the concept of Front End (FE) PCMs and Back\nEnd (BE) PCMs. The FE PCMs are normal ALSA PCM devices except that\nthey can dynamically route digital audio data to any supported BE\nPCM. A BE PCM has no ALSA device, but represents a DAI link and it\u0027s\nsubstream and audio HW parameters.\n\ne.g. pcm:0,0 routing digital data to 2 external codecs.\n\nFE pcm:0,0  ----\u003e BE (McBSP.0) ----\u003e CODEC 0\n             +--\u003e BE (McPDM.0) ----\u003e CODEC 1\n\ne.g. pcm:0,0 and pcm:0,1 routing digital data to 1 external codec.\n\nFE pcm:0,0 ---\n             +--\u003e BE (McBSP.0) ----\u003e CODEC\nFE pcm:0,1 ---\n\nThe digital audio routing is controlled by the usual ALSA method\nof mixer kcontrols. Dynamic PCM uses a DAPM graph to work out the\nrouting based upon the mixer settings and configures the BE PCMs\nbased on routing and the FE HW params.\n\nDPCM is designed so that most ASoC component drivers will need no\nmodification at all. It\u0027s intended that existing CODEC, DAI and\nplatform drivers can be used in DPCM based audio devices without\nany changes. However, there will be some cases where minor changes\nare required (e.g. for very tightly coupled HW) and there are\nhelpers to support this too.\n\nSomethimes the HW params of a FE and BE do not match or are\nincompatible, so in these cases the machine driver can reconfigure\nany hw_params and make any DSP perform sample rate / format conversion.\n\nThis patch adds the core DPCM code and contains :-\n\n o The FE and BE PCM operations.\n o FE and BE DAI link support.\n o FE and BE PCM creation.\n o BE support API.\n o BE and FE link management.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "dd7b10b30c40dddb9750926d78cfe89c0cd8434d",
      "tree": "84084ba083aa317576dd37d62070fd160c6e07de",
      "parents": [
        "4183eed288f31c3b9142476915e842f879f36b8e"
      ],
      "author": {
        "name": "Kristoffer KARLSSON",
        "email": "kristoffer.karlsson@stericsson.com",
        "time": "Fri Apr 20 11:32:44 2012 +0200"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Apr 23 20:05:06 2012 +0100"
      },
      "message": "ASoC: core: Add strobe control\n\nAdded support for a control that strobes a bit in\na register to high then back to low (or the inverse).\n\nThis is typically useful for hardware that requires\nstrobing a singe bit to trigger some functionality\nand where exposing the bit in a normal single control\nwould require the user to first manually set then\nagain unset the bit again for the strobe to trigger.\n\nAdded convenience macro.\n\nSOC_SINGLE_STROBE\n\nAdded accessor implementations.\n\nsnd_soc_get_strobe\nsnd_soc_put_strobe\n\nSigned-off-by: Kristoffer KARLSSON \u003ckristoffer.karlsson@stericsson.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "4183eed288f31c3b9142476915e842f879f36b8e",
      "tree": "136c22b92898e96e370776adcbe3656aa029f669",
      "parents": [
        "c1a4ecd921229a410b9a71cb7877250e85c26c1c"
      ],
      "author": {
        "name": "Kristoffer KARLSSON",
        "email": "kristoffer.karlsson@stericsson.com",
        "time": "Fri Apr 20 11:32:13 2012 +0200"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Apr 23 20:05:06 2012 +0100"
      },
      "message": "ASoC: core: Add signed multi register control\n\nAdded control type that can span multiple consecutive codec registers\nforming a single signed value in a MSB/LSB manner.\nThe control dynamically adjusts to the register word size configured\nin driver.\n\nAdded convenience macro.\n\nSOC_SINGLE_XR_SX\n\nAdded accessor implementations.\n\nsnd_soc_info_xr_sx\nsnd_soc_get_xr_sx\nsnd_soc_put_xr_sx\n\nSigned-off-by: Kristoffer KARLSSON \u003ckristoffer.karlsson@stericsson.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "c74184ed30ecce2a5e9ae9aa22cb5e3942e0c7c7",
      "tree": "6d0043cf3b0b7734b8b98dd0d632309d94969c47",
      "parents": [
        "054880febeb890b24d705240384856ea6b3ccf7b"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Apr 04 22:12:09 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Apr 16 19:36:29 2012 +0100"
      },
      "message": "ASoC: core: Support transparent CODEC\u003c-\u003eCODEC DAI links\n\nRather than having the user half start a stream but avoid any DMA to\ntrigger data flow on links which don\u0027t pass through the CPU create a\nDAPM route between the two DAI widgets using a hw_params configuration\nprovided by the machine driver with the new \u0027params\u0027 member of the\ndai_link struct.  If no configuration is provided in the dai_link then\nuse the old style even for CODEC\u003c-\u003eCODEC links to avoid breaking\nsystems.\n\nThis greatly simplifies the userspace usage of such links, making them\nas simple as analogue connections with the stream configuration being\ncompletely transparent to them.\n\nThis is achieved by defining a new dai_link widget type which is created\nwhen CODECs are linked and triggering the configuration of the link via\nthe normal PCM operations from there.  It is expected that the bias\nlevel callbacks will be used for clock configuration.\n\nCurrently only the DAI format, rate and channel count can be configured\nand currently the only DAI operations which can be called are hw_params\nand digital_mute().  This corresponds well to the majority of CODEC\ndrivers which only use other callbacks for constraint setting but there\nis obviously much room for extension here.  We can\u0027t simply call\nhw_params() on startup as things like the system clocking configuration\nmay change at runtime and in future it will be desirable to offer some\nconfigurability of the link parameters.\n\nAt present we are also restricted to a single DAPM link for the entire\nDAI.  Once we have better support for channel mapping it would also be\ndesirable to extend this feature so that we can propagate per-channel\npower state over the link.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "1d99f2436d0d1c7741d6dfd9d27b5376cdbbca40",
      "tree": "f3fc73ca59b2d3876b429de52c66e4c2e6294a78",
      "parents": [
        "152ad442315517e6275efe6c142c06cb8aced6dd"
      ],
      "author": {
        "name": "Brian Austin",
        "email": "brian.austin@cirrus.com",
        "time": "Fri Mar 30 10:43:55 2012 -0500"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Apr 03 11:43:23 2012 +0100"
      },
      "message": "ASoC: core: Rework SOC_DOUBLE_R_SX_TLV add SOC_SINGLE_SX_TLV\n\nSome codecs namely Cirrus Logic Codecs have a way of wrapping the dB scale around 0dB without 0dB being in the middle.\n\nRework of SOC_DOUBLE_R_SX_TLV to be more consistent with other asoc tlv macros.\nAdd single register macro : SOC_SINGLE_SX_TLV.\nUse snd_soc_info_volsw for .info\nUse snd_soc_get_volsw_sx, snd_soc_put_volsw_sx for single and double.\n\nkcontrols for CS42L51 and CS42L73 are adjusted to these new TLV Macros.\n\nThe max value is determined by: (number of steps) +1 for 0dB +max from codec datasheet.\n\nSigned-off-by: Brian Austin \u003cbrian.austin@cirrus.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "b19e6e7b763c7144bfe2ceccf988b64d66d6dd0a",
      "tree": "c80e0ad8c6f7f3d857345f7016627e7bb168ac76",
      "parents": [
        "2667b4b8bef8598917adb1b4af46ed2b7d4fa0d7"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 21:18:39 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Apr 01 11:28:23 2012 +0100"
      },
      "message": "ASoC: core: Use driver core probe deferral\n\nIn version 3.4 the driver core acquired probe deferral which is a core way\nof doing essentially the same thing as ASoC has been doing since forever\nto make sure that all the devices needed to make up the card are present\nwithout needing open coding in the subsystem.\n\nMake basic use of this probe deferral mechanism for the cards, removing the\nneed to handle partially instantiated cards. We should be able to remove\neven more code than this, though some of the checks we\u0027re currently doing\nshould stay since they\u0027re about things like suppressing unneeded DAPM runs\nrather than deferring probes.\n\nIn order to avoid robustness issues with our teardown paths (which do need\nquite a bit of TLC) add a check for aux_devs prior to attempting to set\nthings up, this means that we\u0027ve got a reasonable idea that everything will\nbe there before we start. As with the removal of partial instantiation\nsupport more work will be needed to make this work neatly.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "2667b4b8bef8598917adb1b4af46ed2b7d4fa0d7",
      "tree": "2a48749a51f1bcac242d2b3a5af1445de93089b5",
      "parents": [
        "ecd1732f0118f3bc47429ceffa01593ec16c364d"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Mar 12 14:07:49 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Apr 01 11:28:23 2012 +0100"
      },
      "message": "ASoC: jack: Push locking for jacks down to the jack\n\nCurrently operations on jack reporting take the CODEC mutex both to protect\nthe current jack status and also to protect the DAPM run which is triggered\non status updates. Since the addition of a DAPM-specific lock we no longer\nneed to worry about locking DAPM as it has its own finer grained lock so\ncreate a per jack lock to take care of the jack status.\n\nThis is both cleaner where the jack isn\u0027t specifically associated with a\nCODEC and clearer as it\u0027s much more obvious what the lock is protecting.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "6874a918de503997164e76c540eaf44776fd5296",
      "tree": "81f38716f518c18429bf4ea2237a0543912fc0ba",
      "parents": [
        "d9b0951b96e4ee0d22fae0a30f0b53354ca541cd"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Fri Mar 09 12:02:07 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Apr 01 11:28:22 2012 +0100"
      },
      "message": "ASoC: core: Rename card mutex subclass to better align with usage\n\nChange SND_SOC_CARD_CLASS_PCM to SND_SOC_CARD_CLASS_RUNTIME to better\ndescribe all uses for this mutex subclass and align with DAPM too.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "a73fb2df01866b772a48fab93401fe3edbe0b38d",
      "tree": "466816bbeb06fc5d3de00f20b5642ef9877d21fa",
      "parents": [
        "01b9d99a1f45befa604543ead29f44fdb0878844"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Mar 07 10:38:26 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Apr 01 11:28:21 2012 +0100"
      },
      "message": "ASoC: dapm: Use DAPM mutex for DAPM ops instead of codec mutex\n\nIt has now become necessary to use a DAPM mutex instead of the codec\nmutex to lock the DAPM operations. This is due to the recent multi\ncomponent support and forth coming Dynamic PCM updates.\n\nCurrently we lock DAPM operations with the codec mutex of the calling\nRTD context. However, DAPM operations can span the whole card context\nand all components.\n\nThis patch updates the DAPM operations that use the codec mutex to\nnow use the DAPM mutex PCM subclass for all DAPM ops.\n\nWe also add a mutex subclass for DAPM init and PCM operations.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "01b9d99a1f45befa604543ead29f44fdb0878844",
      "tree": "e71ae8fc98724700968b18d6756091fb3f54cf3e",
      "parents": [
        "253322c18830965331e54ee33c5e8064a2f15717"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Wed Mar 07 10:38:25 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Apr 01 11:28:21 2012 +0100"
      },
      "message": "ASoC: core: Add card mutex locking subclasses\n\nThis is the first part of a change that is intended to improve\nASoC locking protection for DAPM and PCM operations.\n\nThis part of the series adds a mutex class for the soc_card mutex. The\nSND_SOC_CARD_CLASS_INIT class is used for card initialisation only whilst the\nSND_SOC_CARD_CLASS_PCM class is used for the forth coming Dynamic\nPCM operations. The new mutex classes are required otherwise we will see a false\npositive mutex deadlock warning between the card initialisation and the PCM\noperations (something that would never deadlock in real life).\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "cc22d37e7f5e1745658760660f03793913f43e49",
      "tree": "a5ca907a7c825fc69f70b266d00bd6966a20b517",
      "parents": [
        "c25cd1543986e7c16c7ddf738748ccd530a18268"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Tue Mar 06 18:16:18 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Mar 06 20:07:00 2012 +0000"
      },
      "message": "ASoC: core: Add platform component mutex\n\nAdd mutex support for platform IO operations. e.g. can be used\nfor platform DAPM widget IO ops.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "f831b055ececb3172f7fe498db5ca1fb43ff644d",
      "tree": "cf0209339df80b83065986fe4db7f1ad61b9a154",
      "parents": [
        "71d08516b80638a69d5efea4e8cb832c053f9dd9"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 17 16:20:33 2012 -0800"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Feb 21 19:34:48 2012 +0000"
      },
      "message": "ASoC: core: Add support for masking out parts of coefficient blocks\n\nChip designers frequently include things like the enable and disable\ncontrols for algorithms in the register blocks which also hold the\ncoefficients. Since it\u0027s desirable to split out the enable/disable\ncontrol from userspace the plain SND_SOC_BYTES() isn\u0027t optimal for\nthese devices.\n\nAdd a SND_SOC_BYTES_MASK() which allows a bitmask from the first word\nof the block to be excluded from the control. This supports the needs\nof devices I\u0027ve looked at and lets us have a reasonably simple API.\nFurther controls can be added in future if that\u0027s needed.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "71d08516b80638a69d5efea4e8cb832c053f9dd9",
      "tree": "5f3c1497024c4669a1443fd30263ed81b591aa15",
      "parents": [
        "2b4bdee2920fb3894f9116f76343f8b31f9e4da8"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Oct 10 18:31:26 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Feb 21 19:34:48 2012 +0000"
      },
      "message": "ASoC: core: Add SND_SOC_BYTES control for coefficient blocks\n\nAllow devices to export blocks of registers to the application layer,\nintended for use for reading and writing coefficient data which can\u0027t\nusefully be worked with by the kernel at runtime (for example, due to\nrequiring complex and expensive calculations or being the results of\ncallibration procedures). Currently drivers are using platform data to\nprovide configurations for coefficient blocks which isn\u0027t at all\nconvenient for runtime management or configuration development.\n\nCurrently only devices using regmap are supported, an error will be\ngenerated for any attempt to work with a byte control on a non-regmap\ndevice. There\u0027s no fundamental block to other devices so support could\nbe added if required.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "3056557f3b2387d4ac99ca8af14956cd2bf003c2",
      "tree": "50e637171d2a717c7e3993d5ae6b684e3cebc1bf",
      "parents": [
        "7bd3a6f34cdd4b1776ca34d0b6fab216e9323759"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 16 17:07:42 2012 -0800"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 17 08:10:06 2012 -0800"
      },
      "message": "ASoC: dapm: Constify lots of names that are never modified\n\nNeater and avoids warnings when used in other places where const strings\nare desired.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "731f1ab290ca1e59430ab222290d379222eb38a5",
      "tree": "aacd52320691daeb0e41e12336b35a8257931462",
      "parents": [
        "48a8c3943d1010c81d8144cc773f81c30bf59246"
      ],
      "author": {
        "name": "Sebastien Guiriec",
        "email": "s-guiriec@ti.com",
        "time": "Wed Feb 15 15:25:31 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Feb 15 08:05:18 2012 -0800"
      },
      "message": "ASoC: core: add platform DAPM debugfs support\n\nAllow platform widgets to be visible in debugfs like codec widgets.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "5124e69e2b31f4ded7ed9ac47b18804b7847f677",
      "tree": "ce05bed47c03cd472dfe9c8679f7b8bd4466c8d9",
      "parents": [
        "b5d1d036eadb30996184cc335c798219dd5922a9"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Feb 08 13:20:50 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 09 10:42:56 2012 +0000"
      },
      "message": "ASoC: core: Allow CODECs to set ignore_pmdown_time in the driver struct\n\nThis is usually not a use case dependant flag anyway.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "022658beab5581ecc1d325d60857f2fc464da22f",
      "tree": "c7617e257cf492990c369197d5e144ac15225fd4",
      "parents": [
        "83344027cacf1944fe180907fa98ee4116ef33ea"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Fri Feb 03 17:43:09 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Feb 04 12:40:11 2012 +0000"
      },
      "message": "ASoC: core: Add support for DAI and machine kcontrols.\n\nCurrently ASoC can only add kcontrols using codec and platform component device\nhandles. It\u0027s also desirable to add kcontrols for DAIs (i.e. McBSP) and for\nSoC card machine drivers too. This allows the kcontrol to have a direct handle to\nthe parent ASoC component DAI/SoC Card/Platform/Codec device and hence easily\nget it\u0027s private data.\n\nThis change makes snd_soc_add_controls() static and wraps it in the folowing\ncalls (card and dai are new) :-\n\nsnd_soc_add_card_controls()\nsnd_soc_add_codec_controls()\nsnd_soc_add_dai_controls()\nsnd_soc_add_platform_controls()\n\nThis patch also does a lot of small mechanical changes in individual codec drivers\nto replace snd_soc_add_controls() with snd_soc_add_codec_controls().\n\nIt also updates the McBSP DAI driver to use snd_soc_add_dai_controls().\n\nFinally, it updates the existing machine drivers that register controls to either :-\n\n1) Use snd_soc_add_card_controls() where no direct codec control is required.\n2) Use snd_soc_add_codec_controls() where there is direct codec control.\n\nIn the case of 1) above we also update the machine drivers to get the correct\ncomponent data pointers from the kcontrol (rather than getting the machine pointer\nvia the codec pointer).\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "8a713da8d1ce9ceaf738b32e2b24f22d4432f886",
      "tree": "c0fb13d21f18ed19c82e4d9214d440e34b0c474b",
      "parents": [
        "278047fd654dde7ed95c8604fcefeeacc5c0bb2b"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Dec 03 12:33:55 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Jan 21 21:15:38 2012 +0000"
      },
      "message": "ASoC: Use regmap update bits operation for drivers using regmap\n\nIf a driver is using regmap directly ensure that we\u0027re coherent with\nnon-ASoC register updates by using the regmap API directly to do our\nread/modify/write cycles. This will bypass the ASoC cache but drivers\nusing regmap directly should not be using the ASoC cache.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "58ba9b25454fe9b6ded804f69cb7ed4500b685fc",
      "tree": "a1fe526353caf7c79cf21c8763e9e86117c981d4",
      "parents": [
        "5f52ee48751e63ed555b56a82db446745f60bc82"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jan 16 18:38:51 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jan 20 13:58:29 2012 +0000"
      },
      "message": "ASoC: Allow drivers to specify how many bits are significant on a DAI\n\nMost devices accept data in formats that don\u0027t correspond directly to\ntheir internal format. ALSA allows us to set a msbits constraint which\ntells userspace about this in case it finds it useful (for example, in\norder to avoid wasting effort dithering bits that will be ignored when\nraising the sample size of data) so provide a mechanism for drivers to\nspecify the number of bits that are actually significant on a DAI and\nadd the appropriate constraints along with all the others.\n\nThis is done slightly awkwardly as the constraint is specified per sample\nsize - we loop over every possible sample size, including ones that the\ndevice doesn\u0027t support and including ones that have fewer bits than are\nactually used, but this is harmless as the upper layers do the right thing\nin these cases.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "36ae1a96c4dcb0f6581d595cc5d43cf3a7e648c7",
      "tree": "f0de43670060374bf9f2e81a4c2fcb65dc821545",
      "parents": [
        "e4e9e05409280b50003280afffe27ade21480dd7"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jan 06 17:12:45 2012 -0800"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jan 10 14:53:56 2012 -0800"
      },
      "message": "ASoC: Dynamically allocate the rtd device for a non-empty release()\n\nThe device model needs a release() function so it can free devices when\nthey become dereferenced.  Do that for rtds.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "354a21423d09c2a6afe0fcea9dbbda9cdada6e45",
      "tree": "b673c242dd040bbb392edaa1236783e17270ec37",
      "parents": [
        "204e418bd2826423f7bacc6d4e15af8b0649e149"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Dec 22 12:16:39 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Dec 22 17:34:25 2011 +0000"
      },
      "message": "ASoC: Declare soc_new_pcm() properly\n\nEnsure that everything is seeing the same declaration by moving it to\na header file rather than putting the declaration in soc-core.c\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "5a5049637cf08c4c17805be679c19544bb27fb92",
      "tree": "3519d679c700f79bdfddc8d2779801415ea83b18",
      "parents": [
        "82150101df27c0f3d315b597081b9fa0e23cd002"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Dec 21 10:40:59 2011 -0700"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Dec 22 11:00:21 2011 +0000"
      },
      "message": "ASoC: Allow DAI links to be specified using device tree nodes\n\nDAI link endpoints and platform (DMA) devices are currently specified\nby name. When instantiating sound cards from device tree, it may be more\nconvenient to refer to these devices by phandle in the device tree, and\nfor code to describe DAI links using the \"struct device_node *\"\n(\"of_node\") those phandles map to.\n\nThis change adds new fields to snd_soc_dai_link which can \"name\" devices\nusing of_node, enhances soc_bind_dai_link() to allow binding based on\nof_node, and enhances snd_soc_register_card() to ensure that illegal\ncombinations of name and of_node are not used.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "a4a54dd5bb1bb01010f46147d6d8b452255957bf",
      "tree": "f4f101cd8ceb909c32ebc0c6112446d2f483327d",
      "parents": [
        "bec4fa05e25f7e78ec67df389539acc6bb352a2a"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Mon Dec 12 15:55:35 2011 -0700"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Dec 20 01:05:34 2011 +0000"
      },
      "message": "ASoC: Add utility to parse DAPM routes from device tree\n\nImplement snd_soc_of_parse_audio_routing(), a utility function that can\nparses a simple DAPM route table from device tree.The machine driver\nspecifies the DT property to use, since this is binding-specific.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "bec4fa05e25f7e78ec67df389539acc6bb352a2a",
      "tree": "ddde93b4ca9604bf586bde2381cdb8c0dffd3f07",
      "parents": [
        "6048ef768e7bec7e1e17f48fe8d5360021928b4a"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Mon Dec 12 15:55:34 2011 -0700"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Dec 20 01:05:34 2011 +0000"
      },
      "message": "ASoC: Add utility to set a card\u0027s name from device tree\n\nImplement snd_soc_of_parse_card_name(), a utility function that sets a\ncard\u0027s name from device tree. The machine driver specifies the DT\nproperty to use, since this is binding-specific.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "1dfb6efd87d63d2efef6e985770d5dd642f83146",
      "tree": "6f2ec639c914860a0f77ffe80e8dad1cc83ca0d7",
      "parents": [
        "cae59c7b2185856522822e40260174c088ca5b11"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Nov 10 17:39:40 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Dec 13 00:20:28 2011 +0800"
      },
      "message": "ASoC: Remove rbtree register cache\n\nAll users now use regmap directly so delete the ASoC version of the code.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "84b315ee893676e9a9ce8ac42ab5ef44e2af3ee1",
      "tree": "c781bee632abab75bcf9780b7efa4ba7ee5e750c",
      "parents": [
        "36c6b54cb0ec1908bc98c4d2d3b8584219f4d532"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Fri Dec 02 10:18:28 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Dec 02 10:32:03 2011 +0000"
      },
      "message": "ASoC: Drop unused state parameter from CODEC suspend callback\n\nThe existence of this parameter is purely historical. None of the CODEC drivers\nuses it and we always pass in the same value anyway, so it should be safe to\nremove it.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "1633281b79fd276f1c7c2fb37c3b97da74e42ae5",
      "tree": "be8fe06be86f436efb3ddece45338e28a394ccdb",
      "parents": [
        "d4a2eca781bfd7323bfd98dbc7fd63c7d613fef2"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Nov 23 12:42:04 2011 -0700"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 23 21:34:54 2011 +0000"
      },
      "message": "ASoC: Implement fully_routed card property\n\nA card is fully routed if the DAPM route table describes all connections on\nthe board.\n\nWhen a card is fully routed, some operations can be automated by the ASoC\ncore. The first, and currently only, such operation is described below, and\nimplemented by this patch.\n\nCodecs often have a large number of external pins, and not all of these pins\nwill be connected on all board designs. Some machine drivers therefore call\nsnd_soc_dapm_nc_pin() for all the unused pins, in order to tell the ASoC core\nnever to activate them.\n\nHowever, when a card is fully routed, the information needed to derive the\nset of unused pins is present in card-\u003edapm_routes. In this case, have\nthe ASoC core automatically call snd_soc_dapm_nc_pin() for each unused\ncodec pin.\n\nThis has been tested with soc/tegra/tegra_wm8903.c and soc/tegra/trimslice.c.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "c9016a7937122b72d87ff2037664b7bd717d3e4b",
      "tree": "699660ff52551df0287a50e7c8a250d23c988653",
      "parents": [
        "515fedfeb6891f465bb1cc1ffe2e94e1b0d195a4"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Nov 10 13:06:52 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Nov 10 13:08:09 2011 +0000"
      },
      "message": "ASoC: Remove LZO cache type\n\nThere are no current users and new drivers ought to be using the regmap\nAPI and its cache implementation directly so just delete the ASoC copy.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "d66a327ddad647fd1678fd24d9070846737c6834",
      "tree": "106dbfa4e5c153b270b97b7a16638998ee8a1baa",
      "parents": [
        "f4034147259f72cb7c4870a4188bd8beb592f87d"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Nov 10 11:46:13 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Nov 10 11:46:13 2011 +0000"
      },
      "message": "ASoC: Remove extra space in runtime struct definition\n\nMy usual technique for finding definitions is to search for \"name {\"\nwhich breaks with the extra space.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "e50fad4f029c36ed85a71fe7413684cfd3c7d78c",
      "tree": "b11c2b7550fe98ae1ab0654863361bdec74b6f59",
      "parents": [
        "9c173d15f99ef182ac4b27e3e03779026d8e6cf1"
      ],
      "author": {
        "name": "ramesh.babu@linux.intel.com",
        "email": "ramesh.babu@linux.intel.com",
        "time": "Thu Oct 27 12:12:33 2011 +0530"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Oct 27 12:05:50 2011 +0200"
      },
      "message": "ASoC: Allow machines to ignore pmdown_time per-link\n\nWith this flag, each dai_link in machine driver can choose\nto ignore pmdown_time during DAPM shut down sequence.\n\nIf the ignore_pmdown_time is set, the DAPM for corresponding DAI\nwill be executed immediately.\n\nSigned-off-by: Ramesh Babu K V \u003cramesh.babu@linux.intel.com\u003e\nSigned-off-by: Vinod Koul \u003cvinod.koul@linux.intel.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "1d69c5c5de32c355667c105a5fac85c8043128e6",
      "tree": "fcfe58ff456b0503c063f2e678d4c09110334b73",
      "parents": [
        "7a0e67b68701d73b2252bd73f7fd49c54aea1e58"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Fri Oct 14 14:43:33 2011 +0300"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Oct 14 20:42:21 2011 +0100"
      },
      "message": "ASoC: core: Add flag to ignore pmdown_time at pcm_close\n\nWith this flag codec drivers can indicate that it is desired\nto ignore the pmdown_time for DAPM shutdown sequence when\nplayback stream is stopped.\nThe DAPM sequence will be executed without delay in this case.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "a92f1394a184191d904872e0d3b8ef0c158e5021",
      "tree": "8f5927c96da1e178e6a762d1f210f3731319fa1a",
      "parents": [
        "143d62a45b5f976067a8d705f7fae26a402651f9"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Thu Oct 06 07:43:21 2011 +0300"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Oct 06 20:02:55 2011 +0100"
      },
      "message": "ASoC: fix codec breakage caused by the volsw/volsw_2r merger\n\nBy accident few places still uses the _2r calls from\nthe core.\nThis is a quick fix, the drivers using the old callbacks\ngoing to be changed.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "1576a5ff4929a4082307be0c69bb36826aafaad6",
      "tree": "f9e513b290b1d18605a3127a2e6c6016d9b09146",
      "parents": [
        "db382da5ff286b406c4819cc9ebd96bbb680884c"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Wed Oct 05 10:29:27 2011 +0300"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Oct 05 17:10:10 2011 +0100"
      },
      "message": "ASoC: core: Remove snd_soc_put_volsw_2r definition\n\nWe do not have users for snd_soc_put_volsw_2r anymore.\nIt can be removed.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "974815ba4f88f3f12f6f01384e822b23be058323",
      "tree": "d3b702b3b1189615106d889b19d192b37afc08d7",
      "parents": [
        "f7915d997554d4e2ce123c7a4ddd28e12c2e034c"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Wed Oct 05 10:29:25 2011 +0300"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Oct 05 17:10:10 2011 +0100"
      },
      "message": "ASoC: core: Combine snd_soc_put_volsw/put_volsw_2r functions\n\nHandle the put_volsw/put_volsw_2r in one function.\n\nTo avoid build breakage in twl6040 keep the\nsnd_soc_put_volsw_2r as define, and map it snd_soc_put_volsw.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "f7915d997554d4e2ce123c7a4ddd28e12c2e034c",
      "tree": "9c676e63eab1afe14bfa94632a2ed28a6df44f9b",
      "parents": [
        "e8f5a10307f7d224df91776033a0b8559a559844"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Wed Oct 05 10:29:24 2011 +0300"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Oct 05 17:10:09 2011 +0100"
      },
      "message": "ASoC: core: Combine snd_soc_get_volsw/get_volsw_2r functions\n\nHandle the get_volsw/get_volsw_2r in one function.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "e8f5a10307f7d224df91776033a0b8559a559844",
      "tree": "538f717561241d81527405b0e167f180fab5779b",
      "parents": [
        "30d86ba47f79d566fffe9ba577caf247d06a3796"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Wed Oct 05 10:29:23 2011 +0300"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Oct 05 17:10:09 2011 +0100"
      },
      "message": "ASoC: core: Combine snd_soc_info_volsw/info_volsw_2r functions\n\nHandle the info_volsw/info_volsw_2r in one function.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "30d86ba47f79d566fffe9ba577caf247d06a3796",
      "tree": "07dbc0f940832ca806f81f8adbb91b0e80273dab",
      "parents": [
        "08a1ed76f5cf94bef07cb370b079760553a87b4b"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Wed Oct 05 10:29:22 2011 +0300"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Oct 05 17:10:09 2011 +0100"
      },
      "message": "ASoC: core: Change SOC_SINGLE/DOUBLE_VALUE representation\n\nSOC_SINGLE/DOUBLE_VALUE is used for mixer controls, where the\nbits are within one register.\n\nAssign .rreg to be the same as .reg for these types.\n\nWith this change we can tell if the mixer in question:\nis mono:\nmc-\u003ereg \u003d\u003d mc-\u003erreg \u0026\u0026 mc-\u003eshift \u003d\u003d mc-\u003ershift\n\nis stereo, within single register:\nmc-\u003ereg \u003d\u003d mc-\u003erreg \u0026\u0026 mc-\u003eshift !\u003d mc-\u003ershift\n\nis stereo, in two registers:\nmc-\u003ereg !\u003d mc-\u003erreg\n\nThe patch provide a small inline function to query, if the mixer\nis stereo, or mono.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "db432b414e20b7218bbd91654d7be9c524a4337a",
      "tree": "5bd14d5a82768553518184e1bf309ad463ce4384",
      "parents": [
        "565631008f6dd27c3e975c2103141f344d80b84e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Oct 03 21:06:40 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Oct 04 16:50:20 2011 +0100"
      },
      "message": "ASoC: Do DAPM power checks only for widgets changed since last run\n\nIn order to reduce the number of DAPM power checks we run keep a list of\nwidgets which have been changed since the last DAPM run and iterate over\nthat rather than the full widget list. Whenever we change the power state\nfor a widget we add all the source and sink widgets it has to the dirty\nlist, ensuring that all widgets in the path are checked.\n\nThis covers more widgets than we need to as some of the neighbour widgets\nwon\u0027t be connected but it\u0027s simpler as a first step. On one system I tried\nthis gave:\n\n           Power    Path   Neighbour\nBefore:    207      1939   2461\nAfter:     114      1066   1327\n\nwhich seems useful.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "cdffa775e72de3a3d3ddccd04eb4eb94d58e84e6",
      "tree": "6063cb34f85e1121715129d770611aa0f9acd525",
      "parents": [
        "460acbec1e7ba727519689902f51a6257279bbae"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Tue Oct 04 14:39:39 2011 +0300"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Oct 04 16:27:05 2011 +0100"
      },
      "message": "ASoC: core: Introduce SOC_DOUBLE_R_VALUE macro\n\nWith the new macro we can remove duplicated code\nfor the SOC_DOUBLE_R type of controls.\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "460acbec1e7ba727519689902f51a6257279bbae",
      "tree": "40db58ef6c7f85d87e0387e9d077fa9276ea1b83",
      "parents": [
        "672f4c4d754273b4187e44f725ea418a97fa2a62"
      ],
      "author": {
        "name": "Peter Ujfalusi",
        "email": "peter.ujfalusi@ti.com",
        "time": "Tue Oct 04 14:39:38 2011 +0300"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Oct 04 16:27:05 2011 +0100"
      },
      "message": "ASoC: core: Introduce SOC_DOUBLE_VALUE macro\n\nWith the new macro we can remove duplicated code\nfor the SOC_DOUBLE type of controls.\nWe can also remap the SOC_SINGLE_VALUE macro to\nSOC_DOUBLE_VALUE\n\nSigned-off-by: Peter Ujfalusi \u003cpeter.ujfalusi@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "75d9ac46b99280f5f381927ae75a9eaf21844d20",
      "tree": "6845900a84adf3f3073857e122706deec01f33da",
      "parents": [
        "21326db156b3d52983854c0071f17ef806f39156"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Sep 27 16:41:01 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Sep 28 13:22:28 2011 +0100"
      },
      "message": "ASoC: Allow DAI formats to be specified in the dai_link\n\nFor almost all machines the DAI format is a constant, always set to the\nsame thing. This means that not only should we normally set it on init\nrather than in hw_params() (where it has been for historical reasons) we\nshould also allow users to configure this by setting a variable in the\ndai_link structure. The combination of these two will make many machine\ndrivers even more data driven.\n\nImplement a new dai_fmt field in the dai_link doing just that. Since 0 is\na valid value for many format flags and we need to be able to tell if the\nfield is actually set also add one to all the values used to configure\nformats.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "17841020e9d3dbd4e8114c2142c2bc6d45c01da1",
      "tree": "7f7adb00fea156ae2c9e056439bee389d5ed10e8",
      "parents": [
        "548aae8cc497397310c66c336ed9c4f7dd5be4f4"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "b29396@freescale.com",
        "time": "Mon Aug 29 17:15:14 2011 +0800"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Sep 21 15:59:46 2011 +0100"
      },
      "message": "ASoC: soc-core: symmetry checking for each DAIs separately\n\nThe orginal code does not cover the case that one DAI such as codec\nmay be shared between other two DAIs(CPU).\nWhen do symmetry checking, altough the codec DAI requires symmetry,\nthe two CPU DAIs may still be configured to run on different rates.\n\nWe change to check each DAI\u0027s state separately instead of only checking\nthe dai link to prevent this issue.\n\nSigned-off-by: Dong Aisheng \u003cb29396@freescale.com\u003e\nTested-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "de02d0786d4075091f5b1860474cd21d85ff5862",
      "tree": "5767c43edb3ee26429b7ce1dd2e42a9f96a28965",
      "parents": [
        "6d4baf084f4d8dc43cf5d5a3c182018604afa80c"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Sep 20 21:43:24 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Sep 21 14:53:44 2011 +0100"
      },
      "message": "ASoC: Trace and collect statistics for DAPM graph walking\n\nOne of the longest standing areas for improvement in ASoC has been the\nDAPM algorithm - it repeats the same checks many times whenever it is run\nand makes no effort to limit the areas of the graph it checks meaning we\ndo an awful lot of walks over the full graph. This has never mattered too\nmuch as the size of the graph has generally been small in relation to the\nsize of the devices supported and the speed of CPUs but it is annoying.\n\nIn preparation for work on improving this insert a trace point after the\ngraph walk has been done. This gives us specific timing information for\nthe walk, and in order to give quantifiable (non-benchmark) numbers also\ncount every time we check a link or check the power for a widget and report\nthose numbers. Substantial changes in the algorithm may require tweaks to\nthe stats but they should be useful for simpler things.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "da1c6ea6cf85544292c30295c70a89e8555358bc",
      "tree": "7407347d709bda251c58185909c3d5fc58178587",
      "parents": [
        "d2dd0540c1dab1ebe4192e69d8dbfcf018ff02b2"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Aug 24 20:09:01 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Aug 31 09:57:35 2011 +0100"
      },
      "message": "ASoC: Allow source specification for CODEC level sysclk\n\nSimilarly to PLLs/FLLs some modern CODECs provide selectable system clock\nsources. When the clock is the clock for a DAI we do not usually need to\nidentify which clock is being configured so can use clk_id for the source\nclock but with CODEC wide system clocks we will need to specify both the\nclock being configured and the source.\n\nAdd a source argument to the CODEC driver set_sysclk() operation to\nreflect this. As this operation is not as widely used as the DAI\nset_sysclk() operation the change is not very invasive. We probably\nought to go and make the same alternation for DAIs at some point.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "4a8923ba99f559b078cf584f7caad901ada0e5be",
      "tree": "ee5b0029658e2027ff16e3e29ab3438e746b846c",
      "parents": [
        "b92d150baeb876cbf0fd4cc8d997f005cc57e3f4"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Aug 24 19:12:49 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Aug 31 09:51:50 2011 +0100"
      },
      "message": "ASoC: Allow register defaults to be larger than unsigned short\n\nDevices that need this exist; obviously the newer regmap defaults\nmechanism will deal with this more happily.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "33c5f969b969c277e96cd9e9bf8472c4b8709c25",
      "tree": "c43604f07c0f54173fb99f9f64cc36616ec192f8",
      "parents": [
        "1661699aaa64e6024770ea7adff4fc6216cb25ca"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Aug 22 18:40:30 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Aug 22 23:23:29 2011 +0100"
      },
      "message": "ASoC: Allow idle_bias_off to be specified in CODEC drivers\n\nIf devices can unconditionally support idle_bias_off let them flag it in\ntheir driver structure.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "bb3784ae36e3a816696ae1f5e8490eeedef3c5cf",
      "tree": "90484d199022de79cf25547ace6164435f86a28f",
      "parents": [
        "18d4ed4342c14ebeebe60d267b171053efcdfa87",
        "0671da189c1d75eec5f6aba786d57d25209dd2bc"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Aug 08 15:00:13 2011 +0900"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Aug 08 15:00:13 2011 +0900"
      },
      "message": "Merge branch \u0027regmap-asoc\u0027 into for-3.2\n"
    },
    {
      "commit": "0671da189c1d75eec5f6aba786d57d25209dd2bc",
      "tree": "698ef563e3890ec8ddd8ee8bd70ad0df88c4026c",
      "parents": [
        "be3ea3b9e8df64acb3606055c01291f0b58876a6"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Jul 24 12:23:37 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Aug 08 14:59:55 2011 +0900"
      },
      "message": "ASoC: Add regmap as a control type\n\nAllow drivers to set up their own regmap API structures. This is mainly\nuseful with MFDs where the core driver will have set up regmap at the\nminute, though it may make sense to push the existing regmap setup out\nof the core into the drivers.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "be3ea3b9e8df64acb3606055c01291f0b58876a6",
      "tree": "e2256f913cc23b5a0c504f947a4a0a5bcb256523",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jun 13 19:35:29 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Aug 08 14:59:44 2011 +0900"
      },
      "message": "ASoC: Use new register map API for ASoC generic physical I/O\n\nRemove all the ASoC specific physical I/O code and replace it with calls\ninto the regmap API. The bulk write code can only be used safely if all\nregmap calls are locked with the CODEC lock, we need to add bulk support\nto the regmap API or replace the code with an open coded loop (though\ncurrently it has no users...).\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "64a648c2204b0c750fe49828158751183d8b5f83",
      "tree": "83bcd1fe103ed11f44283b9ba655c2be6f130c24",
      "parents": [
        "a0c27ab2421c47dc7c53f797fffcc0d17cdb122c"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Mon Jul 25 11:15:15 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jul 25 22:07:24 2011 +0100"
      },
      "message": "ASoC: dapm - Add DAPM stream completion event.\n\nIn preparation for Dynamic PCM (AKA 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\nafter completion of stream events.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "cb2cf612fbdf457291b6e47064fed24f0dfdd9a5",
      "tree": "7d503087917ada2f27af4776aa6fcb3fa67963ab",
      "parents": [
        "b7950641374ddb41e9a03ff61b43f9ab3fcf763d"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Mon Jul 04 22:10:53 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jul 05 11:07:41 2011 -0700"
      },
      "message": "ASoC: core - Add convenience register for platform kcontrol and DAPM\n\nAllow platform probe to register platform kcontrols and DAPM just like\nthe CODEC probe().\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "b7950641374ddb41e9a03ff61b43f9ab3fcf763d",
      "tree": "afd469b165d71265caabb9070d24167419ad1f18",
      "parents": [
        "a491a5c84f34febfebd4cb0b8c9add97977efa97"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Mon Jul 04 22:10:52 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jul 05 11:07:39 2011 -0700"
      },
      "message": "ASoC: core - Add platform widget IO\n\nAllow platform driver widgets to perform any IO required for DAPM.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "a491a5c84f34febfebd4cb0b8c9add97977efa97",
      "tree": "9592273ff0d88e02297c63b90d595bfc623e18b6",
      "parents": [
        "8a27bd9a33187a10c5157434b2274487f6679e49"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Mon Jul 04 22:10:51 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jul 05 11:07:34 2011 -0700"
      },
      "message": "ASoC: core - Add API call to register platform kcontrols.\n\nIn preparation for Dynamic PCM (AKA DSP) support.\n\nAllow platform drivers to register kcontrols.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "f1442bc1e9bd5ff4c2470d66075d066e535a2c86",
      "tree": "4042a6e01058d504cf8dba8484d32832547c33c3",
      "parents": [
        "469bb638dc2a6ea87ea56256f25cc964deb3cf2b"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Mon Jul 04 11:10:15 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jul 04 12:41:07 2011 -0700"
      },
      "message": "ASoC: core - Add platform read and write.\n\nIn preparation for ASoC Dynamic PCM (AKA DSP) support.\n\nAllow platform driver to perform IO. Intended for platform DAPM.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "65fdd5c05a02b15bbfa5b0f4f050fdb25b9227f1",
      "tree": "d2a22f1ac24d8b4269e9011db83e1d3b1318408d",
      "parents": [
        "223157121404a7ca4deaf2aa31a57cad8d133d07",
        "e9c039052be59753e6bcc7c8b59763899dc1161c"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jun 13 19:21:09 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jun 13 19:21:09 2011 +0100"
      },
      "message": "Merge branch \u0027for-3.0\u0027 into for-3.1\n\nTrival fixup for move of I/O code into separate file.\n\nConflicts:\n\tsound/soc/soc-cache.c\n"
    },
    {
      "commit": "e9c039052be59753e6bcc7c8b59763899dc1161c",
      "tree": "2f6d9fb15d12b39f9f5c3e056e21358c8b184280",
      "parents": [
        "33195500edf260e8c8809ab9dfc67f50e0ce031f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jun 13 19:05:58 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jun 13 19:17:55 2011 +0100"
      },
      "message": "ASoC: Remove unused and about to be broken SND_SOC_CUSTOM I/O bus\n\nThis will be removed in -next so let\u0027s drop it from mainline as soon as\nwe can in order to minimise surprises.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "b8c0dab9bf3373010e857a8d3f1b594c60a348dd",
      "tree": "9ea917827ed56fc655c3528431dfb234e8231660",
      "parents": [
        "2c36c2ce00987a416bf75681742617a0f85335eb"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Thu Jun 09 17:04:39 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jun 09 19:29:29 2011 +0100"
      },
      "message": "ASoC: core - PCM mutex per rtd\n\nIn preparation for the new ASoC Dynamic PCM support (AKA DSP support).\n\nThe new ASoC Dynamic PCM core allows DAIs to be dynamically re-routed\nat runtime between the PCM device end (or Frontend - FE) and the physical DAI\n(Backend - BE) using regular kcontrols (just like a hardware CODEC routes\naudio in the analog domain). The Dynamic PCM core therefore must be\nable to call PCM operations for both the Frontend and Backend(s) DAIs at\nthe 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 PCM hw_params()\ncould configure multiple backend DAI hw_params() with similar or different\nhw parameters at the same time.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "0168bf0d130de83cd3532b834237c6228a6158dd",
      "tree": "55a6c2ef757af0c2bf4111ef2be0e806ff6fb650",
      "parents": [
        "552d1ef6b5a98d7b95959d5b139071e3c90cebf1"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Tue Jun 07 16:08:05 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jun 07 18:38:27 2011 +0100"
      },
      "message": "ASoC: core - Allow components to probe/remove in sequence.\n\nSome ASoC components depend on other ASoC components to provide clocks and\npower resources in order to probe() and vice versa for remove().\n\nAllow components to be ordered so that components can be probed() and removed()\nin sequences that conform to their dependencies.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "552d1ef6b5a98d7b95959d5b139071e3c90cebf1",
      "tree": "82c8462d9872e2dc9433bee56243e981f7d9bf8f",
      "parents": [
        "cf3383fbb03a0aae622b0dbcd10c6975332da68a"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Tue Jun 07 16:08:33 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jun 07 18:38:27 2011 +0100"
      },
      "message": "ASoC: core - Optimise and refactor pcm_new() to pass only rtd\n\nCurrently pcm_new() passes in 3 arguments :- card, pcm and DAI.\n\nRefactor this to only pass in 1 argument (i.e. the rtd) since struct rtd contains\ncard, pcm and DAI along with other members too that are useful too.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "d4c6005f8e90da10067c35e1182f533582d01a69",
      "tree": "7025324b43925d0ddef4f2c0af6410020572bc06",
      "parents": [
        "171ec6b0897422099438a9c66546380d0fa2ff44"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jun 06 19:13:23 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jun 06 21:46:45 2011 +0100"
      },
      "message": "ASoC: Add context parameter to card DAPM callbacks\n\nThe card callback will get called for each DAPM context in the card so it\ncan be useful for it to know which device is currently undergoing a\ntransition.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "56fba41f8f6444f9e2db3bfe2c4cc5c5bac43d1d",
      "tree": "ac4e74a24720567d7babb1abbe1b92cc201b9f00",
      "parents": [
        "6dffdea70029f2e74c029eba3c24d07641fa4a77"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Jun 04 11:25:10 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jun 06 21:45:44 2011 +0100"
      },
      "message": "ASoC: Specify target bias state directly as a bias state\n\nRather than a simple flag to say if we want the DAPM context to be at full\npower specify the target bias state. This should have no current effect\nbut is a bit more direct and so makes it easier to change our decisions\nabout the which bias state to go into in future.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "22de71ba03311cdc1063757c50a1488cb90a1fca",
      "tree": "34535f85da7635e47382db923136766511ba4c3c",
      "parents": [
        "9e53d856af0db8acc8a1bc6a9e3298f6bbb8944b"
      ],
      "author": {
        "name": "Liam Girdwood",
        "email": "lrg@ti.com",
        "time": "Thu May 12 16:14:04 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu May 12 17:40:03 2011 +0200"
      },
      "message": "ASoC: core - allow ASoC more flexible machine name\n\nAllow ASoC machine drivers to register a driver name\nand a longname. This allows user space to determine\nthe flavour of machine driver.\n\nSigned-off-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "87023ff74b2358b5e51d3c790704f786e89ff769",
      "tree": "090be1f72b3d41f9fdce42e89155d7066928fdce",
      "parents": [
        "9b1b937c77f94f8c94874351a2d5ba92cd99f1ec"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Tue May 03 12:50:29 2011 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Tue May 03 12:51:59 2011 +0200"
      },
      "message": "ASoC: Declare const properly for enum texts\n\nThe enum texts are supposed to be const char * const [].  Without the\nsecond const, it gets compile warnings like\n    sound/soc/codecs/max98095.c:607:2: warning: initialization discards qualifiers from pointer target type\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "fb257897bf20c5f0e1df584bb5b874e811651263",
      "tree": "0520b2e248d18ccfeb7c663fc9fd306ad264e899",
      "parents": [
        "6be449e53dc3593ec69308d972a9fab852fb9bf1"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Apr 28 10:57:54 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Apr 28 12:09:06 2011 +0100"
      },
      "message": "ASoC: Work around allmodconfig failure\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "d06e48db1670b29b3f62f1dfe4a36af237d5aa0d",
      "tree": "b11558c2bcdc230b30edf592c357022dba3818fa",
      "parents": [
        "ec5af076f53da800eef939ab092561d85f162637"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Tue Apr 12 19:31:01 2011 +0200"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Apr 13 10:34:26 2011 -0700"
      },
      "message": "ASoC: Make struct snd_soc_card\u0027s dapm_widgets and dapm_routes const\n\nThose should not be modified (and are not) by the core code, so make them const.\nThis also makes them consistent with the same members of snd_soc_codec.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "b7af1dafdfaf8419065399d07fb7cbae14b286ef",
      "tree": "1b7a97fdc716edeed1b236e65d8afd3c3cbd03d3",
      "parents": [
        "d9b3e4c5156476a4baf0d7e0f47ba2816b4fff8e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Apr 07 19:18:44 2011 +0900"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Apr 08 09:18:11 2011 +0900"
      },
      "message": "ASoC: Add data based control initialisation for CODECs and cards\n\nAllow CODEC and card drivers to point to an array of controls from their\ndriver structure rather than explicitly calling snd_soc_add_controls().\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "239c970626b9d9c7449de751d91f9a9da1018b85",
      "tree": "7d62c863ab856e5d8e1098a2f4eb984e859fcea3",
      "parents": [
        "8020454c9a1ec5ac5801805896b5f69d0c573e17"
      ],
      "author": {
        "name": "Dimitris Papastamos",
        "email": "dp@opensource.wolfsonmicro.com",
        "time": "Thu Mar 24 13:45:18 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Mar 26 17:45:27 2011 +0000"
      },
      "message": "ASoC: Add snd_soc_codec_{readable,writable}_register()\n\nProvide the top level ASoC core functions for indicating whether\na given register is readable or writable.\n\nSigned-off-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "8020454c9a1ec5ac5801805896b5f69d0c573e17",
      "tree": "60141172b88a90a0f31d9412d338d65c2d9c4f00",
      "parents": [
        "acd61451e55ea5848a6ab50d39a103e146fcf7ba"
      ],
      "author": {
        "name": "Dimitris Papastamos",
        "email": "dp@opensource.wolfsonmicro.com",
        "time": "Thu Mar 24 13:45:17 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Mar 26 17:45:16 2011 +0000"
      },
      "message": "ASoC: Add default snd_soc_default_writable_register() callback\n\nBy using struct snd_soc_reg_access for the read/write/vol attributes\nof the registers, we provide callbacks that automatically determine whether\na given register is readable/writable or volatile.\n\nSigned-off-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "67850a892bf627e1c627bc8d0bcd84b90ecc9d7f",
      "tree": "26508a11f86f3ee3981d18c8f7119f58100c9235",
      "parents": [
        "5fb609d435f0679ed322ddeb1fdafe6142463fdf"
      ],
      "author": {
        "name": "Dimitris Papastamos",
        "email": "dp@opensource.wolfsonmicro.com",
        "time": "Tue Mar 22 10:36:57 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Mar 26 17:44:24 2011 +0000"
      },
      "message": "ASoC: Add control_type in snd_soc_codec\n\nThis is mainly used by the soc-cache code to easily determine the\ncurrently used underlying serial bus.  Set SND_SOC_CUSTOM to 1 so we\ncan distinguish it if it is not initialized or set.\n\nSigned-off-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "5fb609d435f0679ed322ddeb1fdafe6142463fdf",
      "tree": "c0da5a9fca23fab307305acf6be95272eb2e8c52",
      "parents": [
        "f3594f5c5c489d159f6d487a889d9d68ca4c0123"
      ],
      "author": {
        "name": "Dimitris Papastamos",
        "email": "dp@opensource.wolfsonmicro.com",
        "time": "Tue Mar 22 10:37:03 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Mar 26 17:44:14 2011 +0000"
      },
      "message": "ASoC: soc-cache: Introduce raw bulk write support\n\nAs it has become more common to have to write firmware or similar\nlarge chunks of data to the hardware, add a function to perform\nraw bulk writes that bypass the cache.  This only handles volatile\nregisters as we should avoid getting out of sync with the actual\ncache.\n\nSigned-off-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "efb7ac3f9c28fcb379c51f987b63174f727b7453",
      "tree": "0da50b269bc9f6fc9832144d9cc8ea4a64bc7b9f",
      "parents": [
        "c4ef87867b42bd1fa7d6dacaa28bf07cf741a724"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Mar 08 17:23:24 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Mar 08 18:56:35 2011 +0000"
      },
      "message": "ASoC: Fix prefixing of DAPM controls by factoring prefix into snd_soc_cnew()\n\nCurrently will ignore prefixes when creating DAPM controls. Since currently\nall control creation goes through snd_soc_cnew() we can fix this by factoring\nthe prefixing into that function.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "ec4ee52a8f5fb5b8e235ae9f02589d60d54740cc",
      "tree": "329a7b4031c899b67f86a28b1ae77f295f3bfbec",
      "parents": [
        "b993f92b99288d4b3a1a1237f3e40fa6460e4b47"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Mar 07 20:58:11 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Mar 08 18:56:16 2011 +0000"
      },
      "message": "ASoC: Provide CODEC clocking operations and API calls\n\nWhen multi component systems use DAIless amplifiers which require clocking\nconfiguration it is at best hard to use the current clocking API as this\nrequires a DAI even though the device may not even have one. Address this\nby adding set_sysclk() and set_pll() operations and APIs for CODECs.\n\nIn order to avoid issues with devices which could be used either with or\nwithout DAIs make the DAI variants call through to their CODEC counterparts\nif there is no DAI specific operation. Converting over entirely would create\nproblems for multi-DAI devices which offer per-DAI clocking setup.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "89b95ac09e408b5d88a8b3792dc76c863e45fb31",
      "tree": "32165ddb2eebf9b746a1ab239b4a4795c4fd0414",
      "parents": [
        "f9c540456ab662a3b5d79c1fa93c51305a97fdf3"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Mar 07 16:38:44 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Mar 08 18:55:51 2011 +0000"
      },
      "message": "ASoC: Add DAPM widget and path data to CODEC driver structure\n\nAllow a slight simplification of CODEC drivers by allowing DAPM routes and\nwidgets to be provided in a table. They will be instantiated at the end of\nCODEC probe.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@ti.com\u003e\n"
    },
    {
      "commit": "28e9ad921d3b7defd8940a3e30e8241c8ed734db",
      "tree": "f37a1eaf18ed48fcf51c1f30410f7d3d82a9dbff",
      "parents": [
        "b8ad29debd7401d257da923480d32838172c431a"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 02 18:36:34 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Mar 03 11:15:35 2011 +0000"
      },
      "message": "ASoC: Add a late_probe() callback to cards\n\nThis is run after the DAPM widgets and routes are added, allowing setup\nof things like jacks using the routes. The main card probe() is run before\nanything else so can\u0027t be used for this purpose.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "b8ad29debd7401d257da923480d32838172c431a",
      "tree": "0c0912832989599de0ae8275d5d77305027191f5",
      "parents": [
        "e37a4970cd7ab6aec9e848cd3c355fd47fd18afd"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 02 18:35:51 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Mar 03 11:15:26 2011 +0000"
      },
      "message": "ASoC: Allow card DAPM widgets and routes to be set up at registration\n\nThese will be added after all devices are registered and allow most DAI\ninit functions in machine drivers to be replaced by simple data.\nRegular controls are not supported as the registration function still\nworks in terms of CODECs.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "e37a4970cd7ab6aec9e848cd3c355fd47fd18afd",
      "tree": "c335b077c521e282a85ca83e9d50ad08c13e800a",
      "parents": [
        "88e8b9a84b41be8ea37cf3bbe192e72f84747f66"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 02 18:21:57 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Mar 03 11:15:16 2011 +0000"
      },
      "message": "ASoC: Add a per-card DAPM context\n\nThis means that rather than adding the board specific DAPM widgets to a\nrandom CODEC DAPM context they can be added to the card itself which is\na bit cleaner. Previously there only was one DAPM context and it was\ntied to the single supported CODEC.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "fadddc8753ccfab26ee57f3205d6926fe4be1350",
      "tree": "788a8bf9c43ab4dd58c013196bdeb650c8041bea",
      "parents": [
        "7887ab3a274dc5f1d1d94ca0cd41ae495d01f94f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 17 16:41:42 2011 -0800"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 18 09:14:24 2011 -0800"
      },
      "message": "ASoC: Add kerneldoc for jack_status_check callback\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "7887ab3a274dc5f1d1d94ca0cd41ae495d01f94f",
      "tree": "9182cd4d0c2c857688520a50f733d1c9f690039c",
      "parents": [
        "5a9f91ca7994bd6a7c696fd397716da3bb440921"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 17 16:35:55 2011 -0800"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 18 09:14:14 2011 -0800"
      },
      "message": "ASoC: Allow GPIO jack detection to be configured as a wake source\n\nSome systems wish to use jacks as wake sources. Provide a wake flag in the\nGPIO configuration which causes the driver to enable the IRQ as a wake\nsource.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "fa9879edebdaad4cfcd2dbe3eaa2ba0dc4f0a262",
      "tree": "47032fd4e879f7390999b180f0557261647742f8",
      "parents": [
        "866fd9366a5b2c7d17eb10f7e7b1c17393ed0beb"
      ],
      "author": {
        "name": "Vinod Koul",
        "email": "vinod.koul@intel.com",
        "time": "Wed Feb 09 14:44:17 2011 +0530"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Feb 09 23:02:43 2011 +0000"
      },
      "message": "ASoC: add support for multiple jack types\n\nThis patch adds soc-jack support for adding voltage zones and for\ndetecting jack type\n\nSigned-off-by: Vinod Koul \u003cvinod.koul@intel.com\u003e\nSigned-off-by: Harsha Priya \u003cpriya.harsha@intel.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "dddf3e4c257879bc35cda3f542507c43f2648a2a",
      "tree": "e832f150045ca50d879d979830ebe1a0844ac5dc",
      "parents": [
        "70d29331ac551c11e6e3934f43a548ae8154351e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jan 28 13:11:47 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jan 28 13:20:47 2011 +0000"
      },
      "message": "ASoC: Add card driver data\n\nProvide driver data for cards within the card structure. To simplify the\nimplementation of the PM operations we don\u0027t use the struct device driver\ndata as this is used by the core to retrieve the card in callbacks from\nthe device model and PM core.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "f85a9e0d260905f98d4ca6b66f0e64f63a729dba",
      "tree": "4d94f21c2bd5a01f8299afb44c797e3df1d49205",
      "parents": [
        "aaee8ef146111566e1c607bdf368d73fb966be2e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 26 21:41:28 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 27 11:59:14 2011 +0000"
      },
      "message": "ASoC: Add subsequence information to seq_notify callbacks\n\nAllows drivers to distinguish which subsequence is being notified when\nthey get called back.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "aaee8ef146111566e1c607bdf368d73fb966be2e",
      "tree": "a39aafeb67efa57acf7673bd53e4a92269682a06",
      "parents": [
        "6f8ab4ac292f81b9246ddf363bf1c6a2fc7a0629"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 26 20:53:50 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 27 11:57:01 2011 +0000"
      },
      "message": "ASoC: Make cache status available via debugfs\n\nCould just as well live in sysfs but sysfs doesn\u0027t have the simple\nvalue export helpers debugfs does.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "6f8ab4ac292f81b9246ddf363bf1c6a2fc7a0629",
      "tree": "1ca2bcaefd986fb19b72a1ac741c9371aec2f28a",
      "parents": [
        "e7361ec4996c170c63c4ac379085896db85ff34d"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 26 14:59:27 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 27 11:56:34 2011 +0000"
      },
      "message": "ASoC: Export card PM callbacks for use in direct registered cards\n\nAllow hookup of cards registered directly with the core to the PM\noperations by exporting the device power management operations to\nmodules, also exporting the default PM operations since it is\nexpected that most cards will end up using exactly the same setup.\n\nNote that the callbacks require that the driver data for the card be\nthe snd_soc_card.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "e7361ec4996c170c63c4ac379085896db85ff34d",
      "tree": "800a098271e33a38031d7d761f35328b853e1693",
      "parents": [
        "70b2ac126a60c87145ae8a8eb1b4dccaa0bf5468"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 26 14:17:20 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 27 11:56:13 2011 +0000"
      },
      "message": "ASoC: Replace pdev with card in machine driver probe and remove\n\nIn order to support cards instantiated without using soc-audio remove\nthe use of the platform device in the card probe() and remove() ops.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "70b2ac126a60c87145ae8a8eb1b4dccaa0bf5468",
      "tree": "314a435bc3753194b6abcf63ce7721810729f841",
      "parents": [
        "16af7d60aa27d3fc39e46fd456b8e33d34d60437"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 26 14:05:25 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 27 11:55:53 2011 +0000"
      },
      "message": "ASoC: Use card rather than soc-audio device to card PM functions\n\nThe platform device for the card is tied closely to the soc-audio\nimplementation which we\u0027re currently trying to remove in favour of\nallowing cards to have their own devices. Begin removing it by\nreplacing it with the card in the suspend and resume callbacks we\ngive to cards, also taking the opportunity to remove the legacy\nsuspend types which are currently hard coded anyway.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "181e055e6bed80afbf8ba2bb5e3ce84fbd3f633c",
      "tree": "44aa6d4b6df78a39fd937f6ae25b8e7a269293a7",
      "parents": [
        "86c3304181a25f127e46c864dc735e21f24484fc"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jan 24 14:05:25 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jan 25 14:14:31 2011 +0000"
      },
      "message": "ASoC: Fix type for snd_soc_volatile_register()\n\nWe generally refer to registers as unsigned ints (including in the\nunderlying CODEC driver operation).\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "dad8e7aeeb83a26d267e757e4c1cf69591850477",
      "tree": "03ba025a19d20e4272db00761cf8723e19ecae38",
      "parents": [
        "e66ef2f81f1d36b5413e3fc7ff548de683f0750b"
      ],
      "author": {
        "name": "Dimitris Papastamos",
        "email": "dp@opensource.wolfsonmicro.com",
        "time": "Wed Jan 19 14:53:36 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 20 13:40:30 2011 +0000"
      },
      "message": "ASoC: soc-cache: Introduce the cache_bypass option\n\nThis is primarily needed to avoid writing back to the cache\nwhenever we are syncing the cache with the hardware.  This gives a\nperformance benefit especially for large register maps.\n\nSigned-off-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "474b62d6eee733abdcd36f8e3e5ce504fbb9110b",
      "tree": "1b399ebd627111f806fe7a20daa9f3df87ff567a",
      "parents": [
        "20e4859dedfc7e7b620d1756b29f8483c5be5fcc"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jan 18 16:14:44 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 19 13:02:32 2011 +0000"
      },
      "message": "ASoC: Provide per widget type callback when executing DAPM sequences\n\nMany modern devices have features such as DC servos which take time to start.\nCurrently these are handled by per-widget events but this makes it difficult\nto paralleise operations on multiple widgets, meaning delays can end up\nbeing needlessly serialised. By providing a callback to drivers when all\nwidgets of a given type have been handled during a DAPM sequence the core\nallows drivers to start operations separately and wait for them to complete\nmuch more simply.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "70a7ca34dbdcc6f0ed332baf2b308bab2871424a",
      "tree": "9f5effa903362d8b717bfd944551cd27e66ded4a",
      "parents": [
        "62ffac4d70ed996d303da0ac8e32c89b9810115c"
      ],
      "author": {
        "name": "Vinod Koul",
        "email": "vinod.koul@intel.com",
        "time": "Fri Jan 14 19:22:48 2011 +0530"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jan 17 13:50:08 2011 +0000"
      },
      "message": "ASoC: soc core allow machine driver to register the card\n\nThe machine driver can\u0027t register the card directly and need to do this thru\nsoc-audio device creation\n\nThis patch allows the register and unregister card to be directly called by\nmachine drivers\n\nSigned-off-by: Vinod Koul \u003cvinod.koul@intel.com\u003e\nSigned-off-by: Harsha Priya \u003cpriya.harsha@intel.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "4e10bda05d6c7d4aba509bbbab5ba748d54c702f",
      "tree": "835a29f06d1d043618b06da9a10aba0a6fc0fb52",
      "parents": [
        "150dd2f8c42bdb3c51533459e3ff5075d8720260"
      ],
      "author": {
        "name": "Vinod Koul",
        "email": "vinod.koul@intel.com",
        "time": "Thu Jan 13 22:48:52 2011 +0530"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 13 23:28:01 2011 +0000"
      },
      "message": "ASoC: soc core add inline to handle card list initialzation\n\nCurrently the soc_probe initializes the card hence it does the card list\ninitialzation. But if machines directly register the card they would need to\ndo these steps, so putting them as inline would save lot of code\n\nThis patch adds an inline to do list initialzation\n\nSigned-off-by: Vinod Koul \u003cvinod.koul@intel.com\u003e\nSigned-off-by: Harsha Priya \u003charsha.priya@intel.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "1500b7b5ffaacb8199e0a61162f5d349fb19acbe",
      "tree": "7e8ed00274943950bc5dfd34f0fb9edf1d3f2199",
      "parents": [
        "d4754ec91c7b094298f0b2ba02327e6887671edc"
      ],
      "author": {
        "name": "Dimitris Papastamos",
        "email": "dp@opensource.wolfsonmicro.com",
        "time": "Thu Jan 13 12:20:38 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 13 14:17:53 2011 +0000"
      },
      "message": "ASoC: Automatically assign the default readable()/volatile() functions\n\nEnsure that all calls to readable_register()/volatile_register() go via\nthe snd_soc_codec function pointers.\n\nIf the default register access table has been given but no functions\nfor handling readable()/volatile() registers, use the default ones provided\nby soc-cache.\n\nSigned-off-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "d4754ec91c7b094298f0b2ba02327e6887671edc",
      "tree": "82fe1a8e9ae2ad16b53d82a9403c181f753911d0",
      "parents": [
        "066d16c3e8194677a9aaeb06a45e4014387d16f1"
      ],
      "author": {
        "name": "Dimitris Papastamos",
        "email": "dp@opensource.wolfsonmicro.com",
        "time": "Thu Jan 13 12:20:37 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 13 14:17:43 2011 +0000"
      },
      "message": "ASoC: Update users of readable_register()/volatile_register()\n\nSigned-off-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "066d16c3e8194677a9aaeb06a45e4014387d16f1",
      "tree": "fbdd51ab4478d56fdba8d3c30a381c248a5a3718",
      "parents": [
        "3e8e2cc45c9d6b5c1265838a8cff701815321dbc"
      ],
      "author": {
        "name": "Dimitris Papastamos",
        "email": "dp@opensource.wolfsonmicro.com",
        "time": "Thu Jan 13 12:20:36 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 13 14:17:32 2011 +0000"
      },
      "message": "ASoC: soc-cache: Add support for default readable()/volatile() functions\n\nFor common scenarios, device drivers can provide a table of all the\nregisters that are at least either readable/writable/volatile.  The idea\nis that if a register lookup fails, all of its read/write/vol members\nwill be zero and will be treated as default.  This also reduces the\nsize of the register access array.\n\nSigned-off-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "aea170a099793abcd0e6de46b947458073204241",
      "tree": "187a6851f204b1dd0c98ccce0545248a25c90f24",
      "parents": [
        "d779fce5d79525d66269c8f6e430e1515d697f3d"
      ],
      "author": {
        "name": "Dimitris Papastamos",
        "email": "dp@opensource.wolfsonmicro.com",
        "time": "Wed Jan 12 10:38:58 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 12 14:55:23 2011 +0000"
      },
      "message": "ASoC: soc-cache: Add reg_size as a member to snd_soc_codec\n\nSimplify the use of reg_size, by calculating it once and storing it in\nthe codec structure for later reference.  The value of reg_size is\nreg_cache_size * reg_word_size.\n\nSigned-off-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "8a9dab1a555e3f2088c68cae792dfd7e854e65e4",
      "tree": "fe7bb59e0f3b3dc1d35a1e5044b10a3e9d395d86",
      "parents": [
        "8b75d714a6ae6445841006ae2074dae095608c36"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jan 10 22:25:21 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jan 10 22:25:21 2011 +0000"
      },
      "message": "ASoC: Update name of debugfs root symbol to snd_soc_\n\nEverything else is using snd_soc_ so we should use it here too.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\n"
    },
    {
      "commit": "faff4bb067d15a3bc0dde8c50cbc1a7075e314de",
      "tree": "ef00b333c8c66dd6d23bfa43917cadb4f7f15263",
      "parents": [
        "2aa86323d815bab62a7e1d3ef8ed6c81a6dfeffa"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Fri Jan 07 22:36:11 2011 -0700"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jan 10 22:20:04 2011 +0000"
      },
      "message": "ASoC: Export debugfs root dentry\n\nA couple Tegra ASoC drivers will create debugfs entries. Mark requested\nthese by under debugfs/asoc/ not just debugfs/. To enable this, export\nthe dentry representing debugfs/asoc/.\n\nAlso, rename debugfs_root -\u003e asoc_debugfs_root now it\u0027s exported to\nprevent potential symbol name clashes.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "7be31be880ee00c6f8d38184368e8a834923b469",
      "tree": "04b4337378d63ff8051ec2ffd3323680ad8a4225",
      "parents": [
        "97c866defc0fc6e18b49603ac19f732f53e79c46"
      ],
      "author": {
        "name": "Jarkko Nikula",
        "email": "jhnikula@gmail.com",
        "time": "Tue Dec 14 12:18:32 2010 +0200"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Dec 15 18:01:34 2010 +0000"
      },
      "message": "ASoC: Extend DAPM to handle power changes on cross-device paths\n\nPower change event like stream start/stop or kcontrol change in a\ncross-device path originates from one device but codec bias and widget power\nchanges must be populated to another devices on that path as well.\n\nThis patch modifies the dapm_power_widgets so that all the widgets on a\nsound card are checked for a power change, not just those that are specific\nto originating device. Also bias management is extended to check all the\ndevices. Only exception in bias management are widgetless codecs whose bias\nstate is changed only if power change is originating from that context.\n\nDAPM context test is added to dapm_seq_run to take care of if power sequence\nextends to an another device which requires separate register writes.\n\nSigned-off-by: Jarkko Nikula \u003cjhnikula@gmail.com\u003e\nAcked-by: Liam Girdwood \u003clrg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    }
  ],
  "next": "97c866defc0fc6e18b49603ac19f732f53e79c46"
}
