[alsa-devel] [PATCH 2/8] ASoC: OMAP: RX-51 Machine driver and AIC34b_dummy driver
Mark Brown
broonie at opensource.wolfsonmicro.com
Thu Oct 8 15:11:16 CEST 2009
On Thu, Oct 08, 2009 at 02:58:51PM +0300, Eduardo Valentin wrote:
> From: Eduardo Valentin <eduardo.valentin at nokia.com>
> Introduce RX-51 Machine driver for ASoC and AIC34b_dummy (block B) i2c driver.
What is an "AIC34b_dummy (block B)"? You probably want to split it out
into a separate patch.
> + * TODO:
> + * - Get rid of this driver, at least when ASoC v2 is merged and when
> + * we can support multiple codec instances in tlv320aic3x.c driver.
> + * This driver is hacked only for Nokia RX51 HW.
Could you please explain what the issue here is? A description of the
hardware would go a long way here.
> +EXPORT_SYMBOL(aic34b_set_mic_bias);
EXPORT_SYMBOL_GPL().
> +static void rx51_set_eci_switches(int mode)
> +{
> + switch (mode) {
> + case 0: /* Bias off */
> + case 1: /* Bias according to rx51_dapm_jack_bias */
> + case 4: /* Bias on */
> + /* Codec connected to mic/bias line */
> + gpio_set_value(RX51_ECI_SWITCH_1_GPIO, 0);
> + gpio_set_value(RX51_ECI_SWITCH_2_GPIO, 1);
> + break;
> + case 2:
> + /* ECI INT#2 detect connected to mic/bias line */
> + gpio_set_value(RX51_ECI_SWITCH_1_GPIO, 0);
> + gpio_set_value(RX51_ECI_SWITCH_2_GPIO, 0);
> + break;
> + case 3:
> + /* ECI RX/TX connected to mic/bias line */
> + gpio_set_value(RX51_ECI_SWITCH_1_GPIO, 1);
> + gpio_set_value(RX51_ECI_SWITCH_2_GPIO, 0);
> + break;
> + }
Some defines for the mode (instead of magic numbers) would be nice).
> +void rx51_jack_report(int status)
> +{
> + snd_jack_report(rx51_jack, status);
> +}
> +EXPORT_SYMBOL(rx51_jack_report);
Why is this being exported?
> +enum {
> + RX51_EXT_API_AIC34B,
> +};
> +#define SOC_RX51_EXT_SINGLE_TLV(xname, ext_api, max, tlv_array) \
> +{ \
> + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
> + .name = xname, \
> + .access = SNDRV_CTL_ELEM_ACCESS_TLV_READ | \
> + SNDRV_CTL_ELEM_ACCESS_READWRITE, \
> + .tlv.p = (tlv_array), \
> + .info = rx51_ext_info_volsw, \
> + .get = rx51_ext_get_volsw, \
> + .put = rx51_ext_put_volsw, \
> + .private_value = (ext_api) << 26 | (max) << 16, \
> +}
This looks like it ought to be pushed down into some other driver?
--
To unsubscribe from this list: send the line "unsubscribe alsa-devel" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the Alsa-devel
mailing list