1. 24 11月, 2011 2 次提交
    • S
      ASoC: Implement fully_routed card property · 1633281b
      Stephen Warren 提交于
      A card is fully routed if the DAPM route table describes all connections on
      the board.
      
      When a card is fully routed, some operations can be automated by the ASoC
      core. The first, and currently only, such operation is described below, and
      implemented by this patch.
      
      Codecs often have a large number of external pins, and not all of these pins
      will be connected on all board designs. Some machine drivers therefore call
      snd_soc_dapm_nc_pin() for all the unused pins, in order to tell the ASoC core
      never to activate them.
      
      However, when a card is fully routed, the information needed to derive the
      set of unused pins is present in card->dapm_routes. In this case, have
      the ASoC core automatically call snd_soc_dapm_nc_pin() for each unused
      codec pin.
      
      This has been tested with soc/tegra/tegra_wm8903.c and soc/tegra/trimslice.c.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      1633281b
    • S
      ASoC: Tegra I2S: Remove dependency on pdev->id · d4a2eca7
      Stephen Warren 提交于
      When devices are instantiated from device-tree, pdev->id is set to -1.
      Rework the driver so it doesn't depend on the ID.
      
      Tegra I2S instantiated from board files are configured with pdev
      name "tegra-i2s" and ID 0 or 1. The driver core then names the
      device "tegra-i2s.0" or "tegra-i2s.1". This is not changing.
      
      When a device is instantiated from device-tree, it will have
      pdev->name="" and pdev->id=-1. For this reason, the pdev->id value is
      not something we can rely on.
      
      This patch doesn't actually change any names though:
      
      When a device is instantiated from device-tree, the overall device name
      will be "${unit_address}.${node_name}". This causes issues such as
      clk_get() failures due to lack of a device-name match. To solve that,
      AUXDATA was invented, to force a specific device name, thus allowing
      dev_name() to return the same as the non-device-tree case. Tegra
      currently uses AUXDATA for the I2S controllers. Eventually, AUXDATA will
      go away, most likely replaced by phandle-based references within the
      device tree.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      d4a2eca7
  2. 23 11月, 2011 23 次提交
  3. 22 11月, 2011 14 次提交
  4. 21 11月, 2011 1 次提交