From: Mark Brown <broonie@kernel.org>
To: Lars-Peter Clausen <lars@metafoo.de>
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: Thu, 28 May 2015 20:35:22 +0100 [thread overview]
Message-ID: <20150528193522.GF21577@sirena.org.uk> (raw)
In-Reply-To: <5565A6B3.6040509@metafoo.de>
[-- Attachment #1.1: Type: text/plain, Size: 2405 bytes --]
On Wed, May 27, 2015 at 01:12:51PM +0200, Lars-Peter Clausen wrote:
> On 05/26/2015 10:14 PM, Mark Brown wrote:
> >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.
Ah, yes - that would indeed have been bad.
> 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.
Yes, we do need to make it *the* binding for a jack when things are put
into DT. Hopefully that's fairly easy to police, and if we can get some
detection drivers using a binding that works with a jack object (ideally
with helpers) then that will provide positive examples too.
> 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.
That is going to be an issue when we start hooking things up isn't it.
Off the top if my head if we define some standard set of widgets that
get created then it just becomes another device for the machine to route
to/from (which is the logical extension of making it an auxdev).
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
prev parent reply other threads:[~2015-05-28 19:35 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
2015-05-28 19:35 ` Mark Brown [this message]
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=20150528193522.GF21577@sirena.org.uk \
--to=broonie@kernel.org \
--cc=alsa-devel@alsa-project.org \
--cc=dgreid@chromium.org \
--cc=lars@metafoo.de \
--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