From: maxx <[email protected]>

This actually fixes region selection for BCM2048 FM receiver. To select
the japanese FM-band an additional bit in FM_CTRL register needs to be
set. This might not sound so important but it enables at least me to
listen to some 'very interesting' radio transmission below normal
FM-band.

Patch writen by [email protected]

Signed-off-by: Pali Rohár <[email protected]>
Cc: [email protected]
---
 drivers/staging/media/bcm2048/radio-bcm2048.c |   13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/staging/media/bcm2048/radio-bcm2048.c 
b/drivers/staging/media/bcm2048/radio-bcm2048.c
index aeb6c3c..1482d4b 100644
--- a/drivers/staging/media/bcm2048/radio-bcm2048.c
+++ b/drivers/staging/media/bcm2048/radio-bcm2048.c
@@ -739,7 +739,20 @@ static int bcm2048_set_region(struct bcm2048_device *bdev, 
u8 region)
                return -EINVAL;
 
        mutex_lock(&bdev->mutex);
+
        bdev->region_info = region_configs[region];
+
+       bdev->cache_fm_ctrl &= ~BCM2048_BAND_SELECT;
+       if (region > 2) {
+               bdev->cache_fm_ctrl |= BCM2048_BAND_SELECT;
+               err = bcm2048_send_command(bdev, BCM2048_I2C_FM_CTRL,
+                                       bdev->cache_fm_ctrl);
+               if (err) {
+                       mutex_unlock(&bdev->mutex);
+                       goto done;
+               }
+       }
+
        mutex_unlock(&bdev->mutex);
 
        if (bdev->frequency < region_configs[region].bottom_frequency ||
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to