亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pci-compat.h

?? Linux設備驅動程序的編寫 Linux設備驅動程序的編寫
?? H
字號:
/* This header only makes sense when included in a 2.0 compile *//* * Copyright (C) 2001 Alessandro Rubini and Jonathan Corbet * Copyright (C) 2001 O'Reilly & Associates * * The source code in this file can be freely used, adapted, * and redistributed in source or binary form, so long as an * acknowledgment appears in derived source files.  The citation * should list that the code comes from the book "Linux Device * Drivers" by Alessandro Rubini and Jonathan Corbet, published * by O'Reilly & Associates.   No warranty is attached; * we cannot take responsibility for errors or fitness for use. */#ifndef _PCI_COMPAT_H_#define _PCI_COMPAT_H_#ifdef __KERNEL__/* * This only makes sense if <linux/pci.h> is already included, *and* * we are using 2.0.*/#if defined(LINUX_PCI_H) && (LINUX_VERSION_CODE & 0xffff00) == 0x020000#include <linux/bios32.h> /* pcibios_* */#include <linux/malloc.h> /* kmalloc *//* fake the new pci interface based on the old one: encapsulate bus/devfn */struct pci_fake_dev {  int index;  unsigned short vendor, device;  void *driver_data; /* net i.f. drivers make it point to net_device */  u8 bus;  u8 devfn;};#define pci_dev pci_fake_dev /* the other pci_dev is unused by 2.0 drivers */#ifndef PCI_HEADER_TYPE_NORMAL /* These definitions are missing from 2.0 */#  define PCI_HEADER_TYPE_NORMAL 0#  define PCI_HEADER_TYPE_BRIDGE 1#  define   PCI_PRIMARY_BUS         0x18    /* Primary bus number */#  define   PCI_SECONDARY_BUS       0x19    /* Secondary bus number */#  define   PCI_SUBORDINATE_BUS     0x1a    /* Highest bus behind the bridge */#  define PCI_HEADER_TYPE_CARDBUS 2#  define   PCI_CB_PRIMARY_BUS      0x18    /* PCI bus number */#  define   PCI_CB_CARD_BUS         0x19    /* CardBus bus number */#  define   PCI_CB_SUBORDINATE_BUS  0x1a    /* Subordinate bus number */#endifextern inline struct pci_dev *pci_find_device(unsigned int vendorid,					      unsigned int devid,					      struct pci_dev *from){    struct pci_dev *pptr = kmalloc(sizeof(*pptr), GFP_KERNEL);    int index = 0;    int ret;    if (!pptr) return NULL;    if (from) index = from->index + 1;    pptr->index = index;    ret = pcibios_find_device(vendorid, devid, index,			      &pptr->bus, &pptr->devfn);    if (ret) { kfree(pptr); return NULL; }    /* fill other fields */    pcibios_read_config_word(pptr->bus, pptr->devfn,			     PCI_VENDOR_ID, &pptr->vendor);    pcibios_read_config_word(pptr->bus, pptr->devfn,			     PCI_DEVICE_ID, &pptr->device);    return pptr;}#if 0/* this used to be only the base class, Hmm... better not offer it*/extern inline struct pci_dev *pci_find_class(unsigned int class,					     struct pci_dev *from){    struct pci_dev *pptr = kmalloc(sizeof(*pptr), GFP_KERNEL);    int index = 0;    int ret;    if (!pptr) return NULL;    if (from) index = from->index + 1;    pptr->index = index;    ret = pcibios_find_class(class, index,			      &pptr->bus, &pptr->devfn);    if (ret) { kfree(pptr); return NULL; }    /* fill other fields */    pcibios_read_config_word(pptr->bus, pptr->devfn,			     PCI_VENDOR_ID, &pptr->vendor);    pcibios_read_config_word(pptr->bus, pptr->devfn,			     PCI_DEVICE_ID, &pptr->device);    return pptr;}#endif/* this is used by pciregions instead */extern inline struct pci_dev *pci_find_slot (unsigned int bus,					     unsigned int devfn){    struct pci_dev *pptr = kmalloc(sizeof(*pptr), GFP_KERNEL);    int index = 0;    unsigned short vendor;    int ret;    if (!pptr) return NULL;    pptr->index = index; /* 0 */    ret = pcibios_read_config_word(bus, devfn, PCI_VENDOR_ID, &vendor);    if (ret /* == PCIBIOS_DEVICE_NOT_FOUND or whatever error */	|| vendor==0xffff || vendor==0x0000) {        kfree(pptr); return NULL;    }    printk("ok (%i, %i %x)\n", bus, devfn, vendor);    /* fill other fields */    pptr->bus = bus;    pptr->devfn = devfn;    pcibios_read_config_word(pptr->bus, pptr->devfn,			     PCI_VENDOR_ID, &pptr->vendor);    pcibios_read_config_word(pptr->bus, pptr->devfn,			     PCI_DEVICE_ID, &pptr->device);    return pptr;}/* this is not used in the real (2.2, 2.4) implementation, but we need it */extern inline void pci_release_device(struct pci_dev *dev){    kfree(dev);}/* struct pci_dev *pci_find_slot (unsigned int bus, unsigned int devfn); */#define pci_present pcibios_presentextern inline intpci_read_config_byte(struct pci_dev *dev, u8 where, u8 *val){    return pcibios_read_config_byte(dev->bus, dev->devfn, where, val);}extern inline intpci_read_config_word(struct pci_dev *dev, u8 where, u16 *val){    return pcibios_read_config_word(dev->bus, dev->devfn, where, val);}extern inline intpci_read_config_dword(struct pci_dev *dev, u8 where, u32 *val){    return pcibios_read_config_dword(dev->bus, dev->devfn, where, val);}extern inline intpci_write_config_byte(struct pci_dev *dev, u8 where, u8 val){    return pcibios_write_config_byte(dev->bus, dev->devfn, where, val);}extern inline intpci_write_config_word(struct pci_dev *dev, u8 where, u16 val){    return pcibios_write_config_word(dev->bus, dev->devfn, where, val);}extern inline intpci_write_config_dword(struct pci_dev *dev, u8 where, u32 val){    return pcibios_write_config_dword(dev->bus, dev->devfn, where, val);}extern inline void pci_set_master(struct pci_dev *dev){    u16 cmd;    pcibios_read_config_word(dev->bus, dev->devfn, PCI_COMMAND, &cmd);    cmd |= PCI_COMMAND_MASTER;    pcibios_write_config_word(dev->bus, dev->devfn, PCI_COMMAND, cmd);}#endif /* version 2.0 and pci.h included */#endif /* __KERNEL__ */#endif /* _PCI_COMPAT_H_ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
k8久久久一区二区三区| 国产精品麻豆欧美日韩ww| 久久久亚洲精华液精华液精华液 | 六月婷婷色综合| 国产成人精品免费网站| 91亚洲精品一区二区乱码| 7777精品伊人久久久大香线蕉的| 国产亚洲va综合人人澡精品| 亚洲欧洲综合另类在线| 蜜臀a∨国产成人精品| 成人国产精品免费观看视频| 欧美日韩一区成人| 国产欧美日韩视频在线观看| 亚洲国产一区二区三区青草影视| 精彩视频一区二区三区| 色婷婷综合五月| 久久综合视频网| 一区二区三区四区高清精品免费观看 | 欧美网站一区二区| 欧美一区二区三区人| 国产精品久久777777| 免费美女久久99| 一本大道久久a久久精二百 | 国产精品99久久不卡二区| 欧美午夜一区二区三区| 日本成人在线电影网| 99久久国产综合精品女不卡| 制服视频三区第一页精品| 亚洲欧美在线高清| 另类小说综合欧美亚洲| 欧美在线小视频| 中文字幕欧美国产| 裸体一区二区三区| 欧美性色欧美a在线播放| 国产蜜臀97一区二区三区| 丝袜亚洲另类丝袜在线| 日本福利一区二区| 中文字幕乱码一区二区免费| 另类人妖一区二区av| 欧美日韩成人在线一区| 亚洲女人的天堂| 成人午夜精品一区二区三区| 亚洲精品在线观看网站| 日本欧美肥老太交大片| 欧美性极品少妇| 亚洲欧美偷拍三级| 成人av资源站| 国产日产欧美一区| 精品影视av免费| 欧美一级理论片| 亚洲高清不卡在线| 91高清视频免费看| 18欧美亚洲精品| 成人福利视频网站| 国产日韩欧美不卡在线| 狠狠狠色丁香婷婷综合久久五月| 国产成人午夜精品影院观看视频| 制服丝袜av成人在线看| 亚洲欧美日韩国产另类专区 | 欧美哺乳videos| 日韩国产精品大片| 欧美男生操女生| 午夜精品久久久久影视| 欧美在线你懂得| 亚洲精品免费在线播放| 色综合久久综合网欧美综合网| 国产精品无圣光一区二区| 国产麻豆9l精品三级站| 欧美精品一区二区三区蜜臀 | 国产三级欧美三级日产三级99 | 国产精品美女久久久久久久久久久 | 日本一区二区三级电影在线观看 | 精品国产乱码久久久久久夜甘婷婷| 丝袜亚洲另类丝袜在线| 欧美日韩国产综合久久| 亚洲国产精品天堂| 欧美人与禽zozo性伦| 日韩 欧美一区二区三区| 日韩免费观看高清完整版| 日本v片在线高清不卡在线观看| 91精品国产综合久久福利软件 | 久久婷婷国产综合精品青草 | 国产精品视频线看| 99re在线视频这里只有精品| 亚洲精品欧美激情| 欧美视频一区二| 日本vs亚洲vs韩国一区三区 | 国产乱妇无码大片在线观看| 欧美国产日产图区| 成人av电影在线网| 一区二区三区在线不卡| 91麻豆精品国产91久久久久久| 精东粉嫩av免费一区二区三区| 国产喷白浆一区二区三区| jiyouzz国产精品久久| 亚洲免费在线观看| 欧美军同video69gay| 久久99国产乱子伦精品免费| 欧美国产日本韩| 欧美午夜电影一区| 黑人巨大精品欧美黑白配亚洲| 国产精品麻豆久久久| 欧美日韩国产影片| 国产精品一级黄| 亚洲欧美日韩精品久久久久| 欧美精品v日韩精品v韩国精品v| 精品亚洲免费视频| 国产精品成人午夜| 91精品欧美福利在线观看| 国产乱子伦视频一区二区三区| 亚洲婷婷综合色高清在线| 欧美日韩免费观看一区三区| 国产一区二区三区在线观看精品| 一区在线播放视频| 欧美一区二区三区色| 欧美成人r级一区二区三区| 大陆成人av片| 亚洲福利视频一区| 久久精品网站免费观看| 色婷婷综合久久久久中文| 国产在线日韩欧美| 成人18精品视频| 午夜欧美电影在线观看| 精品国产一区二区三区四区四| 94色蜜桃网一区二区三区| 蜜桃一区二区三区在线观看| 综合网在线视频| 亚洲精品在线免费观看视频| 91官网在线观看| 福利一区福利二区| 日日骚欧美日韩| 18涩涩午夜精品.www| 337p粉嫩大胆色噜噜噜噜亚洲| 色婷婷综合久久久久中文| 国产乱码一区二区三区| 亚洲成人av资源| 国产精品毛片无遮挡高清| 日韩三级av在线播放| 91国偷自产一区二区开放时间 | 久久久av毛片精品| 欧美精品三级在线观看| 国产经典欧美精品| 日本成人中文字幕| 亚洲.国产.中文慕字在线| 国产最新精品精品你懂的| 亚洲裸体xxx| 欧美性受极品xxxx喷水| 成人午夜视频福利| 亚洲成av人片一区二区梦乃| 国产欧美精品一区二区三区四区| 欧美一区二区免费| 欧美色视频一区| 色综合一区二区三区| 国产在线不卡一区| 麻豆91在线播放| 舔着乳尖日韩一区| 亚洲一二三四区不卡| 国产精品国产成人国产三级 | 国产一区二区免费在线| 日本欧美一区二区三区| 香蕉加勒比综合久久| 亚洲一区二区三区四区五区黄 | 欧美蜜桃一区二区三区| 色综合激情五月| av色综合久久天堂av综合| 国产精品18久久久| 国产精品18久久久久久久网站| 久久不见久久见免费视频7| 日韩黄色免费电影| 香蕉久久一区二区不卡无毒影院| 亚洲综合精品自拍| 亚洲免费成人av| 亚洲麻豆国产自偷在线| 亚洲蜜桃精久久久久久久| 亚洲欧美日韩在线不卡| 亚洲三级免费观看| 国产精品国产自产拍高清av王其| 中文字幕欧美激情| 国产精品久久久久影院亚瑟| 中文字幕精品三区| 国产精品久久久久三级| 日韩毛片精品高清免费| 亚洲人成网站精品片在线观看| 综合久久国产九一剧情麻豆| 亚洲人一二三区| 一区二区三区精密机械公司| 一区二区视频在线| 亚洲图片欧美视频| 午夜精品久久久久久久99樱桃| 日日欢夜夜爽一区| 蜜桃av一区二区在线观看| 麻豆精品在线播放| 国产乱国产乱300精品| 成人涩涩免费视频| av资源站一区| 欧美日韩在线电影| 亚洲综合成人在线| 婷婷综合五月天| 精品在线播放午夜| 高清shemale亚洲人妖|