From: broonie@opensource.wolfsonmicro.com (Mark Brown)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 17/17] ASoC: fsl: add imx-sgtl5000 machine driver
Date: Tue, 6 Mar 2012 13:35:07 +0000 [thread overview]
Message-ID: <20120306133506.GU19635@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <20120306133416.GQ16232@S2101-09.ap.freescale.net>
On Tue, Mar 06, 2012 at 09:34:18PM +0800, Shawn Guo wrote:
> On Tue, Mar 06, 2012 at 12:02:47PM +0000, Mark Brown wrote:
> > No, we should fix the core to work better in this case - not having a
> > DAI operation is perfectly normal and should be supported.
> So something like this?
> @@ -1536,12 +1536,8 @@ static void snd_soc_instantiate_card(struct snd_soc_card *card)
> - if (ret != 0)
> - dev_warn(card->rtd[i].cpu_dai->dev,
> - "Failed to set DAI format: %d\n",
> - ret);
It should still complain but it should check to see if there was an
actual set_fmt op and only complain then, probably we should change all
the noop error codes for the accessor functions to be -ENOTSUPP or
something and then change the check here to look for ret != 0 && ret !=
ENOTSUPP.
> > There's nothing generic about this device, it only applies to a specific
> > combination of things and in so far as it applies to those the
> > properties are generic - any board combining i.MX and this CODEC is
> > going to have an audmux.
> Since you agreed it's not really a problem, I would like to do what
> everyone else is doing.
Well, "everyone else" in this context is only Tegra right now so there's
a case for nipping this in the bud too :)
> > In that case the audmux code should be validating the arguments.
> What we can check is only where the number starts and probably where
> it ends. That requires audmux driver have the ranges of internal port
> and external port for each i.MX SoC encoded. For DT case, we may have
> the ranges defined in device tree, while for non-DT case, we then need
> to introduce platform_data to pass that piece of data. In the end,
> this check does not guarantee the correctness, and developers have to
> give the correct port number. So is it really worth it?
It does seem concerning and error prone that there's two different
numbering schemes for the audmux APIs.
> > OTOH the in kernel API uses a different numbering and if the user is
> > porting their existing code over to device tree...
> Whoever is porting the code will need to look at the audmux binding
> document, where we have a big note regarding this.
If there's one universal truth about system integrators it's that they
always read the documentation and don't ever just copy things from an
example and tweak it till it works. :)
> > It's not actually fixed anything in the APIs though
> I'm not fixing the APIs. Instead, I'm adding device tree support for
> audmux driver, while converting it to platform driver make that easy.
I know, that's kind of the problem. You've moved the device
registration to the device model but not done anything on the top level
to ensure that we actually managed to do so.
> > and we've now also got a race in the driver probes
> > since the audmux now need to come up via
> > the device model instead of just being there
> The race is solved by having audmux device registered in a
> subsys_initcall.
And hoping that it does actually get registered and successfully
loads and that it doesn't get built as a module which could get set up
in a different order, plus the edge cases where users actively unbind
the driver from the device.
> > - we could try to configure
> > the audmux with no platform driver bound.
> Before this series, the audmux is configured with no platform driver
> bound. I'm confused here. Are you saying we are moving to a wrong
> direction?
Previously just building the code was enough, it'd unconditionally
initialise itself in early init and we were fine. Now there's a bunch
of different ways in which someone could break things since we're using
the device model so we need to make sure we work with those.
> > We should really have the
> > audmux as at least an aux_dev in the card to make sure it's there.
> I do not understand how aux_dev can help here. Being a device encoded
> in device tree, audmux device should have been created by DT core, and
> all we need to do is registering the audmux driver to get it bound to
> audmux device.
None of that stuff does anything to ensure that the audmux is present
before the card comes up.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120306/f135ee2b/attachment.sig>
next prev parent reply other threads:[~2012-03-06 13:35 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-05 14:30 [PATCH v2 00/17] ASoC: add imx-sgtl5000 machine driver working with fsl_ssi Shawn Guo
2012-03-05 14:20 ` Mark Brown
2012-03-05 14:44 ` Shawn Guo
2012-03-05 14:35 ` Mark Brown
2012-03-05 14:30 ` [PATCH v2 01/17] ASoC: imx: move eukrea audmux call into ASoC machine driver Shawn Guo
2012-03-05 17:46 ` Mark Brown
2012-03-05 17:55 ` Matt Sealey
2012-03-05 20:36 ` Mark Brown
2012-03-05 19:27 ` Sascha Hauer
2012-03-05 23:45 ` Shawn Guo
2012-03-06 0:06 ` Mark Brown
2012-03-05 14:30 ` [PATCH v2 02/17] ASoC: imx: move phycore " Shawn Guo
2012-03-05 14:30 ` [PATCH v2 03/17] ARM: imx: merge audmux-v1 and audmux-v2 Shawn Guo
2012-03-05 14:30 ` [PATCH v2 04/17] ARM: imx: convert audmux to a platform driver Shawn Guo
2012-03-05 14:30 ` [PATCH v2 05/17] ASoC: imx: move audmux driver into sound/soc/imx Shawn Guo
2012-03-05 14:30 ` [PATCH v2 06/17] ASoC: imx: rename audmux prefix mxc to imx Shawn Guo
2012-03-05 14:30 ` [PATCH v2 07/17] ASoC: imx: separate imx-pcm bits from imx-ssi driver Shawn Guo
2012-03-05 14:30 ` [PATCH v2 08/17] ASoC: imx: add an explicit Kconfig option for " Shawn Guo
2012-03-05 14:30 ` [PATCH v2 09/17] ASoC: fsl: separate SSI and DMA Kconfig options Shawn Guo
2012-03-07 20:20 ` Timur Tabi
2012-03-08 13:08 ` Shawn Guo
2012-03-05 14:30 ` [PATCH v2 10/17] ASoC: imx: merge sound/soc/imx into sound/soc/fsl Shawn Guo
2012-03-05 17:39 ` Sascha Hauer
2012-03-05 23:46 ` Shawn Guo
2012-03-06 5:46 ` Shawn Guo
2012-03-05 14:30 ` [PATCH v2 11/17] ASoC: fsl: create fsl_utils to accommodate the common functions Shawn Guo
2012-03-05 14:49 ` Mark Brown
2012-03-05 15:48 ` Timur Tabi
2012-03-05 16:15 ` Mark Brown
2012-03-06 6:27 ` Shawn Guo
2012-03-05 14:31 ` [PATCH v2 12/17] ASoC: fsl: check property 'compatible' for the machine name Shawn Guo
2012-03-05 14:31 ` [PATCH v2 13/17] ASoC: fsl: make fsl_ssi driver compilable on ARM/IMX Shawn Guo
2012-03-05 14:31 ` [PATCH v2 14/17] ASoC: fsl: remove the fatal error checking on codec-handle Shawn Guo
2012-03-05 14:31 ` [PATCH v2 15/17] ASoC: fsl: let fsl_ssi work with imx pcm and machine drivers Shawn Guo
2012-03-05 14:31 ` [PATCH v2 16/17] ASoC: fsl: add dt support for imx-audmux Shawn Guo
2012-03-06 12:49 ` Mark Brown
2012-03-06 13:13 ` Shawn Guo
2012-03-05 14:31 ` [PATCH v2 17/17] ASoC: fsl: add imx-sgtl5000 machine driver Shawn Guo
2012-03-05 14:46 ` Mark Brown
2012-03-06 7:39 ` Shawn Guo
2012-03-06 12:02 ` Mark Brown
2012-03-06 13:34 ` Shawn Guo
2012-03-06 13:35 ` Mark Brown [this message]
2012-03-05 17:42 ` Sascha Hauer
2012-03-05 18:09 ` Matt Sealey
2012-03-05 19:32 ` Sascha Hauer
2012-03-05 20:44 ` Mark Brown
2012-03-05 21:08 ` Timur Tabi
2012-03-06 15:50 ` Shawn Guo
2012-03-07 8:37 ` Sascha Hauer
2012-03-07 21:05 ` [PATCH v2 00/17] ASoC: add imx-sgtl5000 machine driver working with fsl_ssi Timur Tabi
2012-03-07 21:08 ` Mark Brown
2012-03-07 23:03 ` Timur Tabi
2012-03-08 11:51 ` Mark Brown
2012-03-08 12:33 ` Shawn Guo
2012-03-08 12:36 ` Tabi Timur-B04825
2012-03-07 23:18 ` Timur Tabi
2012-03-08 12:02 ` Mark Brown
2012-03-08 12:37 ` Shawn Guo
2012-03-08 13:11 ` Shawn Guo
2012-03-08 14:45 ` Tabi Timur-B04825
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=20120306133506.GU19635@opensource.wolfsonmicro.com \
--to=broonie@opensource.wolfsonmicro.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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;
as well as URLs for NNTP newsgroup(s).