Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 138059
b: refs/heads/master
c: 2bd1d9e
h: refs/heads/master
i:
  138057: bbdb58a
  138055: 051ecfe
v: v3
  • Loading branch information
Vitaly Wool authored and Mauro Carvalho Chehab committed Mar 30, 2009
1 parent 9ae4deb commit c4717fd
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3341cc6e86da7b956084d5b6c9ca2e4f1c27f9bf
refs/heads/master: 2bd1d9eb1c27034a77c8e1887156da72d6160ae1
21 changes: 20 additions & 1 deletion trunk/drivers/media/video/em28xx/em28xx-cards.c
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,22 @@ static struct em28xx_reg_seq default_tuner_gpio[] = {
{ -1, -1, -1, -1},
};

/* Mute/unmute */
static struct em28xx_reg_seq compro_unmute_tv_gpio[] = {
{EM28XX_R08_GPIO, 5, 7, 10},
{ -1, -1, -1, -1},
};

static struct em28xx_reg_seq compro_unmute_svid_gpio[] = {
{EM28XX_R08_GPIO, 4, 7, 10},
{ -1, -1, -1, -1},
};

static struct em28xx_reg_seq compro_mute_gpio[] = {
{EM28XX_R08_GPIO, 6, 7, 10},
{ -1, -1, -1, -1},
};

/*
* Board definitions
*/
Expand Down Expand Up @@ -1225,14 +1241,17 @@ struct em28xx_board em28xx_boards[] = {
.tda9887_conf = TDA9887_PRESENT,
.decoder = EM28XX_TVP5150,
.adecoder = EM28XX_TVAUDIO,
.mute_gpio = compro_mute_gpio,
.input = { {
.type = EM28XX_VMUX_TELEVISION,
.vmux = TVP5150_COMPOSITE0,
.amux = EM28XX_AMUX_LINE_IN,
.amux = EM28XX_AMUX_VIDEO,
.gpio = compro_unmute_tv_gpio,
}, {
.type = EM28XX_VMUX_SVIDEO,
.vmux = TVP5150_SVIDEO,
.amux = EM28XX_AMUX_LINE_IN,
.gpio = compro_unmute_svid_gpio,
} },
},
[EM2860_BOARD_KAIOMY_TVNPC_U2] = {
Expand Down
5 changes: 5 additions & 0 deletions trunk/drivers/media/video/em28xx/em28xx-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -378,6 +378,11 @@ static int em28xx_set_audio_source(struct em28xx *dev)
}
}

if (dev->board.mute_gpio && dev->mute)
em28xx_gpio_set(dev, dev->board.mute_gpio);
else
em28xx_gpio_set(dev, INPUT(dev->ctl_input)->gpio);

ret = em28xx_write_reg_bits(dev, EM28XX_R0E_AUDIOSRC, input, 0xc0);
if (ret < 0)
return ret;
Expand Down
6 changes: 6 additions & 0 deletions trunk/drivers/media/video/em28xx/em28xx-i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -510,12 +510,17 @@ static int attach_inform(struct i2c_client *client)
dprintk1(1, "attach_inform: tvp5150 detected.\n");
break;

case 0xb0:
dprintk1(1, "attach_inform: tda9874 detected\n");
break;

default:
if (!dev->tuner_addr)
dev->tuner_addr = client->addr;

dprintk1(1, "attach inform: detected I2C address %x\n",
client->addr << 1);
dprintk1(1, "driver id %d\n", client->driver->id);

}

Expand Down Expand Up @@ -554,6 +559,7 @@ static char *i2c_devs[128] = {
[0x80 >> 1] = "msp34xx",
[0x88 >> 1] = "msp34xx",
[0xa0 >> 1] = "eeprom",
[0xb0 >> 1] = "tda9874",
[0xb8 >> 1] = "tvp5150a",
[0xba >> 1] = "tvp5150a",
[0xc0 >> 1] = "tuner (analog)",
Expand Down
7 changes: 7 additions & 0 deletions trunk/drivers/media/video/em28xx/em28xx-video.c
Original file line number Diff line number Diff line change
Expand Up @@ -540,6 +540,13 @@ static void video_mux(struct em28xx *dev, int index)
&route);
}

if (dev->board.adecoder != EM28XX_NOADECODER) {
route.input = dev->ctl_ainput;
route.output = dev->ctl_aoutput;
em28xx_i2c_call_clients(dev, VIDIOC_INT_S_AUDIO_ROUTING,
&route);
}

em28xx_audio_analog_set(dev);
}

Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/media/video/em28xx/em28xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,7 @@ struct em28xx_board {
struct em28xx_reg_seq *dvb_gpio;
struct em28xx_reg_seq *suspend_gpio;
struct em28xx_reg_seq *tuner_gpio;
struct em28xx_reg_seq *mute_gpio;

unsigned int is_em2800:1;
unsigned int has_msp34xx:1;
Expand Down

0 comments on commit c4717fd

Please sign in to comment.