[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