| On Tue, Apr 05, 2005 at 06:34:10PM -0400, D. Hugh Redelmeier wrote: | > Chris: I am willing to investigate if you can point me at the *exact* | > code so that I can duplicate the problem here.
| Just replace the DECODER_SET_OUTPUT ioctl in cx25840.c with this... I started with http://ivtv.no-ip.info/ivtv-0.3/ivtv-0.3.2r.tgz and made the change to it that you specified I tried, but hit a couple of problems. - the text of your message is somewhat curdled. I'm not sure what your code is supposed to be -- some newlines were lost? - this code won't build (on my Fedora Core 3 i386 system; kernel-2.6.10-1.770_FC3). It gets a lot of messages line this: /home/hugh/tba/ivtv/ivtv-0.3.2r/driver/ivtv-kthreads.c:1019: error: structure has no member named `magic' /home/hugh/tba/ivtv/ivtv-0.3.2r/driver/ivtv-kthreads.c:1019: error: structure has no member named `lock' /home/hugh/tba/ivtv/ivtv-0.3.2r/driver/ivtv-kthreads.c:1019: error: structure has no member named `babble' /home/hugh/tba/ivtv/ivtv-0.3.2r/driver/ivtv-kthreads.c:1019: error: structure has no member named `babble' /home/hugh/tba/ivtv/ivtv-0.3.2r/driver/ivtv-kthreads.c:1019: error: structure has no member named `module' /home/hugh/tba/ivtv/ivtv-0.3.2r/driver/ivtv-kthreads.c:1019: error: structure has no member named `owner' The code being complained about appears innocent to me (but I am not experienced with kernel code): spin_lock_irq(SIGMASK_LOCK(current)) I investigated a litle. I looked at what the preprocessor did to the code. It boiled down to: (((get_current()))->magic get_current is a function that returns a pointer to the current process's struct task_struct. There is no definition of struct task_struct in the preprocessed code. So dereferencing get_current is likely to fail. Perhaps an include file is missing? struct task_struct seems to be defined in <linux/sched.h>. But there is no magic field! Very odd. Since that was not the problem I started out to solve, I just commented out the lines that generated these errors. (Not a solution!!) Once I did that, a make (in drivers/, of course) worked. Three deprecated interruptible_sleep_on calls. BUT NO ASSEMBLEY ERRORS :-( Sorry, I don't seem to be any help. Can you show me a way to duplicate the problem you experienced? On Tue, 5 Apr 2005, Chris Kennedy wrote: | Just replace the DECODER_SET_OUTPUT ioctl in cx25840.c with this... | | case DECODER_ENABLE_OUTPUT: | { | int *iarg = arg; | int enable = (*iarg != 0); | | ERR("decoder %s output", | enable ? "enable" : "disable"); | | if (state->enable != enable) { | state->enable = enable; | | if (state->enable) { | cx25840_write(client, 0x115, (cx25840_read(client, 0x115)|0x04)); | cx25840_write(client, 0x116, | (cx25840_read(client, 0x116)|0x04)); if (no_black_magic == 0) { | // 01063 time 3:37.684 WI2C(4, 0x43, 0x00, 0x16, 0x70, 0x4a); | } } else { | cx25840_write(client, 0x115, (cx25840_read(client, 0x115)&0xfb)); | cx25840_write(client, 0x116, | (cx25840_read(client, 0x116)&0xfb)); | } | } | //cx25840_write(client, 0x4A5, 0x80); /*Assert Video Reset */ | //cx25840_write(client, 0x4A5, 0x00); /*DeAssert Video Reset */ | break; | } ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ ivtv-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ivtv-devel
