1. 24 Aug, 2021 3 commits
  2. 23 Aug, 2021 18 commits
  3. 20 Aug, 2021 3 commits
    • Mark Brown's avatar
      Merge series "ASoC: Intel/rt5640: Add support for HP Elite Pad 1000G2... · 77eca00f
      Mark Brown authored
      Merge series "ASoC: Intel/rt5640: Add support for HP Elite Pad 1000G2 jack-detect" from Hans de Goede <hdegoede@redhat.com>:
      
      Changes in v2:
      - Rebase on asoc/for-next
      - New patch: "ASoC: Intel: bytct_rt5640: Add a separate "Headset Mic 2"
        DAPM pin for the mic on the 2nd jack"
      - Addressed Pierre-Louis' comments about calling
        acpi_dev_add_driver_gpios() twice
      
      Original cover-letter:
      
      The HP Elitepad 1000 G2 tablet has 2 headset jacks:
      
      1. on the dock which uses the output of the codecs built-in HP-amp +
      the standard IN2 input which is always used with the headset-jack.
      
      2. on the tablet itself, this uses the line-out of the codec + an external
      HP-amp, which gets enabled by the ALC5642 codec's GPIO1 pin; and IN1 for
      the headset-mic.
      
      The codec's GPIO1 is also its only IRQ output pin, so this means that
      the codec's IRQ cannot be used on this tablet. Instead the jack-detect
      is connected directly to GPIOs on the main SoC. The dock has a helper
      chip which also detects if a headset-mic is present or not, so there
      are 2 GPIOs for the jack-detect status of the dock. The tablet jack
      uses a single GPIO which indicates if a jack is present or not.
      
      Differentiating between between headphones vs a headset on the tablet jack
      is done by using the usual mic-bias over-current-detection mechanism.
      
      Regards,
      
      Hans
      
      Hans de Goede (6):
        ASoC: rt5640: Move rt5640_disable_jack_detect() up in the rt5640.c
          file
        ASoC: rt5640: Delay requesting IRQ until the machine-drv calls
          set_jack
        ASoC: rt5640: Add optional hp_det_gpio parameter to
          rt5640_detect_headset()
        ASoC: rt5640: Add rt5640_set_ovcd_params() helper
        ASoC: Intel: bytct_rt5640: Add a separate "Headset Mic 2" DAPM pin for
          the mic on the 2nd jack
        ASoC: Intel: bytcr_rt5640: Add support for HP Elite Pad 1000G2
          jack-detect
      
       sound/soc/codecs/rt5640.c             | 136 ++++++++++++----------
       sound/soc/codecs/rt5640.h             |   6 +
       sound/soc/intel/boards/bytcr_rt5640.c | 158 +++++++++++++++++++++++++-
       3 files changed, 234 insertions(+), 66 deletions(-)
      
      --
      2.31.1
      77eca00f
    • Kuninori Morimoto's avatar
      ASoC: rsnd: adg: clearly handle clock error / NULL case · cc64c390
      Kuninori Morimoto authored
      This driver is assuming that all adg->clk[i] is not NULL.
      Because of this prerequisites, for_each_rsnd_clk() is possible to work
      for all clk without checking NULL. In other words, all adg->clk[i]
      should not NULL.
      
      Some SoC might doesn't have clk_a/b/c/i. devm_clk_get() returns error in
      such case. This driver calls rsnd_adg_null_clk_get() and use null_clk
      instead of NULL in such cases.
      
      But devm_clk_get() might returns NULL even though such clocks exist, but
      it doesn't mean error (user deliberately chose to disable the feature).
      NULL clk itself is not error from clk point of view, but is error from
      this driver point of view because it is not assuming such case.
      
      But current code is using IS_ERR() which doesn't care NULL.
      This driver uses IS_ERR_OR_NULL() instead of IS_ERR() for clk check.
      And it uses ERR_CAST() to clarify null_clk error.
      
      One concern here is that it unconditionally uses null_clk if clk_a/b/c/i
      was error. It is correct if it doesn't exist, but is not correct if it
      returns error even though it exist.
      It needs to check "clock-names" from DT before calling devm_clk_get() to
      handling such case. But let's assume it is overkill so far.
      
      Link: https://lore.kernel.org/r/YMCmhfQUimHCSH/n@mwandaReported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Link: https://lore.kernel.org/r/87v940wyf9.wl-kuninori.morimoto.gx@renesas.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      cc64c390
    • Kuninori Morimoto's avatar
      ASoC: rsnd: core: make some arrays static const, makes object smaller · 28889de6
      Kuninori Morimoto authored
      Don't populate arrays on the stack but instead them static const.
      Makes the object code smaller by 48 bytes.
      
      Before:
         text    data     bss     dec     hex filename
        20938     916     104   21958    55c6 ./sound/soc/sh/rcar/core.o
      
      After:
         text    data     bss     dec     hex filename
        20890     916     104   21910    5596 ./sound/soc/sh/rcar/core.o
      
      gcc version 11.1.0)
      Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Link: https://lore.kernel.org/r/87tujkwydx.wl-kuninori.morimoto.gx@renesas.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      28889de6
  4. 19 Aug, 2021 8 commits
  5. 18 Aug, 2021 1 commit
  6. 17 Aug, 2021 5 commits
  7. 16 Aug, 2021 2 commits
    • Biju Das's avatar
      ASoC: sh: rz-ssi: Fix dereference of noderef expression warning · d40dfb86
      Biju Das authored
      Fix following sparse warning:
      sound/soc/sh/rz-ssi.c:156:15: sparse: warning: dereference of
      noderef expression
      Signed-off-by: default avatarBiju Das <biju.das.jz@bp.renesas.com>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Link: https://lore.kernel.org/r/20210816132049.28128-1-biju.das.jz@bp.renesas.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      d40dfb86
    • Mark Brown's avatar
      Merge series "ASoC: soc-xxx: cleanup cppcheck warning" from Kuninori Morimoto... · f75953bc
      Mark Brown authored
      Merge series "ASoC: soc-xxx: cleanup cppcheck warning" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
      
      Hi Mark
      
      Now I'm posting audio-graph-card2 patch-set, but it seems it needs longer
      discussion. Thus I want to post more easy patch first, and reduce my
      local patches.
      
      These are cppcheck warning cleanup patches for soc-xxx.
      
      Kuninori Morimoto (9):
        ASoC: soc-generic-dmaengine-pcm: cleanup cppcheck warning at dmaengine_pcm_hw_params()
        ASoC: soc-generic-dmaengine-pcm: cleanup cppcheck warning at dmaengine_pcm_new()
        ASoC: soc-generic-dmaengine-pcm: cleanup cppcheck warning at dmaengine_copy_user()
        ASoC: soc-dai: cleanup cppcheck warning at snd_soc_dai_link_set_capabilities()
        ASoC: soc-dai: cleanup cppcheck warning at snd_soc_pcm_dai_new()
        ASoC: soc-jack: cleanup cppcheck warning at snd_soc_jack_report()
        ASoC: soc-jack: cleanup cppcheck warning for CONFIG_GPIOLIB
        ASoC: soc-component: cleanup cppcheck warning at snd_soc_pcm_component_pm_runtime_get()
        ASoC: soc-ac97: cleanup cppcheck warning
      
       sound/soc/soc-ac97.c                  | 14 ++++++--------
       sound/soc/soc-component.c             |  4 ++--
       sound/soc/soc-dai.c                   | 18 ++++++++----------
       sound/soc/soc-generic-dmaengine-pcm.c |  9 +++------
       sound/soc/soc-jack.c                  | 15 +++++++--------
       5 files changed, 26 insertions(+), 34 deletions(-)
      
      --
      2.25.1
      f75953bc