Re: [PATCH] radio-bcm2048: Fix region selection

From: Jan Roemisch
Date: Sat May 16 2015 - 11:20:59 EST


Removed "Japan wide band" region since this is impossible to do just
like that. Additionally it's now possible to go back to non-Japanese regions
without having to reload the module.

Greetings
Jan Roemisch

On Sat, May 16, 2015 at 07:06:17AM -0700, Greg KH wrote:
> On Sat, May 16, 2015 at 01:22:27PM +0200, Jan Roemisch wrote:
> > Oh sorry, the real name is Jan Roemisch.
>
> Ok, thanks, can someone please fix up the patches and resend them?
>
> greg k-h
>
diff --git a/drivers/staging/media/bcm2048/radio-bcm2048.c b/drivers/staging/media/bcm2048/radio-bcm2048.c
index 5382506..d2e7f1e 100644
--- a/drivers/staging/media/bcm2048/radio-bcm2048.c
+++ b/drivers/staging/media/bcm2048/radio-bcm2048.c
@@ -342,14 +342,6 @@ static struct region_info region_configs[] = {
.deemphasis = 50,
.region = 3,
},
- /* Japan wide band */
- {
- .channel_spacing = 10,
- .bottom_frequency = 76000,
- .top_frequency = 108000,
- .deemphasis = 50,
- .region = 4,
- },
};

/*
@@ -741,6 +733,18 @@ static int bcm2048_set_region(struct bcm2048_device *bdev, u8 region)

mutex_lock(&bdev->mutex);
bdev->region_info = region_configs[region];
+
+ if (region_configs[region].bottom_frequency < 87500)
+ bdev->cache_fm_ctrl |= BCM2048_BAND_SELECT;
+ else
+ 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 ||