Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 124270
b: refs/heads/master
c: 2fe3e2e
h: refs/heads/master
v: v3
  • Loading branch information
Mauro Carvalho Chehab committed Dec 29, 2008
1 parent 4f7a9ec commit 0242f08
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 16 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: f502e861849ade3a128964410c87acedf437a6a1
refs/heads/master: 2fe3e2ee72ef17daad1d3769321bb7dd69a003a9
2 changes: 1 addition & 1 deletion trunk/drivers/media/video/em28xx/em28xx-cards.c
Original file line number Diff line number Diff line change
Expand Up @@ -1456,7 +1456,7 @@ void em28xx_pre_card_setup(struct em28xx *dev)
em28xx_set_mode(dev, EM28XX_ANALOG_MODE);

/* Unlock device */
em28xx_set_mode(dev, EM28XX_MODE_UNDEFINED);
em28xx_set_mode(dev, EM28XX_SUSPEND);
}

static void em28xx_setup_xc3028(struct em28xx *dev, struct xc2028_ctrl *ctl)
Expand Down
21 changes: 13 additions & 8 deletions trunk/drivers/media/video/em28xx/em28xx-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -737,12 +737,14 @@ int em28xx_gpio_set(struct em28xx *dev, struct em28xx_reg_seq *gpio)
if (!gpio)
return rc;

em28xx_write_reg(dev, 0x48, 0x00);
if (dev->mode == EM28XX_ANALOG_MODE)
em28xx_write_reg(dev, EM28XX_R12_VINENABLE, 0x67);
else
em28xx_write_reg(dev, EM28XX_R12_VINENABLE, 0x37);
msleep(6);
if (dev->mode != EM28XX_SUSPEND) {
em28xx_write_reg(dev, 0x48, 0x00);
if (dev->mode == EM28XX_ANALOG_MODE)
em28xx_write_reg(dev, EM28XX_R12_VINENABLE, 0x67);
else
em28xx_write_reg(dev, EM28XX_R12_VINENABLE, 0x37);
msleep(6);
}

/* Send GPIO reset sequences specified at board entry */
while (gpio->sleep >= 0) {
Expand All @@ -767,9 +769,12 @@ int em28xx_set_mode(struct em28xx *dev, enum em28xx_mode set_mode)
if (dev->mode == set_mode)
return 0;

if (set_mode == EM28XX_MODE_UNDEFINED) {
if (set_mode == EM28XX_SUSPEND) {
dev->mode = set_mode;
return 0;

/* FIXME: add suspend support for ac97 */

return em28xx_gpio_set(dev, dev->board.suspend_gpio);
}

dev->mode = set_mode;
Expand Down
8 changes: 4 additions & 4 deletions trunk/drivers/media/video/em28xx/em28xx-dvb.c
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ static int stop_streaming(struct em28xx_dvb *dvb)

em28xx_uninit_isoc(dev);

em28xx_set_mode(dev, EM28XX_MODE_UNDEFINED);
em28xx_set_mode(dev, EM28XX_SUSPEND);

return 0;
}
Expand Down Expand Up @@ -215,7 +215,7 @@ static int em28xx_dvb_bus_ctrl(struct dvb_frontend *fe, int acquire)
if (acquire)
return em28xx_set_mode(dev, EM28XX_DIGITAL_MODE);
else
return em28xx_set_mode(dev, EM28XX_MODE_UNDEFINED);
return em28xx_set_mode(dev, EM28XX_SUSPEND);
}

/* ------------------------------------------------------------------ */
Expand Down Expand Up @@ -466,12 +466,12 @@ static int dvb_init(struct em28xx *dev)
if (result < 0)
goto out_free;

em28xx_set_mode(dev, EM28XX_MODE_UNDEFINED);
em28xx_set_mode(dev, EM28XX_SUSPEND);
printk(KERN_INFO "Successfully loaded em28xx-dvb\n");
return 0;

out_free:
em28xx_set_mode(dev, EM28XX_MODE_UNDEFINED);
em28xx_set_mode(dev, EM28XX_SUSPEND);
kfree(dvb);
dev->dvb = NULL;
return result;
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/media/video/em28xx/em28xx-video.c
Original file line number Diff line number Diff line change
Expand Up @@ -1697,7 +1697,7 @@ static int em28xx_v4l2_close(struct inode *inode, struct file *filp)

/* do this before setting alternate! */
em28xx_uninit_isoc(dev);
em28xx_set_mode(dev, EM28XX_MODE_UNDEFINED);
em28xx_set_mode(dev, EM28XX_SUSPEND);

/* set alternate 0 */
dev->alt = 0;
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/media/video/em28xx/em28xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@
#define EM2800_I2C_WRITE_TIMEOUT 20

enum em28xx_mode {
EM28XX_MODE_UNDEFINED,
EM28XX_SUSPEND,
EM28XX_ANALOG_MODE,
EM28XX_DIGITAL_MODE,
};
Expand Down Expand Up @@ -336,6 +336,7 @@ struct em28xx_board {
unsigned int tda9887_conf;

struct em28xx_reg_seq *dvb_gpio;
struct em28xx_reg_seq *suspend_gpio;

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

0 comments on commit 0242f08

Please sign in to comment.