[PATCH] Compiling av7110 firmware into the driver (was.
Re: [linux-dvb] How to compile the firmware into the driver?)
Klaus Schmidinger
Klaus.Schmidinger at cadsoft.de
Mon Dec 5 17:20:52 CET 2005
Oliver Endriss wrote:
> Oliver Endriss wrote:
>
>>Klaus Schmidinger wrote:
>>
>>>Johannes Stezenbach wrote:
>>>
>>>>On Sun, Dec 04, 2005, Klaus Schmidinger wrote:
>>>>
>>>>
>>>>>I have downloaded the latest driver snapshot from
>>>>>
>>>>> http://linuxtv.org/downloads/snapshots/v4l-dvb-20051202.tar.gz
>>>>>
>>>>>and the latest firmware from
>>>>>
>>>>> http://linuxtv.org/downloads/firmware/dvb-ttpci-01.fw-2622
>>>>>
>>>>>and expanded the driver source into
>>>>>
>>>>> /home/kls/vdr/DVB-v4l-dvb.2005-12-02
>>>>>
>>>>>
>>>>>What is the simplest method to build this driver and have
>>>>>it compile the firmware into it?
>>>>>
>>>>>I tried writing
>>>>>
>>>>>CONFIG_DVB_AV7110_FIRMWARE=y
>>>>>CONFIG_DVB_AV7110_FIRMWARE_FILE=./dvb-ttpci-01.fw
>>>>
>>>>
>>>>We agreed to drop support for this during the merge of the trees
>>>>(there was some build problem, can't remember what it was,
>>>>but I thought no one uses this anyway so let's drop it).
>>>
>>>Does this mean that it should no longer be possible to compile
>>>the firmware into the driver? Well, apparently it _is_ possible,
>>>so please don't drop this - it's the way I want to do this, because
>>>this hotplug stuff may be good for a user system, but on my system
>>>I want to be able to easily switch driver versions by simply
>>>setting a symlink.
>>>
>>>I've decided to give the dvb-kernel driver another chance today,
>>>so please don't scare me away from it again ;-)
>>
>>Please be patient. I will look into this.
>
>
> Ok, please test the attached patch.
> Compiling av7110 firmware into the driver should work again.
>
> Signed-off-by: Oliver Endriss <o.endriss at gmx.de>
>
> I don't see any reason why this should not be applied to CVS.
>
> Oliver
>
>
>
> ------------------------------------------------------------------------
>
> Index: v4l/Makefile
> ===================================================================
> RCS file: /cvs/video4linux/v4l-dvb/v4l/Makefile,v
> retrieving revision 1.116
> diff -p -u -r1.116 Makefile
> --- v4l/Makefile 29 Nov 2005 16:03:52 -0000 1.116
> +++ v4l/Makefile 4 Dec 2005 19:06:33 -0000
> @@ -162,6 +162,18 @@ endif
> ifeq ($(CONFIG_DVB_AV7110_OSD),y)
> EXTRA_CFLAGS += -DCONFIG_DVB_AV7110_OSD=1
> endif
> +ifeq ($(CONFIG_DVB_AV7110_FIRMWARE),y)
> +src := $(PWD)
> +
> +$(src)/av7110.c: $(obj)/av7110_firm.h
> +
> +$(obj)/fdump:
> + $(CC) -o $@ $(src)/fdump.c
> +
> +$(obj)/av7110_firm.h: $(obj)/fdump
> + $(obj)/fdump $(CONFIG_DVB_AV7110_FIRMWARE_FILE) dvb_ttpci_fw $@
> +endif
> +
>
> #################################################
> # compile modules
> @@ -406,7 +418,7 @@ rmmodules::
> clean::
> @find . -name '*.c' -type l -exec rm '{}' \;
> @find . -name '*.h' -type l -exec rm '{}' \;
> - -rm -f *~ *.o *.ko *.mod.c
> + -rm -f *~ *.o *.ko *.mod.c av7110_firm.h fdump
>
> distclean:: clean
> -rm -f .version .*.o.flags .*.o.d .*.o.cmd .*.ko.cmd
I just updated from the CVS into
/home/kls/vdr/DVB-v4l-dvb.2005-12-05
applied your patch and did
--- /home/kls/vdr/DVB.head/v4l-dvb/v4l/Make.config 2005-11-29 14:36:59.000000000 +0100
+++ Make.config 2005-12-05 17:14:21.089979980 +0100
@@ -19,7 +19,7 @@
# doesn't build on kernels older than 2.6.12
-CONFIG_VIDEO_BUF_DVB := n
+CONFIG_VIDEO_BUF_DVB := m
CONFIG_VIDEO_CX88_DVB := n
CONFIG_VIDEO_SAA7134_DVB := n
@@ -90,5 +90,7 @@
CONFIG_DVB_TTUSB_DEC := m
CONFIG_VIDEO_SAA7146 := m
CONFIG_VIDEO_SAA7146_VV := m
+ CONFIG_DVB_AV7110_FIRMWARE := y
+ CONFIG_DVB_AV7110_FIRMWARE_FILE := ./dvb-ttpci-01.fw
endif
Finally I copied the file dvb-ttpci-01.fw-2622 into
/home/kls/vdr/DVB.head/v4l-dvb/v4l/dvb-ttpci-01.fw
The 'make' call then gave me
kls at hawk:/home/kls/vdr/DVB-v4l-dvb.2005-12-05 > make
make -C /home/kls/vdr/DVB-v4l-dvb.2005-12-05/v4l
make[1]: Entering directory `/home/kls/vdr/DVB-v4l-dvb.2005-12-05/v4l'
echo "No version yet."
No version yet.
uname -r|perl -ne 'if (/^([0-9]*)\.([0-9])*\.([0-9]*)(.*)$/) { printf ("VERSION=%s\nPATCHLEVEL:=%s\nSUBLEVEL:=%s\nKERNELRELEASE:=%s.%s.%s%s\n",$1,$2,$3,$1,$2,$3,$4); };' > ./.version
make[1]: Leaving directory `/home/kls/vdr/DVB-v4l-dvb.2005-12-05/v4l'
make[1]: Entering directory `/home/kls/vdr/DVB-v4l-dvb.2005-12-05/v4l'
cc -o fdump /home/kls/vdr/DVB-v4l-dvb.2005-12-05/fdump.c
cc: /home/kls/vdr/DVB-v4l-dvb.2005-12-05/fdump.c: No such file or directory
cc: no input files
make[1]: *** [fdump] Error 1
make[1]: Leaving directory `/home/kls/vdr/DVB-v4l-dvb.2005-12-05/v4l'
make: *** [all] Error 2
Did I do something wrong?
Klaus
More information about the linux-dvb
mailing list