⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compat.c

📁 IXP425 平台下嵌入式LINUX的PCI总线的驱动程序
💻 C
字号:
/* *	$Id: compat.c,v 1.1 1998/02/16 10:35:50 mj Exp $ * *	PCI Bus Services -- Function For Backward Compatibility * *	Copyright 1998--2000 Martin Mares <mj@ucw.cz> */#include <linux/types.h>#include <linux/kernel.h>#include <linux/pci.h>intpcibios_present(void){	return !list_empty(&pci_devices);}intpcibios_find_class(unsigned int class, unsigned short index, unsigned char *bus, unsigned char *devfn){	const struct pci_dev *dev = NULL;	int cnt = 0;	while ((dev = pci_find_class(class, dev)))		if (index == cnt++) {			*bus = dev->bus->number;			*devfn = dev->devfn;			return PCIBIOS_SUCCESSFUL;		}	return PCIBIOS_DEVICE_NOT_FOUND;}intpcibios_find_device(unsigned short vendor, unsigned short device, unsigned short index,		    unsigned char *bus, unsigned char *devfn){	const struct pci_dev *dev = NULL;	int cnt = 0;	while ((dev = pci_find_device(vendor, device, dev)))		if (index == cnt++) {			*bus = dev->bus->number;			*devfn = dev->devfn;			return PCIBIOS_SUCCESSFUL;		}	return PCIBIOS_DEVICE_NOT_FOUND;}#define PCI_OP(rw,size,type)							\int pcibios_##rw##_config_##size (unsigned char bus, unsigned char dev_fn,	\				  unsigned char where, unsigned type val)	\{										\	struct pci_dev *dev = pci_find_slot(bus, dev_fn);			\	if (!dev) return PCIBIOS_DEVICE_NOT_FOUND;				\	return pci_##rw##_config_##size(dev, where, val);			\}PCI_OP(read, byte, char *)PCI_OP(read, word, short *)PCI_OP(read, dword, int *)PCI_OP(write, byte, char)PCI_OP(write, word, short)PCI_OP(write, dword, int)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -