Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f99a633a authored by Jarkko Nikula's avatar Jarkko Nikula Committed by Jaroslav Kysela
Browse files

[ALSA] ASoC: Convert N810 machine driver to use gpiolib



Use gpiolib since it is now available for OMAPs. Change also references to
HW version RX44 to product name N810.

Signed-off-by: default avatarJarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
parent 1a250598
Loading
Loading
Loading
Loading
+14 −11
Original line number Diff line number Diff line
@@ -30,15 +30,15 @@

#include <asm/mach-types.h>
#include <asm/arch/hardware.h>
#include <asm/arch/gpio.h>
#include <linux/gpio.h>
#include <asm/arch/mcbsp.h>

#include "omap-mcbsp.h"
#include "omap-pcm.h"
#include "../codecs/tlv320aic3x.h"

#define RX44_HEADSET_AMP_GPIO	10
#define RX44_SPEAKER_AMP_GPIO	101
#define N810_HEADSET_AMP_GPIO	10
#define N810_SPEAKER_AMP_GPIO	101

static struct clk *sys_clkout2;
static struct clk *sys_clkout2_src;
@@ -154,9 +154,9 @@ static int n810_spk_event(struct snd_soc_dapm_widget *w,
			  struct snd_kcontrol *k, int event)
{
	if (SND_SOC_DAPM_EVENT_ON(event))
		omap_set_gpio_dataout(RX44_SPEAKER_AMP_GPIO, 1);
		gpio_set_value(N810_SPEAKER_AMP_GPIO, 1);
	else
		omap_set_gpio_dataout(RX44_SPEAKER_AMP_GPIO, 0);
		gpio_set_value(N810_SPEAKER_AMP_GPIO, 0);

	return 0;
}
@@ -165,9 +165,9 @@ static int n810_jack_event(struct snd_soc_dapm_widget *w,
			   struct snd_kcontrol *k, int event)
{
	if (SND_SOC_DAPM_EVENT_ON(event))
		omap_set_gpio_dataout(RX44_HEADSET_AMP_GPIO, 1);
		gpio_set_value(N810_HEADSET_AMP_GPIO, 1);
	else
		omap_set_gpio_dataout(RX44_HEADSET_AMP_GPIO, 0);
		gpio_set_value(N810_HEADSET_AMP_GPIO, 0);

	return 0;
}
@@ -303,12 +303,12 @@ static int __init n810_soc_init(void)
	clk_set_parent(sys_clkout2_src, func96m_clk);
	clk_set_rate(sys_clkout2, 12000000);

	if (omap_request_gpio(RX44_HEADSET_AMP_GPIO) < 0)
	if (gpio_request(N810_HEADSET_AMP_GPIO, "hs_amp") < 0)
		BUG();
	if (omap_request_gpio(RX44_SPEAKER_AMP_GPIO) < 0)
	if (gpio_request(N810_SPEAKER_AMP_GPIO, "spk_amp") < 0)
		BUG();
	omap_set_gpio_direction(RX44_HEADSET_AMP_GPIO, 0);
	omap_set_gpio_direction(RX44_SPEAKER_AMP_GPIO, 0);
	gpio_direction_output(N810_HEADSET_AMP_GPIO, 0);
	gpio_direction_output(N810_SPEAKER_AMP_GPIO, 0);

	return 0;
err2:
@@ -323,6 +323,9 @@ err1:

static void __exit n810_soc_exit(void)
{
	gpio_free(N810_SPEAKER_AMP_GPIO);
	gpio_free(N810_HEADSET_AMP_GPIO);

	platform_device_unregister(n810_snd_device);
}