By Date: <-- -->
By Thread: <-- -->

Norwood PCI TV card support (non-pro) - updated patch



В Втр, 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