Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 226295
b: refs/heads/master
c: b7c7a4b
h: refs/heads/master
i:
  226293: e9ef2ad
  226291: 7e29d48
  226287: b6d443b
v: v3
  • Loading branch information
Mauro Carvalho Chehab committed Dec 29, 2010
1 parent da9e346 commit 921751b
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 17 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: 5ae094cea1b4f3715ee6ea4f49d0b36d564f90e7
refs/heads/master: b7c7a4bed8d695933ae172031556de9de30ae598
6 changes: 0 additions & 6 deletions trunk/drivers/media/video/bt8xx/bttv-driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -4041,9 +4041,6 @@ static irqreturn_t bttv_irq(int irq, void *dev_id)

btv=(struct bttv *)dev_id;

if (btv->custom_irq)
handled = btv->custom_irq(btv);

count=0;
while (1) {
/* get/clear interrupt status bits */
Expand Down Expand Up @@ -4079,7 +4076,6 @@ static irqreturn_t bttv_irq(int irq, void *dev_id)
btv->field_count++;

if ((astat & BT848_INT_GPINT) && btv->remote) {
wake_up(&btv->gpioq);
bttv_input_irq(btv);
}

Expand Down Expand Up @@ -4284,7 +4280,6 @@ static int __devinit bttv_probe(struct pci_dev *dev,
mutex_init(&btv->lock);
spin_lock_init(&btv->s_lock);
spin_lock_init(&btv->gpio_lock);
init_waitqueue_head(&btv->gpioq);
init_waitqueue_head(&btv->i2c_queue);
INIT_LIST_HEAD(&btv->c.subs);
INIT_LIST_HEAD(&btv->capture);
Expand Down Expand Up @@ -4472,7 +4467,6 @@ static void __devexit bttv_remove(struct pci_dev *pci_dev)

/* tell gpio modules we are leaving ... */
btv->shutdown=1;
wake_up(&btv->gpioq);
bttv_input_fini(btv);
bttv_sub_del_devices(&btv->c);

Expand Down
20 changes: 13 additions & 7 deletions trunk/drivers/media/video/bt8xx/bttv-input.c
Original file line number Diff line number Diff line change
Expand Up @@ -120,11 +120,15 @@ static void ir_enltv_handle_key(struct bttv *btv)
ir->last_gpio = data | keyup;
}

static int bttv_rc5_irq(struct bttv *btv);

void bttv_input_irq(struct bttv *btv)
{
struct bttv_ir *ir = btv->remote;

if (!ir->polling)
if (ir->rc5_gpio)
bttv_rc5_irq(btv);
else if (!ir->polling)
ir_handle_key(btv);
}

Expand Down Expand Up @@ -251,10 +255,6 @@ static int bttv_rc5_irq(struct bttv *btv)
/* read gpio port */
gpio = bttv_gpio_read(&btv->c);

/* remote IRQ? */
if (!(gpio & 0x20))
return 0;

/* get time of bit */
current_jiffies = jiffies;
do_gettimeofday(&tv);
Expand All @@ -267,6 +267,13 @@ static int bttv_rc5_irq(struct bttv *btv)
tv.tv_usec - ir->base_time.tv_usec;
}

dprintk(KERN_INFO DEVNAME ": RC5 IRQ: gap %d us for %s\n",
gap, (gpio & 0x20) ? "mark" : "space");

/* remote IRQ? */
if (!(gpio & 0x20))
return 0;

/* active code => add bit */
if (ir->active) {
/* only if in the code (otherwise spurious IRQ or timer
Expand Down Expand Up @@ -479,8 +486,7 @@ int bttv_input_init(struct bttv *btv)
break;
case BTTV_BOARD_NEBULA_DIGITV:
ir_codes = RC_MAP_NEBULA;
btv->custom_irq = bttv_rc5_irq;
ir->rc5_gpio = 1;
ir->rc5_gpio = true;
break;
case BTTV_BOARD_MACHTV_MAGICTV:
ir_codes = RC_MAP_APAC_VIEWCOMP;
Expand Down
4 changes: 1 addition & 3 deletions trunk/drivers/media/video/bt8xx/bttvp.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ struct bttv_ir {
int rc5_remote_gap;

/* RC5 gpio */
u32 rc5_gpio;
bool rc5_gpio; /* Is RC5 legacy GPIO enabled? */
u32 last_bit; /* last raw bit seen */
u32 code; /* raw code under construction */
struct timeval base_time; /* time of last seen code */
Expand Down Expand Up @@ -364,12 +364,10 @@ struct bttv {
struct bttv_pll_info pll;
int triton1;
int gpioirq;
int (*custom_irq)(struct bttv *btv);

int use_i2c_hw;

/* old gpio interface */
wait_queue_head_t gpioq;
int shutdown;

void (*volume_gpio)(struct bttv *btv, __u16 volume);
Expand Down

0 comments on commit 921751b

Please sign in to comment.