linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: broonie@opensource.wolfsonmicro.com (Mark Brown)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 03/11] ASoC: fsl: add sgtl5000 clock support for imx-sgtl5000
Date: Wed, 2 May 2012 12:41:22 +0100	[thread overview]
Message-ID: <20120502114121.GB5722@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <20120502105024.GC2982@b20223-02.ap.freescale.net>

On Wed, May 02, 2012 at 06:50:24PM +0800, Richard Zhao wrote:
> On Tue, May 01, 2012 at 09:44:48PM +0800, Shawn Guo wrote:

> > > +	data->codec_clk = clk_get(&codec_dev->dev, NULL);

> > It's a clock of sgtl5000 codec.  I feel it makes more sense to have
> > sgtl5000 device driver than machine driver to manage this clock.

> The ASoC machine driver handled the clock settings, I just followed the
> same way, using snd_soc_dai_set_sysclk to set codec clk. But what you
> said  is reasonable. I also find it's impossible to use devm_get_clk.

> Mark, do you suggest get clk in ASoC machine driver or in codec driver?

We generally try to keep the clock API out of CODEC drivers due to the
issues with the clock API that the generic implementation is intended to
help us solve.

The major problem here is that we can't rely on having the clock API
present at all on most platforms so as soon as we start adding clock
support into things we have to do a performance with HAVE_CLK which is
at best annoying.

There's also the fact that even if the clock API is available we've no
way to register a clock consistently and since the audio clock tree
often needs management off-SoC for at least some components when the
clock API is in use you end up having to handle clock trees that go into
and out of the clock API.

The upshot of this is that while we really should be using the clock API
for clocks the API as it stands is somewhat difficult to deploy in cross
platform code.  What I'd suggest is connecting the clock to the CODEC in
the device tree but actually doing the clk_get() in the machine driver.
-------------- 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/20120502/82d6f6ac/attachment.sig>

  reply	other threads:[~2012-05-02 11:41 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-27  7:02 [PATCH 00/11] enable imx6q_sabrelite sgtl5000 audio support Richard Zhao
2012-04-27  7:02 ` [PATCH 01/11] dma: imx-sdma: make channel0 operations atomic Richard Zhao
2012-04-27  7:55   ` Sascha Hauer
2012-04-27  9:17     ` Richard Zhao
2012-04-27  8:21   ` Vinod Koul
2012-04-27  8:41     ` Richard Zhao
2012-04-27 10:22       ` Vinod Koul
2012-04-27 11:20         ` Mark Brown
2012-04-27 11:26         ` Richard Zhao
2012-04-27 11:33           ` Russell King - ARM Linux
2012-04-27 13:01             ` Laxman Dewangan
2012-04-27 13:10               ` Russell King - ARM Linux
2012-04-27 13:17                 ` Laxman Dewangan
2012-04-27 13:19                 ` Richard Zhao
2012-04-27  9:18   ` Lothar Waßmann
2012-04-27 13:25     ` Richard Zhao
2012-04-27 15:13       ` Lothar Waßmann
2012-04-27 15:27         ` Huang Shijie
2012-04-27  7:02 ` [PATCH 02/11] ASoC: imx-sgtl5000: add of_node_put when probe fail Richard Zhao
2012-04-27 17:44   ` Mark Brown
2012-04-27  7:02 ` [PATCH 03/11] ASoC: fsl: add sgtl5000 clock support for imx-sgtl5000 Richard Zhao
2012-04-27 17:44   ` Mark Brown
2012-05-01 13:44   ` Shawn Guo
2012-05-02 10:50     ` Richard Zhao
2012-05-02 11:41       ` Mark Brown [this message]
2012-05-02 12:12         ` Shawn Guo
2012-05-02 12:22           ` Mark Brown
2012-04-27  7:02 ` [PATCH 04/11] i2c: imx: add pinctrl support Richard Zhao
2012-04-27  8:40   ` Dong Aisheng
2012-04-27  9:15     ` Richard Zhao
2012-04-27  7:02 ` [PATCH 05/11] ARM: imx6q: move imx6q_sabrelite specific code to a dedicated function Richard Zhao
2012-05-01 13:18   ` Shawn Guo
2012-04-27  7:03 ` [PATCH 06/11] ARM: dts: imx6q-sabrelite: add ssi device Richard Zhao
2012-05-01 13:26   ` Shawn Guo
2012-05-02  2:38     ` Shawn Guo
2012-04-27  7:03 ` [PATCH 07/11] ARM: dts: imx6q-sabrelite: add audmux device Richard Zhao
2012-04-27  7:03 ` [PATCH 08/11] ASoC: imx-audmux: add pinctrl support Richard Zhao
2012-04-27  7:03 ` [PATCH 09/11] ARM: imx6q: add ssi1 clk_lookup Richard Zhao
2012-04-27  8:04   ` Sascha Hauer
2012-04-27  9:10     ` Richard Zhao
2012-04-27  9:25       ` Sascha Hauer
2012-04-30  2:01         ` Richard Zhao
2012-04-30 12:18           ` Sascha Hauer
2012-05-02 10:34             ` Richard Zhao
2012-05-02 14:34               ` Shawn Guo
2012-05-02 16:33                 ` Sascha Hauer
2012-04-27  7:03 ` [PATCH 10/11] ARM: imx6q_sabrelite: clkdev_add cko1 for sgtl5000 Richard Zhao
2012-05-01 12:47   ` Shawn Guo
2012-05-01 23:39     ` Shawn Guo
2012-05-02  2:47       ` [alsa-devel] " Fabio Estevam
2012-05-02  3:37         ` Shawn Guo
2012-05-02 11:00     ` Richard Zhao
2012-04-27  7:03 ` [PATCH 11/11] ARM: dts: imx6q-sabrelite: add sound device imx6q-sabrelite-sgtl5000 Richard Zhao
2012-05-01 12:55   ` Shawn Guo
2012-05-02 10:37     ` Richard Zhao

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=20120502114121.GB5722@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).