All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: alsa-devel@alsa-project.org
Subject: Using simple-card to replace kirkwood-t5325.c
Date: Tue, 15 Apr 2014 18:13:02 +0200	[thread overview]
Message-ID: <20140415161302.GC1871@lunn.ch> (raw)

Hi Folks

I'm an ALSA newbie, so if i say anything stupid, please let me know.

I'm trying to replace sound/soc/kirkwood/kirkwood-t5325.c with DT,
using simple-card. I can get near, but i'm missing two things:

There does not appear to be a way to represent this in DT:

static int t5325_dai_init(struct snd_soc_pcm_runtime *rtd)
{
	struct snd_soc_codec *codec = rtd->codec;
	struct snd_soc_dapm_context *dapm = &codec->dapm;

	snd_soc_dapm_enable_pin(dapm, "Mic Jack");
	snd_soc_dapm_enable_pin(dapm, "Headphone Jack");
	snd_soc_dapm_enable_pin(dapm, "Speaker");

	return 0;
}

It appears that quite a few drivers need to enable pins. It also seems
common to disable pins and to set them to NC. Is this a generic enough
feature it could be added to the DT binding?

The second thing i need is:

static int t5325_hw_params(struct snd_pcm_substream *substream,
       	   struct snd_pcm_hw_params *params)
{
	struct snd_soc_pcm_runtime *rtd = substream->private_data;
	struct snd_soc_dai *codec_dai = rtd->codec_dai;
	unsigned int freq;

	freq = params_rate(params) * 256;

	return snd_soc_dai_set_sysclk(codec_dai, 0, freq, SND_SOC_CLOCK_IN);

}

static struct snd_soc_ops t5325_ops = {
       .hw_params = t5325_hw_params,
};


This seems a lot less common requirements. All the Marvell SoCs need
it, but not many others. So i don't think it makes sense to add it
directly to simple-card, otherwise simple-card quickly becomes
complex-card as everybody else wants there quirks adding.

Has there been any thoughts about turning simple-card.c into a
library, or adding hooks so that a driver can modify the created
dai_link structures to add in ops like this?

	 Thanks
		Andrew

             reply	other threads:[~2014-04-15 16:15 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-15 16:13 Andrew Lunn [this message]
2014-04-15 18:40 ` Using simple-card to replace kirkwood-t5325.c Lars-Peter Clausen
2014-04-15 22:29   ` Mark Brown
2014-04-16 11:17     ` Andrew Lunn
2014-04-16 11:13   ` Andrew Lunn

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=20140415161302.GC1871@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=alsa-devel@alsa-project.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.