[linux-dvb] PATCH 3: a partial destructive RAMSAVER

Uwe Bugla uwe.bugla at gmx.de
Fri Dec 1 17:26:59 CET 2006


Hi,
the following patch helps to save 28 kB of RAM if you do not owe a TwinHan DST or clone card. I expected Manu Abraham to write a non destructive interim fix until the new bttv-free bt8xx-backend concept is ready, but instead of this he nacks my docu patch asking me to help testing immature material at the same time.
Reminds me of a situation we already had in the past: 4 unusable kernels, discussions and flame wars. Nearly impossible to discuss, this very strange primadonna. With Gerd Knorr or Peter Hettkamp at his place we all would be a thousand miles farther than we are now. It's just a pity with Manu.

No Signed-off-by as this is partially destructive - I simply do not know better.
--- a/drivers/media/dvb/bt8xx/Makefile
+++ b/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/drivers/media/dvb/bt8xx/Kconfig
+++ b/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
--- a/drivers/media/dvb/bt8xx/dvb-bt8xx.c
+++ b/drivers/media/dvb/bt8xx/dvb-bt8xx.c
@@ -668,15+668,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:


-- 
"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!



More information about the linux-dvb mailing list