All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie@kernel.org>
To: Pavel Machek <pavel@ucw.cz>
Cc: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>,
	lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.de,
	patches@opensource.wolfsonmicro.com, alsa-devel@alsa-project.org,
	linux-kernel@vger.kernel.org
Subject: Re: multi-codec support for arizona-ldo1 was Re: System with multiple arizona (wm5102) codecs
Date: Fri, 13 Nov 2015 22:53:55 +0000	[thread overview]
Message-ID: <20151113225355.GU12392@sirena.org.uk> (raw)
In-Reply-To: <20151113215812.GA19020@amd>

[-- Attachment #1: Type: text/plain, Size: 3646 bytes --]

On Fri, Nov 13, 2015 at 10:58:12PM +0100, Pavel Machek wrote:
> On Tue 2015-10-13 12:53:55, Mark Brown wrote:
> > On Mon, Oct 12, 2015 at 10:11:38PM +0200, Pavel Machek wrote:

> > > > No, you definitely shouldn't be doing this - the regulator names should
> > > > reflect the names the device has in the datasheet to aid people in going
> > > > from software to the hardware and back again.  They shouldn't be
> > > > dynamically generated at runtime.  If you need to namespace by
> > > device

> Ok. But I'd still like to get it working.

So as I've been saying use the existing interfaces, or extend them as
needed.

> Now... I got up-to v4.2 kernel, and it seems that it has support for
> multiple sources with same name (but on different chips):

> [    1.125485] Adding alias for supply MICVDD,(null) -> MICVDD,spi32766.1
> [    1.285470] Adding alias for supply MICVDD,(null) -> MICVDD,spi32766.2

> ...but it does not look like I can use those aliases from the ALSA side:

> [    2.734198] wm5102-codec.1 supply MICVDD,spi32766.1 not found, using dummy regulator
> [    3.170912] wm5102-codec.2 supply MICVDD,spi32766.2 not found, using dummy regulator

> I tried to do this:

> SND_SOC_DAPM_REGULATOR_SUPPLY("MICVDD,spi32766.1", 0, SND_SOC_DAPM_REGULATOR_BYPASS),

You're attempting to put a system specific string into a generic driver,
this will break all other users which is clearly not OK.

> Any idea what I did wrong, or what needs to be fixed?

Well, if we look at the code that prints the alias message you pasted
above:

        pr_info("Adding alias for supply %s,%s -> %s,%s\n",
                id, dev_name(dev), alias_id, dev_name(alias_dev));

we can see that it's not just rewriting a string here but is rather
mapping one supply, device tuple to another.  You shouldn't find any
places where the device and supply are concatenated into a single
strong, including the interface used to request regulators, so
attempting to rewrite the name of the supply is not going to get
anywhere.

> > > > provide an interface which explicitly namespaces by device rather than
> > > > hacking it into another interface, the usual thing is to use the struct
> > > > device as the context.

> > > I'll need some more help here. I need to use it from ALSA, so I don't
> > > think I can influence that interface easily.

> > Sorry?  If this is going into the userspace ABI there's something
> > seriously wrong...

> It is exposed to the ALSA. If ALSA exposes it to userspace, I'm not sure. 

So if it's not exposed to userspace (and it *really* shouldn't be) why
would it not be possible to influence whatever interface you're thinking
of here?  I'm really confused by what you're saying here.

> > > What is currently in tree _does not work_, as there are two arizona
> > > chips, and two "LDO1" regulators. (Doable) suggestions how to fix that
> > > are welcome.

> > To repeat what I said above, provide an interface which namespaces by
> > device (as we normally do when we need to distinguish between multiple
> > instances of the same device).  Given that everything is part of the
> > same device it's very easy to discover which device so it's clearly no
> > problem when mapping the supplies.

> I'm afraid I don't know how to do this. See above.

