Lines Matching defs:budget_av
52 struct budget_av {
125 struct budget_av *budget_av = (struct budget_av *) ca->data;
131 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTHI);
134 result = ttpci_budget_debiread(&budget_av->budget, DEBICICAM, address & 0xfff, 1, 0, 1);
144 struct budget_av *budget_av = (struct budget_av *) ca->data;
150 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTHI);
153 result = ttpci_budget_debiwrite(&budget_av->budget, DEBICICAM, address & 0xfff, 1, value, 0, 1);
163 struct budget_av *budget_av = (struct budget_av *) ca->data;
169 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTLO);
172 result = ttpci_budget_debiread(&budget_av->budget, DEBICICAM, address & 3, 1, 0, 0);
183 struct budget_av *budget_av = (struct budget_av *) ca->data;
189 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTLO);
192 result = ttpci_budget_debiwrite(&budget_av->budget, DEBICICAM, address & 3, 1, value, 0, 0);
202 struct budget_av *budget_av = (struct budget_av *) ca->data;
203 struct saa7146_dev *saa = budget_av->budget.dev;
209 budget_av->slot_status = SLOTSTATUS_RESET;
223 if (budget_av->reinitialise_demod)
224 dvb_frontend_reinitialise(budget_av->budget.dvb_frontend);
231 struct budget_av *budget_av = (struct budget_av *) ca->data;
232 struct saa7146_dev *saa = budget_av->budget.dev;
240 budget_av->slot_status = SLOTSTATUS_NONE;
247 struct budget_av *budget_av = (struct budget_av *) ca->data;
248 struct saa7146_dev *saa = budget_av->budget.dev;
253 dprintk(1, "ciintf_slot_ts_enable: %d\n", budget_av->slot_status);
262 struct budget_av *budget_av = (struct budget_av *) ca->data;
263 struct saa7146_dev *saa = budget_av->budget.dev;
271 if (budget_av->slot_status == SLOTSTATUS_NONE) {
275 if (budget_av->slot_status == SLOTSTATUS_NONE) {
276 budget_av->slot_status = SLOTSTATUS_PRESENT;
289 if ((budget_av->slot_status == SLOTSTATUS_NONE) || (!open)) {
290 saa7146_setgpio(budget_av->budget.dev, 1, SAA7146_GPIO_OUTLO);
291 result = ttpci_budget_debiread(&budget_av->budget, DEBICICAM, 0, 1, 0, 1);
292 if ((result >= 0) && (budget_av->slot_status == SLOTSTATUS_NONE)) {
293 budget_av->slot_status = SLOTSTATUS_PRESENT;
296 if (budget_av->slot_status != SLOTSTATUS_NONE) {
305 if (budget_av->slot_status == SLOTSTATUS_RESET) {
308 budget_av->slot_status = SLOTSTATUS_READY;
313 if (budget_av->slot_status != SLOTSTATUS_NONE) {
314 if (budget_av->slot_status & SLOTSTATUS_READY) {
322 static int ciintf_init(struct budget_av *budget_av)
324 struct saa7146_dev *saa = budget_av->budget.dev;
327 memset(&budget_av->ca, 0, sizeof(struct dvb_ca_en50221));
338 budget_av->ca.owner = THIS_MODULE;
339 budget_av->ca.read_attribute_mem = ciintf_read_attribute_mem;
340 budget_av->ca.write_attribute_mem = ciintf_write_attribute_mem;
341 budget_av->ca.read_cam_control = ciintf_read_cam_control;
342 budget_av->ca.write_cam_control = ciintf_write_cam_control;
343 budget_av->ca.slot_reset = ciintf_slot_reset;
344 budget_av->ca.slot_shutdown = ciintf_slot_shutdown;
345 budget_av->ca.slot_ts_enable = ciintf_slot_ts_enable;
346 budget_av->ca.poll_slot_status = ciintf_poll_slot_status;
347 budget_av->ca.data = budget_av;
348 budget_av->budget.ci_present = 1;
349 budget_av->slot_status = SLOTSTATUS_NONE;
351 if ((result = dvb_ca_en50221_init(&budget_av->budget.dvb_adapter,
352 &budget_av->ca, 0, 1)) != 0) {
365 static void ciintf_deinit(struct budget_av *budget_av)
367 struct saa7146_dev *saa = budget_av->budget.dev;
375 dvb_ca_en50221_release(&budget_av->ca);
411 static int saa7113_init(struct budget_av *budget_av)
413 struct budget *budget = &budget_av->budget;
437 static int saa7113_setinput(struct budget_av *budget_av, int input)
439 struct budget *budget = &budget_av->budget;
441 if (1 != budget_av->has_saa7113)
453 budget_av->cur_input = input;
1151 static u8 read_pwm(struct budget_av *budget_av)
1159 if ((i2c_transfer(&budget_av->budget.i2c_adap, msg, 2) != 2)
1196 static void frontend_init(struct budget_av *budget_av)
1198 struct saa7146_dev * saa = budget_av->budget.dev;
1228 budget_av->reinitialise_demod = 1;
1234 &budget_av->budget.i2c_adap);
1236 dvb_attach(tua6100_attach, fe, 0x60, &budget_av->budget.i2c_adap);
1240 &budget_av->budget.i2c_adap);
1254 &budget_av->budget.i2c_adap);
1257 &budget_av->budget.i2c_adap,
1264 &budget_av->budget.i2c_adap);
1272 budget_av->reinitialise_demod = 1;
1273 if ((fe = dvb_attach(stb0899_attach, &knc1_dvbs2_config, &budget_av->budget.i2c_adap)))
1274 dvb_attach(tda8261_attach, fe, &sd1878c_config, &budget_av->budget.i2c_adap);
1279 &budget_av->budget.i2c_adap);
1289 budget_av->reinitialise_demod = 1;
1290 budget_av->budget.dev->i2c_bitrate = SAA7146_I2C_BUS_BIT_RATE_240;
1292 &budget_av->budget.i2c_adap,
1293 read_pwm(budget_av));
1296 &budget_av->budget.i2c_adap,
1297 read_pwm(budget_av));
1308 budget_av->reinitialise_demod = 1;
1309 budget_av->budget.dev->i2c_bitrate = SAA7146_I2C_BUS_BIT_RATE_240;
1312 &budget_av->budget.i2c_adap,
1313 read_pwm(budget_av));
1323 budget_av->reinitialise_demod = 1;
1325 &budget_av->budget.i2c_adap);
1342 budget_av->budget.dvb_frontend = fe;
1344 if (dvb_register_frontend(&budget_av->budget.dvb_adapter,
1345 budget_av->budget.dvb_frontend)) {
1347 dvb_frontend_detach(budget_av->budget.dvb_frontend);
1348 budget_av->budget.dvb_frontend = NULL;
1355 struct budget_av *budget_av = (struct budget_av *) dev->ext_priv;
1357 dprintk(8, "dev: %p, budget_av: %p\n", dev, budget_av);
1365 struct budget_av *budget_av = (struct budget_av *) dev->ext_priv;
1370 if (1 == budget_av->has_saa7113) {
1375 saa7146_unregister_device(&budget_av->vd, dev);
1380 if (budget_av->budget.ci_present)
1381 ciintf_deinit(budget_av);
1383 if (budget_av->budget.dvb_frontend != NULL) {
1384 dvb_unregister_frontend(budget_av->budget.dvb_frontend);
1385 dvb_frontend_detach(budget_av->budget.dvb_frontend);
1387 err = ttpci_budget_deinit(&budget_av->budget);
1389 kfree(budget_av);
1414 struct budget_av *budget_av = (struct budget_av *)dev->ext_priv;
1416 *i = budget_av->cur_input;
1425 struct budget_av *budget_av = (struct budget_av *)dev->ext_priv;
1428 return saa7113_setinput(budget_av, input);
1435 struct budget_av *budget_av;
1441 if (!(budget_av = kzalloc(sizeof(struct budget_av), GFP_KERNEL)))
1444 budget_av->has_saa7113 = 0;
1445 budget_av->budget.ci_present = 0;
1447 dev->ext_priv = budget_av;
1449 err = ttpci_budget_init(&budget_av->budget, dev, info, THIS_MODULE,
1452 kfree(budget_av);
1461 if (saa7113_init(budget_av) == 0) {
1462 budget_av->has_saa7113 = 1;
1473 if ((err = saa7146_register_device(&budget_av->vd, dev, "knc1", VFL_TYPE_VIDEO))) {
1484 saa7113_setinput(budget_av, 0);
1490 mac = budget_av->budget.dvb_adapter.proposed_mac;
1491 if (i2c_readregs(&budget_av->budget.i2c_adap, 0xa0, 0x30, mac, 6)) {
1493 budget_av->budget.dvb_adapter.num);
1497 budget_av->budget.dvb_adapter.num, mac);
1500 budget_av->budget.dvb_adapter.priv = budget_av;
1501 frontend_init(budget_av);
1502 ciintf_init(budget_av);
1504 ttpci_budget_init_hooks(&budget_av->budget);
1594 .name = "budget_av",