From: Timur Tabi <b04825@freescale.com>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: "alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
Shawn Guo <shawn.guo@linaro.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v3 09/11] ASoC: fsl: remove the fatal error checking on codec-handle
Date: Thu, 15 Mar 2012 11:44:16 -0500 [thread overview]
Message-ID: <4F621C60.5090700@freescale.com> (raw)
In-Reply-To: <20120315142702.GL3138@opensource.wolfsonmicro.com>
Mark Brown wrote:
> On Wed, Mar 14, 2012 at 06:00:41PM -0500, Timur Tabi wrote:
>> Mark Brown wrote:
>
>> So using imx-audio-sgtl5000.txt as an example, you're saying that if I
>> have two SSIs, I should do this in my device tree:
>
>> sound1 {
>> };
>
>> sound2 {
>> };
>
> That's a totally sensible option if you've got two unrelated audio
> subsystems on your board for some reason. If you've got a system where
> that's not applicable and the two devices are related in some way then
> you'd define a new sound card binding that reflects that.
Well, the two SSIs are related only in that they're the same kind of
device. But SSI1 connected to CS4270_1 is completely independent from
SSI2 connected to CS4270_2.
So I guess that means that we'd have two soundX {} top-level nodes.
> The SoC is the bit of silicon with the CPU and other devices on it like
> the DMA controller and SSI or whatever ports. The card is the PCB this
> has been soldered down onto.
Well, I asked about the difference between the soc BINDING and the card
BINDING. On PowerPC, at least, there's no distinct binding for either.
For example, I2C devices are on the PCB, but they're listed as child nodes
of the I2C controller, which is on the SoC.
> The problem with your binding has always been, and continues to be, that
> it's based on the idea that there's one CODEC per SSI and that the CODEC
> is a simple appendage of that SSI. There's no real real binding for the
> machine driver, it's just silently created by a single SSI port. Really
> there's nothing new with this issue, there's always been this absence of
> a representation for the machine distinct from the individual devices it
> is built up from.
>
> This means that when you get systems which have auxiliary devices (like
> most of the Wolfson reference boards which have a power amplifier for
> the sub speaker not connected to an SSI port) or that need to set up
> things like complex accessory detection mechanisms there's no real place
> in your binding to support those systems. Things like the configuration
> of the input and output connections which the nVidia WM8903 drivers are
> able to do over multiple boards are another example.
Ok, fair enough. I understand that my binding has no way of specifying
board-specific properties, or anything that isn't directly related to the
SSI, codec, or DMA controller.
However, I don't like the way this is being represented as a PowerPC vs.
ARM issue, because that's just not correct. It's an "old binding" vs "new
binding" issue. For example:
+ /*
+ * In case of imx, the machine driver uses new binding which does
+ * not require SSI driver to trigger machine driver's probe, but
+ * the pcm device needs to be registered here.
+ */
+ if (ssi_private->ssi_on_imx) {
+ ssi_private->imx_pcm_pdev =
+ platform_device_register_simple("imx-pcm-audio",
This prohibits me from using the new binding on any future PowerPC parts,
because it clearly says "iMX" on everything.
--
Timur Tabi
Linux kernel developer at Freescale
WARNING: multiple messages have this Message-ID (diff)
From: b04825@freescale.com (Timur Tabi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 09/11] ASoC: fsl: remove the fatal error checking on codec-handle
Date: Thu, 15 Mar 2012 11:44:16 -0500 [thread overview]
Message-ID: <4F621C60.5090700@freescale.com> (raw)
In-Reply-To: <20120315142702.GL3138@opensource.wolfsonmicro.com>
Mark Brown wrote:
> On Wed, Mar 14, 2012 at 06:00:41PM -0500, Timur Tabi wrote:
>> Mark Brown wrote:
>
>> So using imx-audio-sgtl5000.txt as an example, you're saying that if I
>> have two SSIs, I should do this in my device tree:
>
>> sound1 {
>> };
>
>> sound2 {
>> };
>
> That's a totally sensible option if you've got two unrelated audio
> subsystems on your board for some reason. If you've got a system where
> that's not applicable and the two devices are related in some way then
> you'd define a new sound card binding that reflects that.
Well, the two SSIs are related only in that they're the same kind of
device. But SSI1 connected to CS4270_1 is completely independent from
SSI2 connected to CS4270_2.
So I guess that means that we'd have two soundX {} top-level nodes.
> The SoC is the bit of silicon with the CPU and other devices on it like
> the DMA controller and SSI or whatever ports. The card is the PCB this
> has been soldered down onto.
Well, I asked about the difference between the soc BINDING and the card
BINDING. On PowerPC, at least, there's no distinct binding for either.
For example, I2C devices are on the PCB, but they're listed as child nodes
of the I2C controller, which is on the SoC.
> The problem with your binding has always been, and continues to be, that
> it's based on the idea that there's one CODEC per SSI and that the CODEC
> is a simple appendage of that SSI. There's no real real binding for the
> machine driver, it's just silently created by a single SSI port. Really
> there's nothing new with this issue, there's always been this absence of
> a representation for the machine distinct from the individual devices it
> is built up from.
>
> This means that when you get systems which have auxiliary devices (like
> most of the Wolfson reference boards which have a power amplifier for
> the sub speaker not connected to an SSI port) or that need to set up
> things like complex accessory detection mechanisms there's no real place
> in your binding to support those systems. Things like the configuration
> of the input and output connections which the nVidia WM8903 drivers are
> able to do over multiple boards are another example.
Ok, fair enough. I understand that my binding has no way of specifying
board-specific properties, or anything that isn't directly related to the
SSI, codec, or DMA controller.
However, I don't like the way this is being represented as a PowerPC vs.
ARM issue, because that's just not correct. It's an "old binding" vs "new
binding" issue. For example:
+ /*
+ * In case of imx, the machine driver uses new binding which does
+ * not require SSI driver to trigger machine driver's probe, but
+ * the pcm device needs to be registered here.
+ */
+ if (ssi_private->ssi_on_imx) {
+ ssi_private->imx_pcm_pdev =
+ platform_device_register_simple("imx-pcm-audio",
This prohibits me from using the new binding on any future PowerPC parts,
because it clearly says "iMX" on everything.
--
Timur Tabi
Linux kernel developer at Freescale
next prev parent reply other threads:[~2012-03-15 16:44 UTC|newest]
Thread overview: 136+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-08 16:59 [PATCH v3 00/11] ASoC: add imx-sgtl5000 machine driver working with fsl_ssi Shawn Guo
2012-03-08 16:59 ` Shawn Guo
2012-03-08 16:59 ` [PATCH v3 01/11] ASoC: core: missing set_fmt should not be complaint Shawn Guo
2012-03-08 16:59 ` Shawn Guo
2012-03-08 18:24 ` Mark Brown
2012-03-08 18:24 ` Mark Brown
2012-03-08 16:59 ` [PATCH v3 02/11] ASoC: fsl: separate SSI and DMA Kconfig options Shawn Guo
2012-03-08 16:59 ` Shawn Guo
2012-03-08 16:59 ` [PATCH v3 03/11] ASoC: imx: merge sound/soc/imx into sound/soc/fsl Shawn Guo
2012-03-08 16:59 ` Shawn Guo
2012-03-08 16:59 ` [PATCH v3 04/11] ASoC: fsl: rename imx-pcm Kconfig options and filename Shawn Guo
2012-03-08 16:59 ` Shawn Guo
2012-03-08 16:59 ` [PATCH v3 05/11] ASoC: fsl: create fsl_utils to accommodate the common functions Shawn Guo
2012-03-08 16:59 ` Shawn Guo
2012-03-08 16:59 ` [PATCH v3 06/11] ASoC: fsl: remove helper fsl_asoc_get_codec_dev_name Shawn Guo
2012-03-08 16:59 ` Shawn Guo
2012-03-08 16:59 ` [PATCH v3 07/11] ASoC: fsl: check property 'compatible' for the machine name Shawn Guo
2012-03-08 16:59 ` Shawn Guo
2012-03-08 20:50 ` Timur Tabi
2012-03-08 20:50 ` Timur Tabi
2012-03-09 11:51 ` Mark Brown
2012-03-09 11:51 ` Mark Brown
2012-03-08 16:59 ` [PATCH v3 08/11] ASoC: fsl: make fsl_ssi driver compilable on ARM/IMX Shawn Guo
2012-03-08 16:59 ` Shawn Guo
2012-03-08 20:13 ` Timur Tabi
2012-03-08 20:13 ` Timur Tabi
2012-03-09 1:26 ` Shawn Guo
2012-03-09 1:26 ` Shawn Guo
2012-03-09 2:09 ` Tabi Timur-B04825
2012-03-09 2:09 ` Tabi Timur-B04825
2012-03-09 3:21 ` Shawn Guo
2012-03-09 3:21 ` Shawn Guo
2012-03-09 4:03 ` Tabi Timur-B04825
2012-03-09 4:03 ` Tabi Timur-B04825
2012-03-09 11:53 ` Mark Brown
2012-03-09 11:53 ` Mark Brown
2012-03-08 16:59 ` [PATCH v3 09/11] ASoC: fsl: remove the fatal error checking on codec-handle Shawn Guo
2012-03-08 16:59 ` Shawn Guo
2012-03-08 20:50 ` Timur Tabi
2012-03-08 20:50 ` Timur Tabi
2012-03-09 1:32 ` Shawn Guo
2012-03-09 1:32 ` Shawn Guo
2012-03-13 23:23 ` Timur Tabi
2012-03-13 23:23 ` Timur Tabi
2012-03-13 23:46 ` Mark Brown
2012-03-13 23:46 ` Mark Brown
2012-03-14 2:57 ` Tabi Timur-B04825
2012-03-14 2:57 ` Tabi Timur-B04825
2012-03-14 12:27 ` Mark Brown
2012-03-14 12:27 ` Mark Brown
2012-03-14 23:00 ` Timur Tabi
2012-03-14 23:00 ` Timur Tabi
2012-03-15 13:02 ` Shawn Guo
2012-03-15 13:02 ` Shawn Guo
2012-03-15 13:37 ` Tabi Timur-B04825
2012-03-15 13:37 ` Tabi Timur-B04825
2012-03-15 14:21 ` Shawn Guo
2012-03-15 14:21 ` Shawn Guo
2012-03-15 15:39 ` Trent Piepho
2012-03-15 15:39 ` [alsa-devel] " Trent Piepho
2012-03-15 15:57 ` Trent Piepho
2012-03-15 15:57 ` [alsa-devel] " Trent Piepho
2012-03-15 16:24 ` Mark Brown
2012-03-15 16:24 ` [alsa-devel] " Mark Brown
2012-03-15 16:47 ` Timur Tabi
2012-03-15 16:47 ` Timur Tabi
2012-03-16 1:27 ` Shawn Guo
2012-03-16 1:27 ` Shawn Guo
2012-03-16 1:55 ` Tabi Timur-B04825
2012-03-16 1:55 ` Tabi Timur-B04825
2012-03-17 21:42 ` Mark Brown
2012-03-17 21:42 ` Mark Brown
2012-03-15 14:27 ` Mark Brown
2012-03-15 14:27 ` Mark Brown
2012-03-15 14:34 ` Shawn Guo
2012-03-15 14:34 ` Shawn Guo
2012-03-15 16:44 ` Timur Tabi [this message]
2012-03-15 16:44 ` Timur Tabi
2012-03-15 17:11 ` Mark Brown
2012-03-15 17:11 ` Mark Brown
2012-03-16 2:01 ` Shawn Guo
2012-03-16 2:01 ` Shawn Guo
2012-03-16 2:07 ` Tabi Timur-B04825
2012-03-16 2:07 ` Tabi Timur-B04825
2012-03-16 2:23 ` Shawn Guo
2012-03-16 2:23 ` Shawn Guo
2012-03-16 3:44 ` Tabi Timur-B04825
2012-03-16 3:44 ` Tabi Timur-B04825
2012-03-16 3:53 ` Shawn Guo
2012-03-16 3:53 ` Shawn Guo
2012-03-16 4:08 ` Tabi Timur-B04825
2012-03-16 4:08 ` Tabi Timur-B04825
2012-03-16 4:14 ` Shawn Guo
2012-03-16 4:14 ` Shawn Guo
2012-03-16 4:17 ` Tabi Timur-B04825
2012-03-16 4:17 ` Tabi Timur-B04825
2012-03-16 2:52 ` Shawn Guo
2012-03-16 2:52 ` Shawn Guo
2012-03-16 3:53 ` Tabi Timur-B04825
2012-03-16 3:53 ` Tabi Timur-B04825
2012-03-16 4:05 ` Shawn Guo
2012-03-16 4:05 ` Shawn Guo
2012-03-16 19:18 ` Mark Brown
2012-03-16 19:18 ` Mark Brown
2012-03-09 11:55 ` Mark Brown
2012-03-09 11:55 ` Mark Brown
2012-03-08 16:59 ` [PATCH v3 10/11] ASoC: fsl: let fsl_ssi work with imx pcm and machine drivers Shawn Guo
2012-03-08 16:59 ` Shawn Guo
2012-03-08 19:15 ` Sascha Hauer
2012-03-08 19:15 ` Sascha Hauer
2012-03-09 1:51 ` Shawn Guo
2012-03-09 1:51 ` Shawn Guo
2012-03-08 20:45 ` Timur Tabi
2012-03-08 20:45 ` Timur Tabi
2012-03-09 3:19 ` Shawn Guo
2012-03-09 3:19 ` Shawn Guo
2012-03-09 4:02 ` Tabi Timur-B04825
2012-03-09 4:02 ` Tabi Timur-B04825
2012-03-09 5:00 ` Shawn Guo
2012-03-09 5:00 ` Shawn Guo
2012-03-08 16:59 ` [PATCH v3 11/11] ASoC: fsl: add imx-sgtl5000 machine driver Shawn Guo
2012-03-08 16:59 ` Shawn Guo
2012-03-08 20:05 ` [PATCH v3 00/11] ASoC: add imx-sgtl5000 machine driver working with fsl_ssi Timur Tabi
2012-03-08 20:05 ` Timur Tabi
2012-03-09 1:19 ` Shawn Guo
2012-03-09 1:19 ` Shawn Guo
2012-03-09 2:11 ` Tabi Timur-B04825
2012-03-09 2:11 ` Tabi Timur-B04825
2012-03-09 7:13 ` Shawn Guo
2012-03-09 7:13 ` Shawn Guo
2012-03-09 7:28 ` Shawn Guo
2012-03-09 7:28 ` Shawn Guo
2012-03-09 12:12 ` Mark Brown
2012-03-09 12:12 ` Mark Brown
2012-03-09 11:59 ` Mark Brown
2012-03-09 11:59 ` 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=4F621C60.5090700@freescale.com \
--to=b04825@freescale.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=s.hauer@pengutronix.de \
--cc=shawn.guo@linaro.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 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.