summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/ttusb-budget
diff options
context:
space:
mode:
authorAndrew de Quincey <adq_dvb@lidskialf.net>2006-04-28 01:45:01 +0100
committerAndrew de Quincey <adq_dvb@lidskialf.net>2006-04-28 01:45:01 +0100
commit761ff2c05b56e086da5a180666c4d9160155c4ec (patch)
treea08327902d2c285e009dfba02fb2aafcac6e883a /linux/drivers/media/dvb/ttusb-budget
parent7381f005d9aca7e01befb8b00597396d03e337dd (diff)
downloadmediapointer-dvb-s2-761ff2c05b56e086da5a180666c4d9160155c4ec.tar.gz
mediapointer-dvb-s2-761ff2c05b56e086da5a180666c4d9160155c4ec.tar.bz2
Convert lnbp21 to a module
From: Andrew de Quincey <adq_dvb@lidskialf.net> Convert lnbp21.h into a linux kernel module. Fix up previous users to use it. Convert dvb-ttusb-budget to use it. Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Diffstat (limited to 'linux/drivers/media/dvb/ttusb-budget')
-rw-r--r--linux/drivers/media/dvb/ttusb-budget/Kconfig1
-rw-r--r--linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c28
2 files changed, 3 insertions, 26 deletions
diff --git a/linux/drivers/media/dvb/ttusb-budget/Kconfig b/linux/drivers/media/dvb/ttusb-budget/Kconfig
index 914587d52..d1004e863 100644
--- a/linux/drivers/media/dvb/ttusb-budget/Kconfig
+++ b/linux/drivers/media/dvb/ttusb-budget/Kconfig
@@ -6,6 +6,7 @@ config DVB_TTUSB_BUDGET
select DVB_VES1820
select DVB_TDA8083
select DVB_STV0299
+ select DVB_LNBP21
help
Support for external USB adapters designed by Technotrend and
produced by Hauppauge, shipped under the brand name 'Nova-USB'.
diff --git a/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c b/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
index f2aa23d76..66bc296be 100644
--- a/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
+++ b/linux/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
@@ -33,6 +33,7 @@
#include "tda1004x.h"
#include "stv0299.h"
#include "tda8083.h"
+#include "lnbp21.h"
#include <linux/dvb/frontend.h>
#include <linux/dvb/dmx.h>
@@ -494,31 +495,6 @@ static int ttusb_send_diseqc(struct dvb_frontend* fe,
}
#endif
-static int lnbp21_set_voltage(struct dvb_frontend* fe, fe_sec_voltage_t voltage)
-{
- struct ttusb* ttusb = (struct ttusb*) fe->dvb->priv;
- int ret;
- u8 data[1];
- struct i2c_msg msg = { .addr = 0x08, .flags = 0, .buf = data, .len = sizeof(data) };
-
- switch(voltage) {
- case SEC_VOLTAGE_OFF:
- data[0] = 0x00;
- break;
- case SEC_VOLTAGE_13:
- data[0] = 0x44;
- break;
- case SEC_VOLTAGE_18:
- data[0] = 0x4c;
- break;
- default:
- return -EINVAL;
- };
-
- ret = i2c_transfer(&ttusb->i2c_adap, &msg, 1);
- return (ret != 1) ? -EIO : 0;
-}
-
static int ttusb_update_lnb(struct ttusb *ttusb)
{
u8 b[] = { 0xaa, ++ttusb->c, 0x16, 5, /*power: */ 1,
@@ -1423,7 +1399,7 @@ static void frontend_init(struct ttusb* ttusb)
if(ttusb->revision == TTUSB_REV_2_2) { // ALPS BSBE1
alps_stv0299_config.inittab = alps_bsbe1_inittab;
- ttusb->fe->ops->set_voltage = lnbp21_set_voltage;
+ lnbp21_attach(ttusb->fe, &ttusb->i2c_adap, 0, 0);
} else { // ALPS BSRU6
ttusb->fe->ops->set_voltage = ttusb_set_voltage;
}