Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Mark Brown <broonie@kernel.org>
Cc: tiwai@suse.de, Dylan Reid <dgreid@chromium.org>,
	alsa-devel@alsa-project.org, zhengxing@rock-chips.com,
	lgirdwood@gmail.com
Subject: Re: [RFC 0/5] Add a gpio jack device
Date: Wed, 27 May 2015 13:12:51 +0200	[thread overview]
Message-ID: <5565A6B3.6040509@metafoo.de> (raw)
In-Reply-To: <20150526201426.GA21577@sirena.org.uk>

On 05/26/2015 10:14 PM, Mark Brown wrote:
[...]
>
>>> Yes, this is the complete solution - and it's not an audio specific
>>> thing either, there's a reasonable case to be made for saying that that
>>> this should be resolved in extcon rather than in any one consumer
>>> subsystem.
>
>> If the bindings are good it doesn't really matter which framework eventually
>> picks them up, but in this case the bindings are awfully ASoC specific and
>> leak a lot of the shortcomings of the current implementation.
>
> Could you expand on the abstraction problems you see please?  It looks
> like a fairly direct mapping of GPIOs to a jack to me (like I say I
> don't see having GPIOs directly on the jack object as a problem - having
> to create a separate node to put the GPIOs in doesn't seem to solve
> anything) and we're not likely to have enough GPIOs to make the usual
> problems with lists of values too severe.

Sorry, I overlooked something which lead to a bit of misunderstanding. I 
though that the gpio-audio-jack driver also sets up the DAPM pins for the 
jack, based on that patch 4 removes the DAPM jack pin setup from 
tegra_max98090 driver. This would have resulted in a weired dependency chain 
where the gpio-audio-jack driver sets references DAPM pins by name which 
belong to the audio fabric that references the gpio-audio-jack node as its 
jack detection chip. But the driver doesn't actually do that so there is no 
real implicit dependency to the audio-fabric in the binding itself and it is 
all internal to the implementation. So that is OK.

I'm still a bit uncomfortable with mixing up jacks and jack detection logic. 
For the GPIO based jack detection logic this isn't that bad since we could 
argue that the DT node represents the jack. But I'm a bit afraid that this 
sets a precedence and we'll soon see bindings where the description of the 
jack becomes part of the description of the jack detection chip or CODEC. 
And the component or CODEC driver is responsible for registering the jack.

And the other problem is how do we match up DAPM widgets to a jack. This is 
functionality from the tegra_max98090 driver that is lost in this series.

- Lars

  parent reply	other threads:[~2015-05-27 11:12 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-22 22:09 [RFC 0/5] Add a gpio jack device Dylan Reid
2015-05-22 22:09 ` [RFC 1/5] ALSA: Add jack types to dt-bindings Dylan Reid
2015-05-25 12:11   ` Mark Brown
2015-05-22 22:09 ` [RFC 2/5] ASoC: jack - add_gpiods accepts filled descriptors Dylan Reid
2015-05-25 12:12   ` Mark Brown
2015-05-22 22:09 ` [RFC 3/5] ASoC: Add GPIO based jack device Dylan Reid
2015-05-25 12:11   ` Mark Brown
2015-05-26  6:20     ` Dylan Reid
2015-05-22 22:09 ` [RFC 4/5] ASoC: tegra_max98090: Change nyan to use gpio-jack Dylan Reid
2015-05-22 22:09 ` [RFC 5/5] ARM: tegra: nyan: specify gpio-audio-jack device Dylan Reid
2015-05-25 15:17 ` [RFC 0/5] Add a gpio jack device Lars-Peter Clausen
2015-05-25 17:15   ` Mark Brown
2015-05-25 18:58     ` Dylan Reid
2015-05-26 18:43     ` Lars-Peter Clausen
2015-05-26 20:14       ` Mark Brown
2015-05-27  4:22         ` Dylan Reid
2015-05-27 11:15           ` Lars-Peter Clausen
2015-05-27 17:26           ` Mark Brown
2015-05-28  5:38             ` Dylan Reid
2015-05-28 10:17               ` Mark Brown
2015-05-27 11:12         ` Lars-Peter Clausen [this message]
2015-05-28 19:35           ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5565A6B3.6040509@metafoo.de \
    --to=lars@metafoo.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=dgreid@chromium.org \
    --cc=lgirdwood@gmail.com \
    --cc=tiwai@suse.de \
    --cc=zhengxing@rock-chips.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox