• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/media/dvb/ttpci/

Lines Matching refs:budget

2  * budget.c: driver for the SAA7146 based Budget DVB cards
37 #include "budget.h"
53 static void Set22K (struct budget *budget, int state)
55 struct saa7146_dev *dev=budget->dev;
56 dprintk(2, "budget: %p\n", budget);
64 static void DiseqcSendBit (struct budget *budget, int data)
66 struct saa7146_dev *dev=budget->dev;
67 dprintk(2, "budget: %p\n", budget);
75 static void DiseqcSendByte (struct budget *budget, int data)
79 dprintk(2, "budget: %p\n", budget);
84 DiseqcSendBit(budget, d);
87 DiseqcSendBit(budget, par);
90 static int SendDiSEqCMsg (struct budget *budget, int len, u8 *msg, unsigned long burst)
92 struct saa7146_dev *dev=budget->dev;
95 dprintk(2, "budget: %p\n", budget);
101 DiseqcSendByte(budget, msg[i]);
107 DiseqcSendByte(budget, 0xff);
120 * Routines for the Fujitsu Siemens Activy budget card
125 static int SetVoltage_Activy (struct budget *budget, fe_sec_voltage_t voltage)
127 struct saa7146_dev *dev=budget->dev;
129 dprintk(2, "budget: %p\n", budget);
152 struct budget* budget = (struct budget*) fe->dvb->priv;
154 return SetVoltage_Activy (budget, voltage);
159 struct budget* budget = (struct budget*) fe->dvb->priv;
163 Set22K (budget, 1);
167 Set22K (budget, 0);
179 struct budget* budget = (struct budget*) fe->dvb->priv;
181 SendDiSEqCMsg (budget, cmd->msg_len, cmd->msg, 0);
188 struct budget* budget = (struct budget*) fe->dvb->priv;
190 SendDiSEqCMsg (budget, 0, NULL, minicmd);
197 struct budget* budget = (struct budget*) fe->dvb->priv;
220 if (i2c_transfer (&budget->i2c_adap, &msg, 1) != 1) return -EIO;
233 struct budget* budget = (struct budget*) fe->dvb->priv;
247 if (i2c_transfer (&budget->i2c_adap, &msg, 1) != 1) return -EIO;
260 struct budget* budget = (struct budget*) fe->dvb->priv;
287 if (i2c_transfer (&budget->i2c_adap, &msg, 1) != 1) return -EIO;
297 struct budget* budget = (struct budget*) fe->dvb->priv;
310 if (i2c_transfer (&budget->i2c_adap, &msg, 1) != 1) return -EIO;
320 struct budget* budget = (struct budget*) fe->dvb->priv;
341 if (i2c_transfer (&budget->i2c_adap, &msg, 1) != 1) return -EIO;
356 static u8 read_pwm(struct budget* budget)
363 if ((i2c_transfer(&budget->i2c_adap, msg, 2) != 2) || (pwm == 0xff))
369 static void frontend_init(struct budget *budget)
371 switch(budget->dev->pci->subsystem_device) {
372 case 0x1003: // Hauppauge/TT Nova budget (stv0299/ALPS BSRU6(tsa5059) OR ves1893/ALPS BSRV2(sp5659))
375 budget->dvb_frontend = dvb_attach(ves1x93_attach, &alps_bsrv2_config, &budget->i2c_adap);
376 if (budget->dvb_frontend) {
377 budget->dvb_frontend->ops.tuner_ops.set_params = alps_bsrv2_tuner_set_params;
378 budget->dvb_frontend->ops.diseqc_send_master_cmd = budget_diseqc_send_master_cmd;
379 budget->dvb_frontend->ops.diseqc_send_burst = budget_diseqc_send_burst;
380 budget->dvb_frontend->ops.set_tone = budget_set_tone;
385 budget->dvb_frontend = dvb_attach(stv0299_attach, &alps_bsru6_config, &budget->i2c_adap);
386 if (budget->dvb_frontend) {
387 budget->dvb_frontend->ops.tuner_ops.set_params = alps_bsru6_tuner_set_params;
388 budget->dvb_frontend->tuner_priv = &budget->i2c_adap;
389 if (budget->dev->pci->subsystem_device == 0x1003 && diseqc_method == 0) {
390 budget->dvb_frontend->ops.diseqc_send_master_cmd = budget_diseqc_send_master_cmd;
391 budget->dvb_frontend->ops.diseqc_send_burst = budget_diseqc_send_burst;
392 budget->dvb_frontend->ops.set_tone = budget_set_tone;
398 case 0x1004: // Hauppauge/TT DVB-C budget (ves1820/ALPS TDBE2(sp5659))
400 budget->dvb_frontend = dvb_attach(ves1820_attach, &alps_tdbe2_config, &budget->i2c_adap, read_pwm(budget));
401 if (budget->dvb_frontend) {
402 budget->dvb_frontend->ops.tuner_ops.set_params = alps_tdbe2_tuner_set_params;
407 case 0x1005: // Hauppauge/TT Nova-T budget (L64781/Grundig 29504-401(tsa5060))
409 budget->dvb_frontend = dvb_attach(l64781_attach, &grundig_29504_401_config, &budget->i2c_adap);
410 if (budget->dvb_frontend) {
411 budget->dvb_frontend->ops.tuner_ops.set_params = grundig_29504_401_tuner_set_params;
417 budget->dvb_frontend = dvb_attach(stv0299_attach, &alps_bsru6_config, &budget->i2c_adap);
418 if (budget->dvb_frontend) {
419 budget->dvb_frontend->ops.tuner_ops.set_params = alps_bsru6_tuner_set_params;
420 budget->dvb_frontend->tuner_priv = &budget->i2c_adap;
421 budget->dvb_frontend->ops.set_voltage = siemens_budget_set_voltage;
422 budget->dvb_frontend->ops.dishnetwork_send_legacy_command = NULL;
427 budget->dvb_frontend = dvb_attach(tda8083_attach, &grundig_29504_451_config, &budget->i2c_adap);
428 if (budget->dvb_frontend) {
429 budget->dvb_frontend->ops.tuner_ops.set_params = grundig_29504_451_tuner_set_params;
430 budget->dvb_frontend->ops.set_voltage = siemens_budget_set_voltage;
431 budget->dvb_frontend->ops.dishnetwork_send_legacy_command = NULL;
436 budget->dvb_frontend = dvb_attach(s5h1420_attach, &s5h1420_config, &budget->i2c_adap);
437 if (budget->dvb_frontend) {
438 budget->dvb_frontend->ops.tuner_ops.set_params = s5h1420_tuner_set_params;
439 if (dvb_attach(lnbp21_attach, budget->dvb_frontend, &budget->i2c_adap, 0, 0) == NULL) {
448 saa7146_setgpio(budget->dev, 2, SAA7146_GPIO_OUTLO);
450 saa7146_setgpio(budget->dev, 2, SAA7146_GPIO_OUTHI);
453 budget->dvb_frontend = dvb_attach(tda10086_attach, &tda10086_config, &budget->i2c_adap);
454 if (budget->dvb_frontend) {
455 if (dvb_attach(tda826x_attach, budget->dvb_frontend, 0x60, &budget->i2c_adap, 0) == NULL)
457 if (dvb_attach(lnbp21_attach, budget->dvb_frontend, &budget->i2c_adap, 0, 0) == NULL) {
465 if (budget->dvb_frontend == NULL) {
466 printk("budget: A frontend driver was not found for device %04x/%04x subsystem %04x/%04x\n",
467 budget->dev->pci->vendor,
468 budget->dev->pci->device,
469 budget->dev->pci->subsystem_vendor,
470 budget->dev->pci->subsystem_device);
472 if (dvb_register_frontend(&budget->dvb_adapter, budget->dvb_frontend))
478 printk("budget: Frontend registration failed!\n");
479 dvb_frontend_detach(budget->dvb_frontend);
480 budget->dvb_frontend = NULL;
486 struct budget *budget = NULL;
489 budget = kmalloc(sizeof(struct budget), GFP_KERNEL);
490 if( NULL == budget ) {
494 dprintk(2, "dev:%p, info:%p, budget:%p\n", dev, info, budget);
496 dev->ext_priv = budget;
498 if ((err = ttpci_budget_init (budget, dev, info, THIS_MODULE))) {
500 kfree (budget);
504 budget->dvb_adapter.priv = budget;
505 frontend_init(budget);
507 ttpci_budget_init_hooks(budget);
514 struct budget *budget = (struct budget*) dev->ext_priv;
517 if (budget->dvb_frontend) {
518 dvb_unregister_frontend(budget->dvb_frontend);
519 dvb_frontend_detach(budget->dvb_frontend);
522 err = ttpci_budget_deinit (budget);
524 kfree (budget);
557 .name = "budget dvb",
585 "budget PCI DVB cards by Siemens, Technotrend, Hauppauge");