Hi everybody, Thanks for the excellent work done by Michael Krufky and Mauro Chehab in the last few days! Well Done, guys! I tested yesterday's mercurial tree against 2.6.19-rc6. As I stated already, the only card in my machine is a Pinnacle PCTV Sat. And I consequently want to save RAM, i. e. avoid modules that are not necessary for this card to function well. In so far the following 2 patches are still necessary. The first one is non destructive, the second one is partially destructive, as it removes dvb_attach for the dst and dst_ca module in backend module dvb-bt8xx.c. In other words: Manu Abraham has not yet done his homework. Without these two patches both modules are compiled as a standard default option although my card (and many many other cards supported by the mercurial tree) do not need them at all. To get rid of this nonsense I'd invite everybody reading this to apply those two patches on the current Mercurial tree (NOT owners of dst cards or clones) or, as far as I have seen, against 2.6.19-rc6-mm1 and give us all feedback. The nonsense I am talking about are not the two modules done by Abraham, but the nonsense is in fact that they are being compiled as standard behaviour, i. e. although NOT BEING NEEDED in some cases. And here they are: Patch 1 (the non destructive one): --- a/linux/drivers/media/dvb/bt8xx/Makefile +++ b/linux/drivers/media/dvb/bt8xx/Makefile @@ -1,3 +1,5 @@ -obj-$(CONFIG_DVB_BT8XX) += bt878.o dvb-bt8xx.o dst.o dst_ca.o +obj-$(CONFIG_DVB_BT8XX) += bt878.o dvb-bt8xx.o +obj-$(CONFIG_DVB_DST) += dst.o +obj-$(CONFIG_DVB_DST_CA) += dst_ca.o EXTRA_CFLAGS = -Idrivers/media/dvb/dvb-core/ -Idrivers/media/video/bt8xx -Idrivers/media/dvb/frontends --- a/linux/drivers/media/dvb/bt8xx/Kconfig +++ b/linux/drivers/media/dvb/bt8xx/Kconfig @@ -9,6 +9,8 @@ select DVB_LGDT330X if !DVB_FE_CUSTOMISE select DVB_TUNER_LGH06XF if !DVB_FE_CUSTOMISE select DVB_ZL10353 if !DVB_FE_CUSTOMISE + select DVB_DST if !DVB_BE_CUSTOMISE + select DVB_DST_CA if !DVB_BE_CUSTOMISE select FW_LOADER help Support for PCI cards based on the Bt8xx PCI bridge. Examples are @@ -21,3 +23,33 @@ an external software decoder to watch TV on your computer. Say Y if you own such a device and want to use it. + +menu "Customise DVB Backends" + depends on DVB_BT8XX + +config DVB_BE_CUSTOMISE + bool "Customise the backend modules to build" + default N + help + This allows the user to deselect backend drivers unnecessary + for their hardware from the build. Use this option with care + as deselecting backends which are in fact necessary will result + in DVB devices which cannot be tuned due to lack of driver support. + + If unsure say N. + +config DVB_DST + tristate "DST TwinHan module" + depends on DVB_BT8XX + default m if DVB_BE_CUSTOMISE + help + A DVB-S tuner module. Say Y when your card is a TwinHan or clone. + +config DVB_DST_CA + tristate "DST TwinHan CA module" + depends on DVB_BT8XX + default m if DVB_BE_CUSTOMISE + help + A DVB-S tuner module. Say Y when your card has a conditional access slot. + +endmenu Patch 2 (the partial destructive one): --- a/linux/drivers/media/dvb/bt8xx/dvb-bt8xx.c +++ b/linux/drivers/media/dvb/bt8xx/dvb-bt8xx.c @@ -669,15 +669,9 @@ state->bt = card->bt; state->dst_ca = NULL; /* DST is not a frontend, attaching the ASIC */ - if (dvb_attach(dst_attach, state, &card->dvb_adapter) == NULL) { - printk("%s: Could not find a Twinhan DST.\n", __FUNCTION__); - break; - } /* Attach other DST peripherals if any */ /* Conditional Access device */ card->fe = &state->frontend; - if (state->dst_hw_cap & DST_TYPE_HAS_CA) - dvb_attach(dst_ca_attach, state, &card->dvb_adapter); break; case BTTV_BOARD_PINNACLESAT: During compilation the following error messages emerged on my system. They don't do no harm, but they are there: WARNING: "i2c_master_recv" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tveeprom.ko] undefined! WARNING: "i2c_master_send" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tveeprom.ko] undefined! WARNING: "i2c_attach_client" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tveeprom.ko] undefined! WARNING: "i2c_del_driver" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tveeprom.ko] undefined! WARNING: "i2c_register_driver" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tveeprom.ko] undefined! WARNING: "i2c_detach_client" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tveeprom.ko] undefined! WARNING: "i2c_probe" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tveeprom.ko] undefined! WARNING: "i2c_master_send" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tuner.ko] undefined! WARNING: "i2c_attach_client" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tuner.ko] undefined! WARNING: "i2c_detach_client" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tuner.ko] undefined! WARNING: "i2c_del_driver" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tuner.ko] undefined! WARNING: "i2c_transfer" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tuner.ko] undefined! WARNING: "i2c_clients_command" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tuner.ko] undefined! WARNING: "i2c_register_driver" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tuner.ko] undefined! WARNING: "i2c_master_recv" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tuner.ko] undefined! WARNING: "i2c_probe" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/tuner.ko] undefined! WARNING: "i2c_del_driver" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/ir-kbd-i2c.ko] undefined! WARNING: "i2c_register_driver" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/ir-kbd-i2c.ko] undefined! WARNING: "i2c_attach_client" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/ir-kbd-i2c.ko] undefined! WARNING: "i2c_detach_client" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/ir-kbd-i2c.ko] undefined! WARNING: "i2c_master_recv" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/ir-kbd-i2c.ko] undefined! WARNING: "request_firmware" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/dvb-bt8xx.ko] undefined! WARNING: "i2c_transfer" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/dvb-bt8xx.ko] undefined! WARNING: "i2c_transfer" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/cx24110.ko] undefined! WARNING: "i2c_master_send" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/bttv.ko] undefined! WARNING: "i2c_add_adapter" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/bttv.ko] undefined! WARNING: "i2c_clients_command" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/bttv.ko] undefined! WARNING: "i2c_bit_del_bus" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/bttv.ko] undefined! WARNING: "i2c_del_adapter" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/bttv.ko] undefined! WARNING: "i2c_master_recv" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/bttv.ko] undefined! WARNING: "request_firmware" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/bttv.ko] undefined! WARNING: "i2c_bit_add_bus" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/bttv.ko] undefined! WARNING: "release_firmware" [/usr/src/packages/v4l-dvb-d9a6b1d21c06/v4l/bttv.ko] undefined! Thanks everybody! Cheers Uwe P. S. 1: This is no material for main vanilla, it is nothing but a very weak model to save RAM, and it needs some more work. As it is still not clear whether dst and dst_ca are frontend modules or backend modules I called them backend modules as they both reside in the directory where the dvb-bt8xx module resides. So everybody please help to improve this! P. S. 2: Although not perfect at all, here is the standard missing: For both patches: Signed-Off-By: Uwe Bugla <uwe.bugla@xxxxxx> -- "Ein Herz für Kinder" - Ihre Spende hilft! Aktion: www.deutschlandsegelt.de Unser Dankeschön: Ihr Name auf dem Segel der 1. deutschen America's Cup-Yacht! _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb