Norwood PCI TV card support (non-pro) - updated patch
- From: "Nickolay V. Shmyrev" <nshmyrev (at) yandex.ru>
- Date: Wed, 03 May 2006 10:22:44 +0400
В Втр, 02/05/2006 в 21:18 -0700, Peter Naulls пишет:
> In message <7be2631f4e.peter (at) chocky.org>
> Peter Naulls <peter (at) chocky.org> wrote:
>
> >
> > This is an updated version of the patch I posed last month. It
> > corrects the tuner type, and turns off audio when the device is closed.
> >
> > I'm still not entirely happy with this, so haven't signed it off. In
> > particular, there's noise in the TV card's audio buffer which turns up
> > the first time the device is opened after the module is loaded - maybe
> > someone more familiar with its tuner can comment. There's also no way to
> > detect the card, due to lack of subsystem ID. I wonder if there's data
> > elsewhere on the card that can be used to identify it.
>
> There seem to be no comments on this, and I don't have any other changes
> myself. Therefore:
>
> - Add support for Norwood PCI TV card (non-Pro) to cx88 driver
>
> Singed-off-by: Peter Naulls <peter (at) chocky.org>
>
> >
> > - if (ir->mask_keydown) {
> > + if (ir->core->board == CX88_BOARD_NORWOOD_MICRO) {
> > + u32 gpio_key = cx_read(MO_GP0_IO);
> > +
> > + data = (data << 4) | ((gpio_key & 0xf0) >> 4);
> > +
> > + ir_input_keydown(ir->input, &ir->ir, data, data);
> > + ir_input_nokey(ir->input, &ir->ir);
> > +
> > + } else if (ir->mask_keydown) {
> > + case CX88_BOARD_NORWOOD_MICRO:
> > + ir_codes = ir_codes_norwood;
> > + ir->gpio_addr = MO_GP1_IO;
> > + ir->mask_keycode = 0x0e;
> > + ir->mask_keyup = 0x80;
> > + ir->polling = 50; /* ms */
> > + break;
> > + }
> >
> >
Are you sure you need such a complicated way of getting keycode?
Probably can find the easier way to get it. You are also using keydown
with immediate keyup, what will be with autorepeat in this case?
> (at) (at) -1127,6 +1127,12 (at) (at) static int video_release(struct inode *i
> >
> > cx88_call_i2c_clients (dev->core, TUNER_SET_STANDBY, NULL);
> >
> > + /* Shut off audio */
> > + if (dev->core->board == CX88_BOARD_NORWOOD_MICRO) {
> > + struct cx88_core *core = dev->core;
> > + cx_clear(MO_GP0_IO, 0x0001);
> > + }
> > +
> > return 0;
> > }
This change seems rather strange, first of all, it's card-oriented,
which is bad thing. Probably you need to use more generic code. Second,
it just switches gpio0 as I see, isn't it just a switch from the tuner
to composite or something like that?
--
video4linux-list mailing list
Unsubscribe mailto:video4linux-list-request (at) redhat.com?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list