summaryrefslogtreecommitdiff
path: root/drivers/media/video/gspca/sonixj.c
diff options
context:
space:
mode:
authorJean-François Moine <moinejf@free.fr>2011-02-10 07:52:58 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-21 20:32:06 -0300
commite6a92a7445cc33bbfe2775eb50473fb43bb3a2da (patch)
tree37e52d3c906102cd52a73ef7449881961abe13fa /drivers/media/video/gspca/sonixj.c
parent222036765ccbdb1ff4feef22d8e2fc687a9cdcfd (diff)
[media] gspca - sonixj: Simplify GPIO setting when audio present
Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/gspca/sonixj.c')
-rw-r--r--drivers/media/video/gspca/sonixj.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/media/video/gspca/sonixj.c b/drivers/media/video/gspca/sonixj.c
index b7a7e96d3bd8..bfc09b97b061 100644
--- a/drivers/media/video/gspca/sonixj.c
+++ b/drivers/media/video/gspca/sonixj.c
@@ -1789,7 +1789,7 @@ static int sd_init(struct gspca_dev *gspca_dev)
{
struct sd *sd = (struct sd *) gspca_dev;
const u8 *sn9c1xx;
- u8 regGpio[] = { 0x29, 0x74 }; /* with audio */
+ u8 regGpio[] = { 0x29, 0x70 }; /* no audio */
u8 regF1;
/* setup a selector by bridge */
@@ -1801,6 +1801,8 @@ static int sd_init(struct gspca_dev *gspca_dev)
if (gspca_dev->usb_err < 0)
return gspca_dev->usb_err;
PDEBUG(D_PROBE, "Sonix chip id: %02x", regF1);
+ if (gspca_dev->audio)
+ regGpio[1] |= 0x04; /* with audio */
switch (sd->bridge) {
case BRIDGE_SN9C102P:
case BRIDGE_SN9C105:
@@ -1840,7 +1842,6 @@ static int sd_init(struct gspca_dev *gspca_dev)
reg_w1(gspca_dev, 0x02, 0x62);
break;
case BRIDGE_SN9C120:
- regGpio[1] = 0x70; /* no audio */
reg_w(gspca_dev, 0x01, regGpio, 2);
break;
}