summaryrefslogtreecommitdiff
path: root/drivers/media/radio/CG2900/cg2900_fm_driver.c
diff options
context:
space:
mode:
authorHemant Gupta <hemant.gupta@stericsson.com>2011-05-30 20:13:57 +0530
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:06:01 +0200
commit1111f67691c150cae3e88f12fc9c50ab76b3aaff (patch)
treee8a72334da1be440363321eac7afe9949037f6f5 /drivers/media/radio/CG2900/cg2900_fm_driver.c
parentea3500f7b5e6f419ddc5552e2ff7c7d6909ab725 (diff)
CG2900 FM Radio: Handling Mono-Stereo Interrupt.
The linux FM driver for CG2900 now supports mono-stereo transition interrupt from the CG2900. It indicates stereo to mono transition or vice versa. Support for RDS Interrupt, Scan Completion Interrupt, CG2900 Reset Interrupt, etc is also added in this patch. ST-Ericsson ID: 324264 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I280a2a00a6f58e105d11f3a9f14ea662719c485e Signed-off-by: Hemant Gupta <hemant.gupta@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30511 Reviewed-by: Johan PALMAEUS <johan.xj.palmaeus@stericsson.com> Reviewed-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com> Tested-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com>
Diffstat (limited to 'drivers/media/radio/CG2900/cg2900_fm_driver.c')
-rw-r--r--drivers/media/radio/CG2900/cg2900_fm_driver.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/drivers/media/radio/CG2900/cg2900_fm_driver.c b/drivers/media/radio/CG2900/cg2900_fm_driver.c
index 6ac380409c1..9959790cbe8 100644
--- a/drivers/media/radio/CG2900/cg2900_fm_driver.c
+++ b/drivers/media/radio/CG2900/cg2900_fm_driver.c
@@ -2309,6 +2309,9 @@ int fmd_rx_get_stereo_mode(
)
{
int err;
+ int io_result;
+ u16 response_count;
+ u16 response_data[CMD_RP_GET_STATE_RSP_PARAM_LEN];
if (fmd_go_cmd_busy()) {
err = -EBUSY;
@@ -2325,7 +2328,20 @@ int fmd_rx_get_stereo_mode(
goto error;
}
- *mode = fmd_state_info.rx_stereo_mode;
+ io_result = fmd_send_cmd_and_read_resp(
+ CMD_FMR_RP_GET_STATE,
+ CMD_RP_GET_STATE_PARAM_LEN,
+ NULL,
+ &response_count,
+ response_data);
+
+ if (io_result != 0) {
+ err = io_result;
+ goto error;
+ }
+
+ /* 2nd element of response is stereo signal */
+ *mode = response_data[1];
err = 0;
error: