All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/30] ASoC: Move jack registration to the card level
@ 2015-03-04  9:33 Lars-Peter Clausen
  2015-03-04  9:33 ` [PATCH 01/30] ASoC: sn95031: Pass CODEC to sn95031_jack_detection() Lars-Peter Clausen
                   ` (30 more replies)
  0 siblings, 31 replies; 39+ messages in thread
From: Lars-Peter Clausen @ 2015-03-04  9:33 UTC (permalink / raw)
  To: Mark Brown, Liam Girdwood
  Cc: alsa-devel, Lars-Peter Clausen, Anatol Pomozov, Kuninori Morimoto,
	Stephen Warren, Vinod Koul, Jie Yang, Peter Ujfalusi, Yang A Fang,
	Jarkko Nikula, Sean Cross, Dylan Reid, Jarkko Nikula

Audio jacks are typically card level elements and when initially introduced
the API to register a jack took a card as its parameter. Back at that time
there was only one CODEC per card and DAPM support was only available at the
CODEC level and all DAPM elements, including the card level elements, were
registered with the CODEC's DAPM context. So naturally for all its DAPM
operations the jack API used the CODEC's DAPM context. With the
multi-component patchset support for multiple CODECs per card was introduced
and since it was no longer clear which DAPM context to use for the jack
operations the jack API was updated to take a CODEC instead of a card to
make it unambiguous again. Shortly after DAPM support was decoupled from the
CODECs and became available at the card level as well.  Since then card
drivers have been updated to register their card level DAPM elements with
the card's DAPM context, but the jack API is still CODEC centric and uses
the CODEC's DAPM context. This leaves us with some issues.

The DAPM pins that are managed by the jack detection logic are part of the
card DAPM context but are accessed through a CODEC DAPM context. Currently
this works fine and is more of an inelegance, but might break in the future
if we take a more hierarchical approach to DAPM contexts.

Furthermore with componentization progressing systems that do not register a
snd_soc_codec might appear, while these system may still want to able to
register a jack.

This patchset introduces a new function called snd_soc_card_jack_register()
which allows to register the jacks at the card level again and updates all
the existing card drivers to use the new API.

- Lars

Lars-Peter Clausen (30):
  ASoC: sn95031: Pass CODEC to sn95031_jack_detection()
  ASoC: Allow to register jacks at the card level
  ASoC: simple-card: Register jacks at the card level
  ASoC: imx-es8328: Register jacks at the card level
  ASoC: wm1133-ev: Register jacks at the card level
  ASoC: broadwell: Register jacks at the card level
  ASoC: byt-max98090: Register jacks at the card level
  ASoC: cht_bsw_rt5645: Register jacks at the card level
  ASoC: mfld_machine: Register jacks at the card level
  ASoC: ams-deltea: Register jacks at the card level
  ASoC: omap-abe-twl6040: Register jacks at the card level
  ASoC: omap-twl4030: Register jacks at the card level
  ASoC: rx51: Register jacks at the card level
  ASoC: hx4700: Register jacks at the card level
  ASoC: palm27x: Register jacks at the card level
  ASoC: ttc-dkb: Register jacks at the card level
  ASoC: z2: Register jacks at the card level
  ASoC: h1980_uda1380: Register jacks at the card level
  ASoC: littlemill: Register jacks at the card level
  ASoC: lowland: Register jacks at the card level
  ASoC: rx1950_uda1380: Register jacks at the card level
  ASoC: smartq: Register jacks at the card level
  ASoC: speyside: Register jacks at the card level
  ASoC: tobermory: Register jacks at the card level
  ASoC: tegra_alc5632: Register jacks at the card level
  ASoC: tegra_max98090: Register jacks at the card level
  ASoC: tegra_rt5640: Register jacks at the card level
  ASoC: tegra_rt5677: Register jacks at the card level
  ASoC: tegra_wm8903: Register jacks at the card level
  ASoC: Remove snd_soc_jack_new()

 include/sound/soc.h                |  8 +++++---
 sound/soc/codecs/sn95031.c         | 14 +++++++------
 sound/soc/codecs/sn95031.h         |  3 ++-
 sound/soc/fsl/imx-es8328.c         |  6 +++---
 sound/soc/fsl/wm1133-ev1.c         | 12 +++++------
 sound/soc/generic/simple-card.c    | 20 +++++++++---------
 sound/soc/intel/broadwell.c        | 12 +++--------
 sound/soc/intel/byt-max98090.c     | 11 +++-------
 sound/soc/intel/cht_bsw_rt5645.c   | 12 +++++------
 sound/soc/intel/mfld_machine.c     | 24 +++++++++-------------
 sound/soc/omap/ams-delta.c         |  4 ++--
 sound/soc/omap/omap-abe-twl6040.c  | 10 ++++-----
 sound/soc/omap/omap-twl4030.c      | 12 ++++-------
 sound/soc/omap/rx51.c              |  6 +++---
 sound/soc/pxa/hx4700.c             | 11 +++-------
 sound/soc/pxa/palm27x.c            | 11 +++-------
 sound/soc/pxa/ttc-dkb.c            | 15 ++++++--------
 sound/soc/pxa/z2.c                 | 10 +++------
 sound/soc/samsung/h1940_uda1380.c  |  9 ++------
 sound/soc/samsung/littlemill.c     | 12 +++++------
 sound/soc/samsung/lowland.c        | 14 ++++---------
 sound/soc/samsung/rx1950_uda1380.c |  9 ++------
 sound/soc/samsung/smartq_wm8987.c  | 11 ++++------
 sound/soc/samsung/speyside.c       | 14 ++++---------
 sound/soc/samsung/tobermory.c      | 13 ++++--------
 sound/soc/soc-jack.c               | 42 +++++++++++++++++++++++---------------
 sound/soc/tegra/tegra_alc5632.c    |  9 ++++----
 sound/soc/tegra/tegra_max98090.c   | 22 +++++++++-----------
 sound/soc/tegra/tegra_rt5640.c     | 10 +++------
 sound/soc/tegra/tegra_rt5677.c     | 14 ++++++-------
 sound/soc/tegra/tegra_wm8903.c     | 18 ++++++++--------
 31 files changed, 167 insertions(+), 231 deletions(-)

-- 
1.8.0

^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2015-03-05  9:58 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-04  9:33 [PATCH 00/30] ASoC: Move jack registration to the card level Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 01/30] ASoC: sn95031: Pass CODEC to sn95031_jack_detection() Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 02/30] ASoC: Allow to register jacks at the card level Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 03/30] ASoC: simple-card: Register " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 04/30] ASoC: imx-es8328: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 05/30] ASoC: wm1133-ev: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 06/30] ASoC: broadwell: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 07/30] ASoC: byt-max98090: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 08/30] ASoC: cht_bsw_rt5645: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 09/30] ASoC: mfld_machine: " Lars-Peter Clausen
2015-03-04 11:58   ` Vinod Koul
2015-03-04  9:33 ` [PATCH 10/30] ASoC: ams-deltea: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 11/30] ASoC: omap-abe-twl6040: " Lars-Peter Clausen
2015-03-04  9:47   ` Peter Ujfalusi
2015-03-04  9:33 ` [PATCH 12/30] ASoC: omap-twl4030: " Lars-Peter Clausen
2015-03-04  9:47   ` Peter Ujfalusi
2015-03-04  9:33 ` [PATCH 13/30] ASoC: rx51: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 14/30] ASoC: hx4700: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 15/30] ASoC: palm27x: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 16/30] ASoC: ttc-dkb: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 17/30] ASoC: z2: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 18/30] ASoC: h1980_uda1380: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 19/30] ASoC: littlemill: " Lars-Peter Clausen
2015-03-05  9:57   ` Charles Keepax
2015-03-04  9:33 ` [PATCH 20/30] ASoC: lowland: " Lars-Peter Clausen
2015-03-05  9:57   ` Charles Keepax
2015-03-04  9:33 ` [PATCH 21/30] ASoC: rx1950_uda1380: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 22/30] ASoC: smartq: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 23/30] ASoC: speyside: " Lars-Peter Clausen
2015-03-05  9:58   ` Charles Keepax
2015-03-04  9:33 ` [PATCH 24/30] ASoC: tobermory: " Lars-Peter Clausen
2015-03-05  9:58   ` Charles Keepax
2015-03-04  9:33 ` [PATCH 25/30] ASoC: tegra_alc5632: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 26/30] ASoC: tegra_max98090: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 27/30] ASoC: tegra_rt5640: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 28/30] ASoC: tegra_rt5677: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 29/30] ASoC: tegra_wm8903: " Lars-Peter Clausen
2015-03-04  9:33 ` [PATCH 30/30] ASoC: Remove snd_soc_jack_new() Lars-Peter Clausen
2015-03-04 17:11 ` [PATCH 00/30] ASoC: Move jack registration to the card level Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.