On Thursday 13 October 2005 17:40, Trev Jackson wrote:
> On Thursday 13 Oct 2005 14:22, Trev Jackson wrote:
> > On Thursday 13 Oct 2005 13:43, Hans Verkuil wrote:
> > > > On Thursday 13 Oct 2005 11:53, Trev Jackson wrote:
> > > >> > Hi
> > > >> >
> > > >> > I tried SVN-1291, which gives a similar error:
> > > >> >
> > > >> > make[2]: Entering directory `/usr/src/linux-2.6.8.1-12mdk'
> > > >> >   CC [M]  /home/mythtv/ivtv-2791/driver/ivtv-driver.o
> > > >> > /home/mythtv/ivtv-2791/driver/ivtv-driver.c: In function
> > > >> > `ivtv_read_eeprom':
> > > >> > /home/mythtv/ivtv-2791/driver/ivtv-driver.c:468: warning: passing
> > > >> > arg 1 of `tveeprom_hauppauge_analog' from
> > > >>
> > > >> incompatible
> > > >>
> > > >> > pointer type
> > > >> > /home/mythtv/ivtv-2791/driver/ivtv-driver.c:468: warning: passing
> > > >> > arg
> > > >>
> > > >> 2
> > > >>
> > > >> > of `tveeprom_hauppauge_analog' from incompatible pointer type
> > > >> > /home/mythtv/ivtv-2791/driver/ivtv-driver.c:468: error: too few
> > > >>
> > > >> arguments
> > > >>
> > > >> > to function `tveeprom_hauppauge_analog'
> > > >> > /home/mythtv/ivtv-2791/driver/ivtv-driver.c: In function
> > > >> > `ivtv_probe': /home/mythtv/ivtv-2791/driver/ivtv-driver.c:1292:
> > > >> > error:
> > > >>
> > > >> `TUNER_SET_TYPE'
> > > >>
> > > >> > undeclared (first use in this function)
> > > >> > /home/mythtv/ivtv-2791/driver/ivtv-driver.c:1292: error: (Each
> > > >>
> > > >> undeclared
> > > >>
> > > >> > identifier is reported only once
> > > >> > /home/mythtv/ivtv-2791/driver/ivtv-driver.c:1292: error: for each
> > > >> > function it appears in.)
> > > >> > make[3]: *** [/home/mythtv/ivtv-2791/driver/ivtv-driver.o] Error 1
> > > >> > make[2]: *** [_module_/home/mythtv/ivtv-2791/driver] Error 2
> > > >> > make[2]: Leaving directory `/usr/src/linux-2.6.8.1-12mdk'
> > > >> > make[1]: *** [all] Error 2
> > > >> > make[1]: Leaving directory `/home/mythtv/ivtv-2791/driver'
> > > >> > make: *** [all] Error 2
> > > >> >
> > > >> > I'm still doing:
> > > >> > > In the ivtv directory I'm doing:
> > > >> > >
> > > >> > > make v4l-checkout
> > > >> > > make v4l
> > > >> > > make v4l-install
> > > >> > >
> > > >> >  >make
> > > >> >
> > > >> > line 1292 of ivtv-driver.c reads:
> > > >> >
> > > >> >                 ivtv_tv_tuner(itv, TUNER_SET_TYPE,
> > > >> > &(itv->options.tuner));
> > > >> >
> > > >> > The kernel versions later than  2, 6, 13 uses:
> > > >> >
> > > >> >              ivtv_tv_tuner(itv, TUNER_SET_TYPE_ADDR, &setup);
> > > >> >
> > > >> >
> > > >> > Should TUNER_SET_TYPE be TUNER_SET_TYPE_ADDR
> > > >> >
> > > >> > Has anyone else with an earlier kernel had similar problems with
> > > >> > the 0.5.0
> > > >> >
> > > >> > Best Regards
> > > >> >
> > > >> > Trev
> > > >>
> > > >> Hi
> > > >>
> > > >> I've had a look at SVN-1290 and
> > > >>
> > > >> TUNER_SET_TYPE is defined in tuner.h
> > > >>
> > > >> The new tuner.h in SVN-1291 does not have it set, is this an
> > > >> oversight?
> > > >>
> > > >> Best Regards
> > > >>
> > > >> Trev
> > > >
> > > > Hi again
> > > >
> > > > I added:
> > > >
> > > > #define TUNER_SET_TYPE               _IOW('t',1,int)    /* set tuner
> > > > type */
> > > >
> > > > to ivtv-compat.h
> > > >
> > > > I also hacked line 468 of ivtv-driver.c from:
> > > >
> > > > tveeprom_hauppauge_analog(tv, eedata);
> > > >
> > > > to
> > > >
> > > > tveeprom_hauppauge_analog(&itv->i2c_client,tv, eedata);
> > > >
> > > > ivtv now compiles and appears to work OK.
> > > >
> > > > I'm not sure if the above modifications are correct, but they at
> > > > least show
> > > > the problem.
> > >
> > > No, it's not right. Make sure you have the latest from svn 0.5 (there
> > > was a bug in the tveeprom_hauppauge_analog handling that was fixed).
> > > ivtv should use the headers from the checked out v4l-kernel.
> > >
> > >             Hans
> >
> > Hi
> >
> > The tveeprom error does not exist in SVN-2811.
> >
> > However the problem with TUNER_SET_TYPE not being defined in the
> > v4l-kernel tuner.h file is still there.
> > I have started working on updating the cs53l32a module and to get the
> > code to compile I am currently adding:
> >
> > #define TUNER_SET_TYPE               _IOW('t',1,int)    /* set tuner type
> >
> > to ivtv-compat.h
> >
> > I assume because it is not defined in the new tuner.h, that it is not
> > used in the new tuner.c and is therefore a different parameter needs to
> > be used in the ivtv-driver.c function call:
> >
> > ivtv_tv_tuner(itv, TUNER_SET_TYPE, &(itv->options.tuner));
> >
> >
> > Best Regards
> >
> > Trev
>
> Hi again
>
> I've looked at the old tuner.c and it appears that TUNER_SET_TYPE is used
> for Kernels prior to 2.6.13.  newer Kernels use TUNER_SET_TYPE_ADDR.
> The new file tuner-core.c only uses TUNER_SET_TYPE_ADDR.
>
> I assume from this that TUNER_SET_TYPE_ADDR can be used for earlier kernels
> when calling ivtv_tv_tuner.  However I don't know enough about kernel
> version differences to know why the function is currently called
> differently from ivtv-driver.c for different kernels or how to fix it.

Update your svn and the problem is gone. Since with 0.5 the latest v4l is 
required the kernel version check was obsolete and the new version should 
always be used. I'd forgotten about that one.

                Hans

_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel

Reply via email to