int bttv_gpio_enable(unsigned int card, unsigned long mask, unsigned long data) { struct bttv *btv; if (card >= bttv_num) { return -EINVAL; } btv = &bttvs[card]; gpio_inout(mask,data); if (bttv_gpio) bttv_gpio_tracking(btv,"extern enable"); return 0; }
int bttv_gpio_enable(unsigned int card, unsigned long mask, unsigned long data) { struct bttv *btv; if (card >= bttv_num) { return -EINVAL; } btv = &bttvs[card]; btaor(data, ~mask, BT848_GPIO_OUT_EN); if (bttv_gpio) bttv_gpio_tracking(btv,"extern enable"); return 0; }
int bttv_write_gpio(unsigned int card, unsigned long mask, unsigned long data) { struct bttv *btv; if (card >= bttv_num) { return -EINVAL; } btv = &bttvs[card]; /* prior setting BT848_GPIO_REG_INP is (probably) not needed because direct input is set on init */ gpio_bits(mask,data); if (bttv_gpio) bttv_gpio_tracking(btv,"extern write"); return 0; }