diff options
author | Hemant Gupta <hemant.gupta@stericsson.com> | 2011-05-30 20:13:57 +0530 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:06:01 +0200 |
commit | 1111f67691c150cae3e88f12fc9c50ab76b3aaff (patch) | |
tree | e8a72334da1be440363321eac7afe9949037f6f5 /drivers/media/radio/CG2900/cg2900_fm_driver.c | |
parent | ea3500f7b5e6f419ddc5552e2ff7c7d6909ab725 (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.c | 18 |
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: |