1. 13 Oct, 2010 2 commits
    • Mika Westerberg's avatar
      ASoC: don't register AC97 devices twice · 0562f788
      Mika Westerberg authored
      With generic AC97 ASoC glue driver (codec/ac97.c), we get following warning when
      the device is registered (slightly stripped the backtrace):
      
      kobject (c5a863e8): tried to init an initialized object, something is seriously
                          wrong.
      [<c00254fc>] (unwind_backtrace+0x0/0xec)
      [<c014fad0>] (kobject_init+0x38/0x70)
      [<c0171e94>] (device_initialize+0x20/0x70)
      [<c017267c>] (device_register+0xc/0x18)
      [<bf20db70>] (snd_soc_instantiate_cards+0x924/0xacc [snd_soc_core])
      [<bf20e0d0>] (snd_soc_register_platform+0x16c/0x198 [snd_soc_core])
      [<c0175304>] (platform_drv_probe+0x18/0x1c)
      [<c0174454>] (driver_probe_device+0xb0/0x16c)
      [<c017456c>] (__driver_attach+0x5c/0x7c)
      [<c0173cec>] (bus_for_each_dev+0x48/0x78)
      [<c0173600>] (bus_add_driver+0x98/0x214)
      [<c0174834>] (driver_register+0xa4/0x130)
      [<c001f410>] (do_one_initcall+0xd0/0x1a4)
      [<c0062ddc>] (sys_init_module+0x12b0/0x1454)
      
      This happens because the generic AC97 glue driver creates its codec->ac97 via
      calling snd_ac97_mixer(). snd_ac97_mixer() provides own version of
      snd_device.register which handles the device registration when
      snd_card_register() is called.
      
      To avoid registering the AC97 device twice, we add a new flag to the
      snd_soc_codec: ac97_created which tells whether the AC97 device was created by
      SoC subsystem.
      Signed-off-by: default avatarMika Westerberg <mika.westerberg@iki.fi>
      Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      0562f788
    • Mika Westerberg's avatar
      ASoC: ac97: don't call snd_soc_new_ac97_codec at probe · 7750752a
      Mika Westerberg authored
      It is not needed since snd_ac97_mixer() will create a new ac97 object for us.
      Removing the call also fixes a memory leak since codec->ac97 is set to NULL at
      the beginning of snd_ac97_mixer().
      Signed-off-by: default avatarMika Westerberg <mika.westerberg@iki.fi>
      Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      7750752a
  2. 12 Oct, 2010 6 commits
  3. 11 Oct, 2010 3 commits
  4. 07 Oct, 2010 4 commits
  5. 06 Oct, 2010 4 commits
  6. 05 Oct, 2010 5 commits
  7. 04 Oct, 2010 3 commits
  8. 03 Oct, 2010 1 commit
  9. 02 Oct, 2010 4 commits
  10. 01 Oct, 2010 1 commit
  11. 30 Sep, 2010 5 commits
  12. 29 Sep, 2010 2 commits