On Tue, 2008-06-17 at 09:17 -0400, Brandon Jenkins wrote: > >> Am Sonntag, den 15.06.2008, 18:04 -0400 schrieb Andy Walls: > >>> On Sun, 2008-06-15 at 08:05 -0400, Brandon Jenkins wrote: > > > >>>> Also, I have noticed a new message in dmesg indicating that ir > >>>> transmitters may now be accessible? Is there anything I need to > >>>> do to > >>>> make use of them? > >>>> > >>> I haven't had a chance to try the IR blaster out yet (it was on my > >>> todo > >>> list before Feb 2009). "Mark's brain dump" has a modified lirc > >>> package > >>> for the PVR-150 IR blaster: > >>> > >>> http://www.blushingpenguin.com/mark/blog/?p=24 > >>> http://charles.hopto.org/blog/?p=24 > >>> > Andy, > > Thank you for taking an interest. I am not quite sure what you said > above, but if you need someone to test I am willing to do so. While I > was trying to figure out how to make this work; I did find the > lirc_pvr150 code, but got lost when trying to make it work with the > cx18. I do have the firmware downloaded as well. > > I can set up a HG clone of which ever branch of yours you'd like me to > use. The only drivers I compile are for the cx18 and for the HD-PVR, > which I can merge into your branch. Brandon, I have made changes to the cx18 driver code to add in the IR chip reset support for the Z8F0811 IR microcontroller chip on the HVR-1600. I have done no testing aside from making sure that the change didn't break the cx18 driver when not using IR. You can find it as the latest change in this repository: http://linuxtv.org/hg/~awalls/cx18-i2c/ I am also including my best guess at a patch to the lirc_pvr150.c module for the HVR-1600. I have not compiled it; I have not tested it. It's what I think needed to be done, which is not a lot given the HVR-1600's similarity to the PVR-150. Please let me know how testing turns out. Regards, Andy
--- lirc/drivers/lirc_pvr150/lirc_pvr150.c.orig 2008-06-22 20:04:23.000000000 -0400 +++ lirc/drivers/lirc_pvr150/lirc_pvr150.c 2008-06-22 20:25:49.000000000 -0400 @@ -67,6 +67,7 @@ /* We need to be able to reset the crappy IR chip by talking to the ivtv driver */ struct ivtv; void ivtv_reset_ir_gpio(struct ivtv *itv); +void cx18_reset_ir_gpio(void *data); struct IR { @@ -197,7 +198,12 @@ static int add_to_buf(struct IR *ir) printk(KERN_ERR "lirc_pvr150: polling the IR receiver " "chip failed, trying reset\n"); - ivtv_reset_ir_gpio(i2c_get_adapdata(ir->c_rx.adapter)); + if (strncmp(ir->c_rx.name, "cx18", 4)) + ivtv_reset_ir_gpio( + i2c_get_adapdata(ir->c_rx.adapter)); + else + cx18_reset_ir_gpio( + i2c_get_adapdata(ir->c_rx.adapter)); set_current_state(TASK_UNINTERRUPTIBLE); schedule_timeout((100 * HZ + 999) / 1000); ir->need_boot = 1; @@ -983,7 +989,12 @@ static ssize_t write(struct file *filep, up(&ir->lock); return ret; } - ivtv_reset_ir_gpio(i2c_get_adapdata(ir->c_tx.adapter)); + if (strncmp(ir->c_tx.name, "cx18", 4)) + ivtv_reset_ir_gpio( + i2c_get_adapdata(ir->c_tx.adapter)); + else + cx18_reset_ir_gpio( + i2c_get_adapdata(ir->c_tx.adapter)); set_current_state(TASK_UNINTERRUPTIBLE); schedule_timeout((100 * HZ + 999) / 1000); ir->need_boot = 1; @@ -1434,6 +1445,7 @@ int init_module(void) { init_MUTEX(&tx_data_lock); request_module("ivtv"); + request_module("cx18"); request_module("firmware_class"); i2c_add_driver(&driver); return 0;
_______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb