1. 13 Nov, 2018 1 commit
  2. 20 Sep, 2018 1 commit
  3. 07 Sep, 2018 1 commit
  4. 06 Sep, 2018 1 commit
  5. 18 Jul, 2018 1 commit
  6. 17 Jul, 2018 3 commits
    • Takashi Iwai's avatar
      ALSA: hda: Make audio component support more generic · a57942bf
      Takashi Iwai authored
      This is the final step for more generic support of DRM audio
      component.  The generic audio component code is now moved to its own
      file, and the symbols are renamed from snd_hac_i915_* to
      snd_hdac_acomp_*, respectively.  The generic code is enabled via the
      new kconfig, CONFIG_SND_HDA_COMPONENT, while CONFIG_SND_HDA_I915 is
      kept as the super-class.
      
      Along with the split, three new callbacks are added to audio_ops:
      pin2port is for providing the conversion between the pin number and
      the widget id, and master_bind/master_unbin are called at binding /
      unbinding the master component, respectively.  All these are optional,
      but used in i915 implementation and also other later implementations.
      
      A note about the new snd_hdac_acomp_init() function: there is a slight
      difference between this and the old snd_hdac_i915_init().  The latter
      (still) synchronizes with the master component binding, i.e. it
      assures that the relevant DRM component gets bound when it returns, or
      gives a negative error.  Meanwhile the new function doesn't
      synchronize but just leaves as is.  It's the responsibility by the
      caller's side to synchronize, or the caller may accept the
      asynchronous binding on the fly.
      
      v1->v2: Fix missing NULL check in master_bind/unbind
      Signed-off-by: Takashi Iwai's avatarTakashi Iwai <tiwai@suse.de>
      a57942bf
    • Takashi Iwai's avatar
      ALSA: hda/i915: Associate audio component with devres · 82887c0b
      Takashi Iwai authored
      The HD-audio i915 binding code contains a single pointer, hdac_acomp,
      for allowing the access to audio component from the master bind/unbind
      callbacks.  This was needed because the callbacks pass only the device
      pointer and we can't guarantee the object type assigned to the drvdata
      (which is free for each controller driver implementation).
      And this implementation will be a problem if we support multiple
      components for different DRM drivers, not only i915.
      
      As a solution, allocate the audio component object via devres and
      associate it with the given device, so that the component callbacks
      can refer to it via devres_find().
      
      The removal of the object is still done half-manually via
      devres_destroy() to make the code consistent (although it may work
      without the explicit call).
      
      Also, the snd_hda_i915_register_notifier() had the reference to
      hdac_acomp as well.  In this patch, the corresponding code is removed
      by passing hdac_bus object to the function, too.
      Signed-off-by: Takashi Iwai's avatarTakashi Iwai <tiwai@suse.de>
      82887c0b
    • Takashi Iwai's avatar
      drm/i915: Split audio component to a generic type · ae891abe
      Takashi Iwai authored
      For allowing other drivers to use the DRM audio component, rename the
      i915_audio_component_* with drm_audio_component_*, and split the
      generic part into drm_audio_component.h.  The i915 specific stuff
      remains in struct i915_audio_component, which contains
      drm_audio_component as the base.
      
      The license of drm_audio_component.h is kept to MIT as same as the the
      original i915_component.h.
      
      This is a preliminary change for further development, and no
      functional changes by this patch itself, merely code-split and
      renames.
      
      v1->v2: Use SPDX for drm_audio_component.h, fix remaining i915
              argument in drm_audio_component.h
      Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: Takashi Iwai's avatarTakashi Iwai <tiwai@suse.de>
      ae891abe
  7. 28 Jun, 2018 3 commits
  8. 15 Feb, 2018 2 commits
  9. 12 Feb, 2018 1 commit
    • Kuninori Morimoto's avatar
      ASoC: hdac_hdmi/nau8825/rt286/rt298/rt5663/da7219: replace codec to component · 45101122
      Kuninori Morimoto authored
      Now we can replace Codec to Component. Let's do it.
      
      Because intal/rockchip boards are using multi-codecs in 1 driver,
      we need to update these all related drivers in same time.
      Otherwise compile error/warning happen
      
      Note:
      
      hdac_hdmi
      	xxx_codec_xxx()		->	xxx_component_xxx()
      	.idle_bias_off = 1	->	.idle_bias_on = 0
      	.ignore_pmdown_time = 0	->	.use_pmdown_time = 1
      	-			->	.endianness = 1
      	-			->	.non_legacy_dai_naming = 1
      
      nau8825
      	xxx_codec_xxx()		->	xxx_component_xxx()
      	.idle_bias_off = 0	->	.idle_bias_on = 1
      	.ignore_pmdown_time = 0	->	.use_pmdown_time = 1
      	-			->	.endianness = 1
      	-			->	.non_legacy_dai_naming = 1
      
      rt286
      	xxx_codec_xxx()		->	xxx_component_xxx()
      	.idle_bias_off = 1	->	.idle_bias_on = 0
      	.ignore_pmdown_time = 0	->	.use_pmdown_time = 1
      	-			->	.endianness = 1
      	-			->	.non_legacy_dai_naming = 1
      
      rt298
      	xxx_codec_xxx()		->	xxx_component_xxx()
      	.idle_bias_off = 1	->	.idle_bias_on = 0
      	.ignore_pmdown_time = 0	->	.use_pmdown_time = 1
      	-			->	.endianness = 1
      	-			->	.non_legacy_dai_naming = 1
      
      rt5663
      	xxx_codec_xxx()		->	xxx_component_xxx()
      	.idle_bias_off = 1	->	.idle_bias_on = 0
      	.ignore_pmdown_time = 0	->	.use_pmdown_time = 1
      	-			->	.endianness = 1
      	-			->	.non_legacy_dai_naming = 1
      
      da7219
      	xxx_codec_xxx()		->	xxx_component_xxx()
      	.idle_bias_off = 0	->	.idle_bias_on = 1
      	.ignore_pmdown_time = 0	->	.use_pmdown_time = 1
      	-			->	.endianness = 1
      	-			->	.non_legacy_dai_naming = 1
      Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      45101122
  10. 21 Dec, 2017 1 commit
  11. 20 Dec, 2017 1 commit
  12. 06 Dec, 2017 2 commits
  13. 01 Dec, 2017 3 commits
  14. 08 Nov, 2017 3 commits
  15. 18 Aug, 2017 1 commit
  16. 10 Aug, 2017 1 commit
    • Bhumika Goyal's avatar
      ASoC: codecs: add const to snd_soc_codec_driver structures · a180ba45
      Bhumika Goyal authored
      Declare snd_soc_codec_driver structures as const as they are only passed
      as an argument to the function snd_soc_register_codec. This argument is
      of type const, so declare the structures with this property as const.
      In file codecs/sn95031.c, snd_soc_codec_driver structure is also used in
      a copy operation along with getting passed to snd_soc_register_codec.
      So, it can be made const too.
      Done using Coccinelle:
      
      @match disable optional_qualifier@
      identifier s;
      position p;
      @@
      static struct snd_soc_codec_driver s@p={...};
      
      @good1@
      identifier match.s;
      position p;
      @@
      snd_soc_register_codec(...,&s@p,...)
      
      @bad@
      identifier match.s;
      position p!={match.p,good1.p};
      @@
      s@p
      
      @depends on !bad disable optional_qualifier@
      identifier match.s;
      @@
      static
      +const
      struct snd_soc_codec_driver s={...};
      Signed-off-by: default avatarBhumika Goyal <bhumirks@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      a180ba45
  17. 20 Jul, 2017 1 commit
  18. 17 Jul, 2017 1 commit
  19. 29 Mar, 2017 1 commit
  20. 06 Mar, 2017 2 commits
  21. 16 Feb, 2017 7 commits
  22. 08 Feb, 2017 2 commits