Look at how we resolve supplies when we do lookups, then look at how we
create aliases for the MFD cells to map supplies into the function
devices and figure out why those mappings aren't being found.  The NULL
you're seeing above seems like a bit of a warning sign here - where did
that come from?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

  reply	other threads:[~2015-11-13 22:54 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-14 11:54 System with multiple arizona (wm5102) codecs Pavel Machek
2015-09-14 11:52 ` Charles Keepax
2015-09-14 11:52   ` Charles Keepax
2015-09-14 13:31   ` Charles Keepax
2015-09-14 13:31     ` Charles Keepax
2015-09-14 20:11   ` Pavel Machek
2015-09-15  6:18   ` Pavel Machek
2015-09-15  8:06     ` Charles Keepax
2015-09-15  8:06       ` Charles Keepax
2015-09-15  8:35       ` Pavel Machek
2015-09-15 13:56         ` [alsa-devel] " Caleb Crome
2015-09-15 13:56           ` Caleb Crome
2015-09-15 14:09           ` [alsa-devel] " Mark Brown
2015-09-15 14:09             ` Mark Brown
2015-09-15 15:26             ` [alsa-devel] " Caleb Crome
2015-09-19 18:21               ` Mark Brown
2015-09-21 12:36           ` Pavel Machek
2015-10-12  9:00   ` multi-codec support for arizona-ldo1 was " Pavel Machek
2015-10-12 11:37     ` Charles Keepax
2015-10-12 11:37       ` Charles Keepax
2015-11-30 11:33       ` multi-card support for davinci-evm Pavel Machek
2015-11-30 11:37       ` multi-card support for arizona-core Pavel Machek
2015-11-30 11:37         ` Pavel Machek
2015-11-30 11:54         ` Mark Brown
2015-10-12 15:47     ` multi-codec support for arizona-ldo1 was Re: System with multiple arizona (wm5102) codecs Mark Brown
2015-10-12 20:11       ` Pavel Machek
2015-10-13 11:53         ` Mark Brown
2015-10-13 11:53           ` Mark Brown
2015-11-13 21:58           ` Pavel Machek
2015-11-13 22:53             ` Mark Brown [this message]
2015-11-14  7:44               ` Pavel Machek
2015-11-14  7:44                 ` Pavel Machek
2015-11-14 12:39                 ` Mark Brown
2015-11-14 17:59                   ` Pavel Machek
2015-11-14 17:59                     ` Pavel Machek
2015-11-14 18:49                     ` Mark Brown
2015-11-14 21:16                       ` Pavel Machek
2015-11-14 21:16                         ` Pavel Machek
2015-11-15  0:14                         ` Mark Brown
2015-11-15  0:14                           ` Mark Brown
2015-11-16  7:45                           ` Pavel Machek
2015-11-16 10:50                             ` Mark Brown
2015-11-16 12:29                               ` Pavel Machek
2015-11-16 12:29                                 ` Pavel Machek
2015-11-16 13:57                                 ` Charles Keepax
2015-11-16 13:57                                   ` Charles Keepax
2015-11-16 14:28                                 ` Charles Keepax
2015-11-16 14:28                                   ` Charles Keepax
2015-11-16 17:33                                 ` Mark Brown
2015-11-16 14:11                         ` Charles Keepax
2015-11-16 14:11                           ` Charles Keepax
2015-11-22  6:51                           ` Pavel Machek
2015-11-22  6:51                             ` Pavel Machek
2015-11-23  8:18                             ` Lee Jones
2015-11-23  8:18                               ` Lee Jones
2015-11-23 10:11                               ` Pavel Machek
2015-11-23 10:25                                 ` Richard Fitzgerald
2015-11-23 10:25                                   ` Richard Fitzgerald
2015-11-23 11:30                                   ` Mark Brown
2015-11-23 11:46                                     ` Charles Keepax
2015-11-23 11:46                                       ` Charles Keepax
2015-11-23 14:31                                       ` Lee Jones
2015-11-23 15:00                                       ` Pavel Machek
2015-11-16 14:05                     ` Charles Keepax
2015-11-16 14:05                       ` Charles Keepax

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=20151113225355.GU12392@sirena.org.uk \
    --to=broonie@kernel.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=ckeepax@opensource.wolfsonmicro.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patches@opensource.wolfsonmicro.com \
    --cc=pavel@ucw.cz \
    --cc=perex@perex.cz \
    --cc=tiwai@suse.de \
    /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 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.