V4L/DVB (10064): mt9m111: mt9m111_get_global_gain() - unsigned >= 0 is always true

unsigned >= 0 is always true and fix formula

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
roel kluin 2008-12-17 14:01:07 -03:00 committed by Mauro Carvalho Chehab
parent d25cb6461a
commit 0f28b79346
1 changed files with 5 additions and 8 deletions

View File

@ -634,18 +634,15 @@ static int mt9m111_set_flip(struct soc_camera_device *icd, int flip, int mask)
static int mt9m111_get_global_gain(struct soc_camera_device *icd)
{
unsigned int data, gain;
int data;
data = reg_read(GLOBAL_GAIN);
if (data >= 0)
gain = ((data & (1 << 10)) * 2)
| ((data & (1 << 9)) * 2)
| (data & 0x2f);
else
gain = data;
return gain;
return (data & 0x2f) * (1 << ((data >> 10) & 1)) *
(1 << ((data >> 9) & 1));
return data;
}
static int mt9m111_set_global_gain(struct soc_camera_device *icd, int gain)
{
u16 val;