From 4c3da9c3be320f7abfc192b94738f0c5f8a720f6 Mon Sep 17 00:00:00 2001 From: Peter Ujfalusi Date: Thu, 8 Mar 2012 11:01:37 +0200 Subject: [PATCH] --- yaml --- r: 293483 b: refs/heads/master c: cd1f08c7f64ce2093877ecafd21ee784c8ca2389 h: refs/heads/master i: 293481: d5351a9cb821610a5ed83662eda4c227678d5e30 293479: f514beab2fb9f5422f4208d506b5630f003b04ab v: v3 --- [refs] | 2 +- trunk/sound/soc/omap/mcbsp.c | 48 ++++++++++++++----------------- trunk/sound/soc/omap/mcbsp.h | 15 ++++------ trunk/sound/soc/omap/omap-mcbsp.c | 8 +++--- 4 files changed, 33 insertions(+), 40 deletions(-) diff --git a/[refs] b/[refs] index 02030ce59d64..ad842691a71e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 33cec399048545c64d9b9a1368b968acee8acb35 +refs/heads/master: cd1f08c7f64ce2093877ecafd21ee784c8ca2389 diff --git a/trunk/sound/soc/omap/mcbsp.c b/trunk/sound/soc/omap/mcbsp.c index c3e31deafa07..95413a168087 100644 --- a/trunk/sound/soc/omap/mcbsp.c +++ b/trunk/sound/soc/omap/mcbsp.c @@ -687,40 +687,36 @@ int omap2_mcbsp_set_clks_src(struct omap_mcbsp *mcbsp, u8 fck_src_id) return -EINVAL; } -void omap2_mcbsp1_mux_clkr_src(struct omap_mcbsp *mcbsp, u8 mux) +int omap_mcbsp_6pin_src_mux(struct omap_mcbsp *mcbsp, u8 mux) { - const char *src; - - if (mcbsp->id != 1) - return; + const char *signal, *src; + int ret = 0; - if (mux == CLKR_SRC_CLKR) + switch (mux) { + case CLKR_SRC_CLKR: + signal = "clkr"; src = "clkr"; - else if (mux == CLKR_SRC_CLKX) + break; + case CLKR_SRC_CLKX: + signal = "clkr"; src = "clkx"; - else - return; - - if (mcbsp->pdata->mux_signal) - mcbsp->pdata->mux_signal(mcbsp->dev, "clkr", src); -} - -void omap2_mcbsp1_mux_fsr_src(struct omap_mcbsp *mcbsp, u8 mux) -{ - const char *src; - - if (mcbsp->id != 1) - return; - - if (mux == FSR_SRC_FSR) + break; + case FSR_SRC_FSR: + signal = "fsr"; src = "fsr"; - else if (mux == FSR_SRC_FSX) + break; + case FSR_SRC_FSX: + signal = "fsr"; src = "fsx"; - else - return; + break; + default: + return -EINVAL; + } if (mcbsp->pdata->mux_signal) - mcbsp->pdata->mux_signal(mcbsp->dev, "fsr", src); + ret = mcbsp->pdata->mux_signal(mcbsp->dev, signal, src); + + return ret; } #define max_thres(m) (mcbsp->pdata->buffer_size) diff --git a/trunk/sound/soc/omap/mcbsp.h b/trunk/sound/soc/omap/mcbsp.h index acc94700f5b7..a944fcc9073c 100644 --- a/trunk/sound/soc/omap/mcbsp.h +++ b/trunk/sound/soc/omap/mcbsp.h @@ -230,13 +230,11 @@ enum { #define XRDYEN BIT(10) #define XEMPTYEOFEN BIT(14) -/* CLKR signal muxing options */ -#define CLKR_SRC_CLKR 0 -#define CLKR_SRC_CLKX 1 - -/* FSR signal muxing options */ -#define FSR_SRC_FSR 0 -#define FSR_SRC_FSX 1 +/* Clock signal muxing options */ +#define CLKR_SRC_CLKR 0 /* CLKR signal is from the CLKR pin */ +#define CLKR_SRC_CLKX 1 /* CLKR signal is from the CLKX pin */ +#define FSR_SRC_FSR 2 /* FSR signal is from the FSR pin */ +#define FSR_SRC_FSX 3 /* FSR signal is from the FSX pin */ /* McBSP functional clock sources */ #define MCBSP_CLKS_PRCM_SRC 0 @@ -333,8 +331,7 @@ void omap_mcbsp_stop(struct omap_mcbsp *mcbsp, int tx, int rx); int omap2_mcbsp_set_clks_src(struct omap_mcbsp *mcbsp, u8 fck_src_id); /* McBSP signal muxing API */ -void omap2_mcbsp1_mux_clkr_src(struct omap_mcbsp *mcbsp, u8 mux); -void omap2_mcbsp1_mux_fsr_src(struct omap_mcbsp *mcbsp, u8 mux); +int omap_mcbsp_6pin_src_mux(struct omap_mcbsp *mcbsp, u8 mux); /* Sidetone specific API */ int omap_st_set_chgain(struct omap_mcbsp *mcbsp, int channel, s16 chgain); diff --git a/trunk/sound/soc/omap/omap-mcbsp.c b/trunk/sound/soc/omap/omap-mcbsp.c index 10eb645ceeef..d8409b008431 100644 --- a/trunk/sound/soc/omap/omap-mcbsp.c +++ b/trunk/sound/soc/omap/omap-mcbsp.c @@ -554,22 +554,22 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, case OMAP_MCBSP_CLKR_SRC_CLKR: if (cpu_class_is_omap1()) break; - omap2_mcbsp1_mux_clkr_src(mcbsp, CLKR_SRC_CLKR); + err = omap_mcbsp_6pin_src_mux(mcbsp, CLKR_SRC_CLKR); break; case OMAP_MCBSP_CLKR_SRC_CLKX: if (cpu_class_is_omap1()) break; - omap2_mcbsp1_mux_clkr_src(mcbsp, CLKR_SRC_CLKX); + err = omap_mcbsp_6pin_src_mux(mcbsp, CLKR_SRC_CLKX); break; case OMAP_MCBSP_FSR_SRC_FSR: if (cpu_class_is_omap1()) break; - omap2_mcbsp1_mux_fsr_src(mcbsp, FSR_SRC_FSR); + err = omap_mcbsp_6pin_src_mux(mcbsp, FSR_SRC_FSR); break; case OMAP_MCBSP_FSR_SRC_FSX: if (cpu_class_is_omap1()) break; - omap2_mcbsp1_mux_fsr_src(mcbsp, FSR_SRC_FSX); + err = omap_mcbsp_6pin_src_mux(mcbsp, FSR_SRC_FSX); break; default: err = -ENODEV;