From: David Brownell Date: Wed, 23 May 2007 05:34:05 +0000 (-0700) Subject: tsc2102-alsa build fixes X-Git-Tag: v2.6.22-omap1~115 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=dc4a1626d9f010083bc1429a4b2c89e8e85b8c7c;p=linux-2.6-omap-h63xx.git tsc2102-alsa build fixes Various fixes needed to build the tsc2102 audio. Several fixes relate specifically to building it as a module. Note that this doesn't address the need for omap-alsa-dma.c to go into a separate module so that e.g. tsc2101 and tsc2102 modules can both be built, or the assumption that the audio is going out over McBSP not EAC. Signed-off-by: David Brownell --- diff --git a/drivers/spi/tsc2102.c b/drivers/spi/tsc2102.c index 130b1c22dab..59171cac73f 100644 --- a/drivers/spi/tsc2102.c +++ b/drivers/spi/tsc2102.c @@ -583,7 +583,8 @@ static void tsc2102_pressure(unsigned long data) &dev->adc_status, tsc2102_pressure_report); } -#ifdef CONFIG_SOUND +#if defined(CONFIG_SND_OMAP_TSC2102) || defined(CONFIG_SND_OMAP_TSC2102_MODULE) + /* * Volume level values should be in the range [0, 127]. * Higher values mean lower volume. @@ -607,6 +608,7 @@ void tsc2102_set_volume(uint8_t left_ch, uint8_t right_ch) spin_unlock(&tsc.lock_sync); } +EXPORT_SYMBOL_GPL(tsc2102_set_volume); void tsc2102_set_mute(int left_ch, int right_ch) { @@ -622,6 +624,7 @@ void tsc2102_set_mute(int left_ch, int right_ch) spin_unlock(&tsc.lock_sync); } +EXPORT_SYMBOL_GPL(tsc2102_set_mute); void tsc2102_get_mute(int *left_ch, int *right_ch) { @@ -650,6 +653,7 @@ void tsc2102_set_deemphasis(int enable) tsc2102_write_sync(TSC2102_DAC_POWER_CTRL, val); spin_unlock(&tsc.lock_sync); } +EXPORT_SYMBOL_GPL(tsc2102_set_deemphasis); void tsc2102_set_bassboost(int enable) { @@ -665,6 +669,7 @@ void tsc2102_set_bassboost(int enable) tsc2102_write_sync(TSC2102_DAC_POWER_CTRL, val); spin_unlock(&tsc.lock_sync); } +EXPORT_SYMBOL_GPL(tsc2102_set_bassboost); /* {rate, dsor, fsref} */ static const struct tsc2102_rate_info_s tsc2102_rates[] = { @@ -730,6 +735,7 @@ int tsc2102_set_rate(int rate) spin_unlock(&tsc.lock_sync); return 0; } +EXPORT_SYMBOL(tsc2102_set_rate); /* * Perform basic set-up with default values and power the DAC on. @@ -762,6 +768,7 @@ void tsc2102_dac_power(int state) spin_unlock(&tsc.lock_sync); } +EXPORT_SYMBOL_GPL(tsc2102_dac_power); void tsc2102_set_i2s_master(int state) { @@ -777,7 +784,9 @@ void tsc2102_set_i2s_master(int state) spin_unlock(&tsc.lock_sync); } -#endif /* CONFIG_SOUND */ +EXPORT_SYMBOL_GPL(tsc2102_set_i2s_master); + +#endif /* CONFIG_SND_OMAP_TSC2101 */ static int tsc2102_configure(struct tsc2102_dev *dev) { diff --git a/include/linux/spi/tsc2102.h b/include/linux/spi/tsc2102.h index b779fb1176e..be133008a6c 100644 --- a/include/linux/spi/tsc2102.h +++ b/include/linux/spi/tsc2102.h @@ -53,7 +53,7 @@ extern int tsc2102_ports_cb(tsc2102_ports_t handler); extern int tsc2102_temp1_cb(tsc2102_temp_t handler); extern int tsc2102_temp2_cb(tsc2102_temp_t handler); -#ifdef CONFIG_SOUND +#if defined(CONFIG_SND_OMAP_TSC2102) || defined(CONFIG_SND_OMAP_TSC2102_MODULE) extern void tsc2102_set_volume(uint8_t left_ch, uint8_t right_ch); extern void tsc2102_set_mute(int left_ch, int right_ch); extern void tsc2102_get_mute(int *left_ch, int *right_ch); diff --git a/sound/arm/omap/omap-alsa-tsc2102.c b/sound/arm/omap/omap-alsa-tsc2102.c index 2e1643a98ed..1ca5ba9e95f 100644 --- a/sound/arm/omap/omap-alsa-tsc2102.c +++ b/sound/arm/omap/omap-alsa-tsc2102.c @@ -19,7 +19,8 @@ #include #include -#include +#include + #include #include #include diff --git a/sound/arm/omap/omap-alsa-tsc2102.h b/sound/arm/omap/omap-alsa-tsc2102.h index c4b34f85e4e..cee2839a644 100644 --- a/sound/arm/omap/omap-alsa-tsc2102.h +++ b/sound/arm/omap/omap-alsa-tsc2102.h @@ -26,8 +26,9 @@ #endif #define DEFAULT_SAMPLE_RATE 44100 + +/* FIXME codec clock rate is board-specific */ #define CODEC_CLOCK 12000000 -#define AUDIO_MCBSP OMAP_MCBSP1 /* * ALSA mixer related macros