All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie@opensource.wolfsonmicro.com>
To: Eduardo Valentin <eduardo.valentin@nokia.com>
Cc: ext Tony Lindgren <tony@atomide.com>,
	"Ujfalusi Peter (Nokia-D/Tampere)" <peter.ujfalusi@nokia.com>,
	"Nurkkala Eero.An (EXT-Offcode/Oulu)"
	<ext-Eero.Nurkkala@nokia.com>, Jarkko Nikula <jhnikula@gmail.com>,
	Linux-OMAP <linux-omap@vger.kernel.org>,
	ALSA-Devel <alsa-devel@vger.kernel.org>
Subject: Re: [PATCH 1/8] ASoC: TPA6130A2 amplifier driver
Date: Thu, 8 Oct 2009 13:52:13 +0100	[thread overview]
Message-ID: <20091008125213.GA29176@rakim.wolfsonmicro.main> (raw)
In-Reply-To: <1255003137-1034-2-git-send-email-eduardo.valentin@nokia.com>

On Thu, Oct 08, 2009 at 02:58:50PM +0300, Eduardo Valentin wrote:

> +struct tpa6130a2_platform_data {
> +	int (*set_power)(int state);
> +};

Why is this a callback and not just a GPIO number?  That'd seem simpler
for users.

> +int tpa6130a2_add_controls(struct snd_soc_codec *codec)
> +{
> +	snd_soc_dapm_new_controls(codec, tpa6130a2_dapm_widgets,
> +				ARRAY_SIZE(tpa6130a2_dapm_widgets));
> +
> +	return snd_soc_add_controls(codec, tpa6130a2_controls,
> +				ARRAY_SIZE(tpa6130a2_controls));
> +
> +}
> +EXPORT_SYMBOL(tpa6130a2_add_controls);

All the ASoC APIs are EXPORT_SYMBOL_GPL().

> +	pdata = (struct tpa6130a2_platform_data *)client->dev.platform_data;
> +	/* Set default register values */
> +	data->regs[TPA6130A2_REG_CONTROL] = TPA6130A2_SWS |
> +					    TPA6130A2_HP_EN_R |
> +					    TPA6130A2_HP_EN_L;

This looks like you could implement stereo paths with individual power
control?

> +	data->regs[TPA6130A2_REG_VOL_MUTE] = TPA6130A2_VOLUME(20);

The standard thing is to use hardware defaults and leave decisions like
this up to user space.

