Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/media/dvb-frontends/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  stb6100_cfg.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
STB6100 Silicon Tuner
Copyright (C) Manu Abraham (abraham.manu@gmail.com)

Copyright (C) ST Microelectronics

*/


#include <linux/dvb/frontend.h>
#include <media/dvb_frontend.h>

static int stb6100_get_frequency(struct dvb_frontend *fe, u32 *frequency)
{
 struct dvb_frontend_ops *frontend_ops = &fe->ops;
 struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
 int err = 0;

 if (tuner_ops->get_frequency) {
  err = tuner_ops->get_frequency(fe, frequency);
  if (err < 0) {
   printk("%s: Invalid parameter\n", __func__);
   return err;
  }
 }
 return 0;
}

static int stb6100_set_frequency(struct dvb_frontend *fe, u32 frequency)
{
 struct dvb_frontend_ops *frontend_ops = &fe->ops;
 struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
 struct dtv_frontend_properties *c = &fe->dtv_property_cache;
 u32 bw = c->bandwidth_hz;
 int err = 0;

 c->frequency = frequency;
 c->bandwidth_hz = 0;  /* Don't adjust the bandwidth */

 if (tuner_ops->set_params) {
  err = tuner_ops->set_params(fe);
  c->bandwidth_hz = bw;
  if (err < 0) {
   printk("%s: Invalid parameter\n", __func__);
   return err;
  }
 }
 return 0;
}

static int stb6100_get_bandwidth(struct dvb_frontend *fe, u32 *bandwidth)
{
 struct dvb_frontend_ops *frontend_ops = &fe->ops;
 struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
 int err = 0;

 if (tuner_ops->get_bandwidth) {
  err = tuner_ops->get_bandwidth(fe, bandwidth);
  if (err < 0) {
   printk("%s: Invalid parameter\n", __func__);
   return err;
  }
 }
 return 0;
}

static int stb6100_set_bandwidth(struct dvb_frontend *fe, u32 bandwidth)
{
 struct dvb_frontend_ops *frontend_ops = &fe->ops;
 struct dvb_tuner_ops *tuner_ops = &frontend_ops->tuner_ops;
 struct dtv_frontend_properties *c = &fe->dtv_property_cache;
 u32 freq = c->frequency;
 int err = 0;

 c->bandwidth_hz = bandwidth;
 c->frequency = 0;  /* Don't adjust the frequency */

 if (tuner_ops->set_params) {
  err = tuner_ops->set_params(fe);
  c->frequency = freq;
  if (err < 0) {
   printk("%s: Invalid parameter\n", __func__);
   return err;
  }
 }
 return 0;
}

Messung V0.5
C=95 H=89 G=91

¤ Dauer der Verarbeitung: 0.4 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.