tsc2102-alsa build fixes
PATCH 1/1 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 <[email protected]>
--- drivers/spi/tsc2102.c | 13 +++++++++++-- include/linux/spi/tsc2102.h | 2 +- sound/arm/omap/omap-alsa-tsc2102.c | 3 ++- sound/arm/omap/omap-alsa-tsc2102.h | 3 ++- 4 files changed, 16 insertions(+), 5 deletions(-)
sound/arm/omap/omap-alsa-tsc2102.c +2 -1
@@ -19,7 +19,8 @@#include <linux/module.h> #include <linux/spi/tsc2102.h> -#include <asm/arch/mcbsp.h> +#include <asm/io.h> +#include <asm/arch/dma.h> #include <asm/arch/clock.h> #include <asm/arch/omap-alsa.h>
include/linux/spi/tsc2102.h +1 -1
@@ -53,7 +53,7 @@ extern int tsc2102_ports_cb(tsc2102_portextern 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);
sound/arm/omap/omap-alsa-tsc2102.h +2 -1
@@ -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
drivers/spi/tsc2102.c +11 -2
@@ -583,7 +583,8 @@ static void tsc2102_pressure(unsigned lo &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,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 rspin_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) {