> +	data->set_power = pdata->set_power;
> +	if (!pdata->set_power) {
> +		data->power_state = 1;
> +		tpa6130a2_initialize();
> +	}
> +	tpa6130a2_power(1);
> +
> +	/* Read version */
> +	err = tpa6130a2_i2c_read(TPA6130A2_REG_VERSION) &
> +				 TPA6130A2_VERSION_MASK;
> +	if ((err != 1) && (err != 2)) {
> +		dev_err(dev, "Unexpected headphone amplifier chip version "
> +		       "of 0x%02x, was expecting 0x01 or 0x02\n", err);
> +		err = -ENODEV;

This seems a bit excessive - is it really likely that the register map
would be changed incompatibly in a future version?

  parent reply	other threads:[~2009-10-08 12:52 UTC|newest]

Thread overview: 93+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-08 11:58 [PATCH 0/8] RX-51 audio drivers Eduardo Valentin
2009-10-08 11:58 ` [PATCH 1/8] ASoC: TPA6130A2 amplifier driver Eduardo Valentin
2009-10-08 11:58 ` Eduardo Valentin
2009-10-08 12:30   ` Eero Nurkkala
2009-10-08 12:30   ` Eero Nurkkala
2009-10-08 13:07     ` Peter Ujfalusi
2009-10-08 13:07     ` Peter Ujfalusi
2009-10-08 12:52   ` Mark Brown
2009-10-08 12:52   ` Mark Brown [this message]
2009-10-08 13:38     ` Peter Ujfalusi
2009-10-08 13:38     ` Peter Ujfalusi
2009-10-08 13:53       ` Mark Brown
2009-10-09  6:53         ` Peter Ujfalusi
2009-10-09 10:36           ` Mark Brown
2009-10-09  6:53         ` Peter Ujfalusi
2009-10-08 13:53       ` Mark Brown
2009-10-08 11:58 ` [PATCH 2/8] ASoC: OMAP: RX-51 Machine driver and AIC34b_dummy driver Eduardo Valentin
2009-10-08 11:58 ` Eduardo Valentin
2009-10-08 12:31   ` Eero Nurkkala
2009-10-08 12:31   ` Eero Nurkkala
2009-10-08 13:18     ` Eduardo Valentin
2009-10-08 13:18     ` Eduardo Valentin
2009-10-08 13:11   ` Mark Brown
2009-10-08 13:11   ` Mark Brown
2009-10-09  5:44     ` Jarkko Nikula
2009-10-09  6:37       ` Eduardo Valentin
2009-10-09  6:37       ` Eduardo Valentin
2009-10-09 12:19         ` Mark Brown
2009-10-09  5:44     ` Jarkko Nikula
2009-10-08 11:58 ` [PATCH 3/8] McBSP: OMAP3: Add Sidetone feature Eduardo Valentin
2009-10-08 11:58 ` Eduardo Valentin
2009-10-08 13:17   ` Mark Brown
2009-10-08 13:23     ` Eduardo Valentin
2009-10-08 13:27       ` Mark Brown
2009-10-09  5:09     ` Eero Nurkkala
2009-10-09 10:44       ` [alsa-devel] " Mark Brown
2009-10-12  6:17         ` Eero Nurkkala
2009-10-12  9:12           ` Mark Brown
2009-10-12  9:28             ` Eero Nurkkala
2009-10-12  9:32               ` Mark Brown
2009-10-12 10:28                 ` Eero Nurkkala
2009-10-12 10:33                   ` Mark Brown
2009-10-08 13:17   ` Mark Brown
2009-10-08 11:58 ` [PATCH 4/8] OMAP: RX51: Add audio board file Eduardo Valentin
2009-10-08 11:58 ` Eduardo Valentin
2009-10-08 11:58 ` [PATCH 5/8] board-rx51-peripherals: split vaux3 and vmmc2 supplies Eduardo Valentin
2009-10-08 11:58 ` Eduardo Valentin
2009-10-08 13:21   ` Mark Brown
2009-10-08 13:21   ` Mark Brown
2009-10-09  6:45     ` Eduardo Valentin
2009-10-09  6:45     ` Eduardo Valentin
2009-10-09 11:03       ` Mark Brown
2009-10-12  8:08         ` Eduardo Valentin
2009-10-12  9:18           ` Mark Brown
2009-10-14 17:15             ` Tony Lindgren
2009-10-15  9:01               ` Mark Brown
2009-10-16 16:14                 ` Tony Lindgren
2009-10-08 11:58 ` [PATCH 6/8] RX-51: Audio: Add usage of regulator framework to control VMMC2 Eduardo Valentin
2009-10-08 13:26   ` Mark Brown
2009-10-12  9:04     ` Eduardo Valentin
2009-10-12  9:04     ` Eduardo Valentin
2009-10-12  9:21       ` Mark Brown
2009-10-12  9:21       ` Mark Brown
2009-10-19  9:13         ` Eduardo Valentin
2009-10-19  9:23           ` Mark Brown
2009-10-19  9:24             ` Mark Brown
2009-10-19  9:24             ` Mark Brown
2009-10-19  9:23           ` Mark Brown
2009-10-19  9:13         ` Eduardo Valentin
2009-10-08 11:58 ` Eduardo Valentin
2009-10-08 11:58 ` [PATCH 7/8] ASoC: tlv320aic3x: add initial usage of regulator framework to control avdd_dac Eduardo Valentin
2009-10-08 11:58 ` Eduardo Valentin
2009-10-08 12:17   ` Eero Nurkkala
2009-10-08 13:17     ` Eduardo Valentin
2009-10-08 13:40     ` Mark Brown
2009-10-08 15:44       ` ext-Eero.Nurkkala
2009-10-08 16:01         ` Mark Brown
2009-10-08 16:01         ` Mark Brown
2009-10-09  4:28           ` Eero Nurkkala
2009-10-09  4:28           ` Eero Nurkkala
2009-10-09 10:19             ` Mark Brown
2009-10-09 10:19             ` Mark Brown
2009-10-08 15:44       ` ext-Eero.Nurkkala
2009-10-08 13:40     ` Mark Brown
2009-10-08 12:17   ` Eero Nurkkala
2009-10-08 13:38   ` Mark Brown
2009-10-08 13:38   ` Mark Brown
2009-10-08 11:58 ` [PATCH 8/8] ASoC: tpa6130a2: Control vdd using regulator framework Eduardo Valentin
2009-10-08 11:58 ` Eduardo Valentin
2009-10-08 13:43   ` Mark Brown
2009-10-08 13:56     ` Eduardo Valentin
2009-10-08 14:41       ` Mark Brown
2009-10-08 14:41       ` 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=20091008125213.GA29176@rakim.wolfsonmicro.main \
    --to=broonie@opensource.wolfsonmicro.com \
    --cc=alsa-devel@vger.kernel.org \
    --cc=eduardo.valentin@nokia.com \
    --cc=ext-Eero.Nurkkala@nokia.com \
    --cc=jhnikula@gmail.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=peter.ujfalusi@nokia.com \
    --cc=tony@atomide.com \
    /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.