On Wed, 21 Mar 2007 00:33:46 +1100 Nick Andrew <nick-linuxtv@xxxxxxxxxxxxxxx> wrote: > Here's my patch so far. > > Two remaining problems: > > > 1 - device is probed twice and I end up with 4 /dev/dvb adapters > rather than two. The reason is that the USB configuration defines > two interfaces, so the probe function is called once for each > interface. > > I don't yet know what to do about this. Presumably the right > solution is to configure tuner/demod 0 on the first call to > m920x_probe(), and tuner/demod 1 on the second call. But I don't > know how to achieve this because all the configuring happens inside > dvb_usb_device_init() and it's mostly hardcoded inside the @adapter > array in dvb_usb_device_properties. > > I wrote a quick workaround (which _isn't_ in this patch) which > detects if it is probing bInterface == 1, and if so then returns > without probing, and that proves my analysis (only 2 adapters > are created under /dev/dvb). > > > 2 - I haven't been able to stream anything with 'dvbstream', > although kaffeine works fine. I expect this is not going to > prevent acceptance of my patch. > > > description: > m920x: add support for LifeView TV Walker Twin > > From: Nick Andrew <nick@xxxxxxxxxxxxxxx> > > Add support for "LifeView TV Walker Twin" (USB IDs 10fd:0514, > 10fd:0513) > > Signed-off-by: Nick Andrew <nick@xxxxxxxxxxxxxxx> > > Nick. Nice job! Signed-off-by: Aapo Tahkola <aet@xxxxxxxxxxxxxx> Add comments to describe different sticks rc return values. These might conflict with future hardware. Signed-off-by: Aapo Tahkola <aet@xxxxxxxxxxxxxx> -- Aapo Tahkola
diff -r be687f5612f7 linux/drivers/media/dvb/dvb-usb/m920x.c --- a/linux/drivers/media/dvb/dvb-usb/m920x.c Tue Mar 20 16:37:24 2007 +0200 +++ b/linux/drivers/media/dvb/dvb-usb/m920x.c Tue Mar 20 16:38:50 2007 +0200 @@ -135,25 +135,25 @@ static int m9206_rc_query(struct dvb_usb *event = d->props.rc_key_map[i].event; switch(rc_state[0]) { - case 0x80: + case 0x80: /* megasky */ *state = REMOTE_NO_KEY_PRESSED; goto unlock; - case 0x88: /* framing error or "invalid code" */ - case 0x99: - case 0xc0: - case 0xd8: + case 0x88: /* lifeview */ /* framing error or "invalid code" */ + case 0x99: /* lifeview */ + case 0xc0: /* lifeview */ + case 0xd8: /* lifeview */ *state = REMOTE_NO_KEY_PRESSED; m->rep_count = 0; goto unlock; - case 0x93: - case 0x92: + case 0x93: /* megasky */ + case 0x92: /* megasky */ m->rep_count = 0; *state = REMOTE_KEY_PRESSED; goto unlock; - case 0x91: + case 0x91: /* megasky and lifeview */ /* prevent immediate auto-repeat */ if (++m->rep_count > 2) *state = REMOTE_KEY_REPEAT;
_______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb