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

Quelle  bttv-if.c   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0-or-later
/*

    bttv-if.c  --  old gpio interface to other kernel modules
   don't use in new code, will go away in 2.7
   have a look at bttv-gpio.c instead.

    bttv - Bt848 frame grabber driver

    Copyright (C) 1996,97,98 Ralph  Metzler (rjkm@thp.uni-koeln.de)
   & Marcus Metzler (mocm@thp.uni-koeln.de)
    (c) 1999-2003 Gerd Knorr <kraxel@bytesex.org>


*/


#include <linux/module.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <asm/io.h>

#include "bttvp.h"

EXPORT_SYMBOL(bttv_get_pcidev);
EXPORT_SYMBOL(bttv_gpio_enable);
EXPORT_SYMBOL(bttv_read_gpio);
EXPORT_SYMBOL(bttv_write_gpio);

/* ----------------------------------------------------------------------- */
/* Exported functions - for other modules which want to access the         */
/*                      gpio ports (IR for example)                        */
/*                      see bttv.h for comments                            */

struct pci_dev* bttv_get_pcidev(unsigned int card)
{
 if (card >= bttv_num)
  return NULL;
 if (!bttvs[card])
  return NULL;

 return bttvs[card]->c.pci;
}


int bttv_gpio_enable(unsigned int card, unsigned long mask, unsigned long data)
{
 struct bttv *btv;

 if (card >= bttv_num) {
  return -EINVAL;
 }

 btv = bttvs[card];
 if (!btv)
  return -ENODEV;

 gpio_inout(mask,data);
 if (bttv_gpio)
  bttv_gpio_tracking(btv,"extern enable");
 return 0;
}

int bttv_read_gpio(unsigned int card, unsigned long *data)
{
 struct bttv *btv;

 if (card >= bttv_num) {
  return -EINVAL;
 }

 btv = bttvs[card];
 if (!btv)
  return -ENODEV;

 if(btv->shutdown) {
  return -ENODEV;
 }

/* prior setting BT848_GPIO_REG_INP is (probably) not needed
   because we set direct input on init */

 *data = gpio_read();
 return 0;
}

int bttv_write_gpio(unsigned int card, unsigned long mask, unsigned long data)
{
 struct bttv *btv;

 if (card >= bttv_num) {
  return -EINVAL;
 }

 btv = bttvs[card];
 if (!btv)
  return -ENODEV;

/* prior setting BT848_GPIO_REG_INP is (probably) not needed
   because direct input is set on init */

 gpio_bits(mask,data);
 if (bttv_gpio)
  bttv_gpio_tracking(btv,"extern write");
 return 0;
}

Messung V0.5
C=91 H=99 G=94

¤ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ¤

*© 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.