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

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

?? pci.h

?? umon bootloader source code, support mips cpu.
?? H
?? 第 1 頁 / 共 4 頁
字號:
{
	return pci_bus_write_config_dword (dev->bus, dev->devfn, where, val);
}

int pci_enable_device(struct pci_dev *dev);
int pci_enable_device_bars(struct pci_dev *dev, int mask);
void pci_disable_device(struct pci_dev *dev);
void pci_set_master(struct pci_dev *dev);
#define HAVE_PCI_SET_MWI
int pci_set_mwi(struct pci_dev *dev);
void pci_clear_mwi(struct pci_dev *dev);
int pci_set_dma_mask(struct pci_dev *dev, u64 mask);
int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask);
int pci_assign_resource(struct pci_dev *dev, int i);

/* ROM control related routines */
void __iomem *pci_map_rom(struct pci_dev *pdev, size_t *size);
void __iomem *pci_map_rom_copy(struct pci_dev *pdev, size_t *size);
void pci_unmap_rom(struct pci_dev *pdev, void __iomem *rom);
void pci_remove_rom(struct pci_dev *pdev);

/* Power management related routines */
int pci_save_state(struct pci_dev *dev);
int pci_restore_state(struct pci_dev *dev);
int pci_set_power_state(struct pci_dev *dev, pci_power_t state);
pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state);
int pci_enable_wake(struct pci_dev *dev, pci_power_t state, int enable);

/* Helper functions for low-level code (drivers/pci/setup-[bus,res].c) */
void pci_bus_assign_resources(struct pci_bus *bus);
void pci_bus_size_bridges(struct pci_bus *bus);
int pci_claim_resource(struct pci_dev *, int);
void pci_assign_unassigned_resources(void);
void pdev_enable_device(struct pci_dev *);
void pdev_sort_resources(struct pci_dev *, struct resource_list *);
void pci_fixup_irqs(u8 (*)(struct pci_dev *, u8 *),
		    int (*)(struct pci_dev *, u8, u8));
#define HAVE_PCI_REQ_REGIONS	2
int pci_request_regions(struct pci_dev *, char *);
void pci_release_regions(struct pci_dev *);
int pci_request_region(struct pci_dev *, int, char *);
void pci_release_region(struct pci_dev *, int);

/* drivers/pci/bus.c */
int pci_bus_alloc_resource(struct pci_bus *bus, struct resource *res,
			   unsigned long size, unsigned long align,
			   unsigned long min, unsigned int type_mask,
			   void (*alignf)(void *, struct resource *,
					  unsigned long, unsigned long),
			   void *alignf_data);
void pci_enable_bridges(struct pci_bus *bus);

/* New-style probing supporting hot-pluggable devices */
int pci_register_driver(struct pci_driver *);
void pci_unregister_driver(struct pci_driver *);
void pci_remove_behind_bridge(struct pci_dev *);
struct pci_driver *pci_dev_driver(const struct pci_dev *);
const struct pci_device_id *pci_match_device(const struct pci_device_id *ids, const struct pci_dev *dev);
int pci_scan_bridge(struct pci_bus *bus, struct pci_dev * dev, int max, int pass);

/* kmem_cache style wrapper around pci_alloc_consistent() */

#include <linux/dmapool.h>

#define	pci_pool dma_pool
#define pci_pool_create(name, pdev, size, align, allocation) \
		dma_pool_create(name, &pdev->dev, size, align, allocation)
#define	pci_pool_destroy(pool) dma_pool_destroy(pool)
#define	pci_pool_alloc(pool, flags, handle) dma_pool_alloc(pool, flags, handle)
#define	pci_pool_free(pool, vaddr, addr) dma_pool_free(pool, vaddr, addr)

#if defined(CONFIG_ISA) || defined(CONFIG_EISA)
extern struct pci_dev *isa_bridge;
#endif

struct msix_entry {
	u16 	vector;	/* kernel uses to write allocated vector */
	u16	entry;	/* driver uses to specify entry, OS writes */
};

#ifndef CONFIG_PCI_MSI
static inline void pci_scan_msi_device(struct pci_dev *dev) {}
static inline int pci_enable_msi(struct pci_dev *dev) {return -1;}
static inline void pci_disable_msi(struct pci_dev *dev) {}
static inline int pci_enable_msix(struct pci_dev* dev,
	struct msix_entry *entries, int nvec) {return -1;}
static inline void pci_disable_msix(struct pci_dev *dev) {}
static inline void msi_remove_pci_irq_vectors(struct pci_dev *dev) {}
#else
extern void pci_scan_msi_device(struct pci_dev *dev);
extern int pci_enable_msi(struct pci_dev *dev);
extern void pci_disable_msi(struct pci_dev *dev);
extern int pci_enable_msix(struct pci_dev* dev,
	struct msix_entry *entries, int nvec);
extern void pci_disable_msix(struct pci_dev *dev);
extern void msi_remove_pci_irq_vectors(struct pci_dev *dev);
#endif

#endif /* CONFIG_PCI */

/* Include architecture-dependent settings and functions */

#include <asm/pci.h>

/*
 *  If the system does not have PCI, clearly these return errors.  Define
 *  these as simple inline functions to avoid hair in drivers.
 */

#ifndef CONFIG_PCI
#define _PCI_NOP(o,s,t) \
	static inline int pci_##o##_config_##s (struct pci_dev *dev, int where, t val) \
		{ return PCIBIOS_FUNC_NOT_SUPPORTED; }
#define _PCI_NOP_ALL(o,x)	_PCI_NOP(o,byte,u8 x) \
				_PCI_NOP(o,word,u16 x) \
				_PCI_NOP(o,dword,u32 x)
_PCI_NOP_ALL(read, *)
_PCI_NOP_ALL(write,)

static inline struct pci_dev *pci_find_device(unsigned int vendor, unsigned int device, const struct pci_dev *from)
{ return NULL; }

static inline struct pci_dev *pci_find_slot(unsigned int bus, unsigned int devfn)
{ return NULL; }

static inline struct pci_dev *pci_get_device (unsigned int vendor, unsigned int device, struct pci_dev *from)
{ return NULL; }

static inline struct pci_dev *pci_get_subsys (unsigned int vendor, unsigned int device,
unsigned int ss_vendor, unsigned int ss_device, struct pci_dev *from)
{ return NULL; }

static inline struct pci_dev *pci_get_class(unsigned int class, struct pci_dev *from)
{ return NULL; }

#define pci_dev_present(ids)	(0)
#define pci_dev_put(dev)	do { } while (0)

static inline void pci_set_master(struct pci_dev *dev) { }
static inline int pci_enable_device(struct pci_dev *dev) { return -EIO; }
static inline void pci_disable_device(struct pci_dev *dev) { }
static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask) { return -EIO; }
static inline int pci_assign_resource(struct pci_dev *dev, int i) { return -EBUSY;}
static inline int pci_register_driver(struct pci_driver *drv) { return 0;}
static inline void pci_unregister_driver(struct pci_driver *drv) { }
static inline int pci_find_capability (struct pci_dev *dev, int cap) {return 0; }
static inline int pci_find_ext_capability (struct pci_dev *dev, int cap) {return 0; }
static inline const struct pci_device_id *pci_match_device(const struct pci_device_id *ids, const struct pci_dev *dev) { return NULL; }

/* Power management related routines */
static inline int pci_save_state(struct pci_dev *dev) { return 0; }
static inline int pci_restore_state(struct pci_dev *dev) { return 0; }
static inline int pci_set_power_state(struct pci_dev *dev, pci_power_t state) { return 0; }
static inline pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state) { return PCI_D0; }
static inline int pci_enable_wake(struct pci_dev *dev, pci_power_t state, int enable) { return 0; }

#define	isa_bridge	((struct pci_dev *)NULL)

#else

/*
 * PCI domain support.  Sometimes called PCI segment (eg by ACPI),
 * a PCI domain is defined to be a set of PCI busses which share
 * configuration space.
 */
#ifndef CONFIG_PCI_DOMAINS
static inline int pci_domain_nr(struct pci_bus *bus) { return 0; }
static inline int pci_proc_domain(struct pci_bus *bus)
{
	return 0;
}
#endif

#endif /* !CONFIG_PCI */

/* these helpers provide future and backwards compatibility
 * for accessing popular PCI BAR info */
#define pci_resource_start(dev,bar)   ((dev)->resource[(bar)].start)
#define pci_resource_end(dev,bar)     ((dev)->resource[(bar)].end)
#define pci_resource_flags(dev,bar)   ((dev)->resource[(bar)].flags)
#define pci_resource_len(dev,bar) \
	((pci_resource_start((dev),(bar)) == 0 &&	\
	  pci_resource_end((dev),(bar)) ==		\
	  pci_resource_start((dev),(bar))) ? 0 :	\
	  						\
	 (pci_resource_end((dev),(bar)) -		\
	  pci_resource_start((dev),(bar)) + 1))

/* Similar to the helpers above, these manipulate per-pci_dev
 * driver-specific data.  They are really just a wrapper around
 * the generic device structure functions of these calls.
 */
static inline void *pci_get_drvdata (struct pci_dev *pdev)
{
	return dev_get_drvdata(&pdev->dev);
}

static inline void pci_set_drvdata (struct pci_dev *pdev, void *data)
{
	dev_set_drvdata(&pdev->dev, data);
}

/* If you want to know what to call your pci_dev, ask this function.
 * Again, it's a wrapper around the generic device.
 */
static inline char *pci_name(struct pci_dev *pdev)
{
	return pdev->dev.bus_id;
}

/* Some archs want to see the pretty pci name, so use this macro */
#ifdef CONFIG_PCI_NAMES
#define pci_pretty_name(dev) ((dev)->pretty_name)
#else
#define pci_pretty_name(dev) ""
#endif

/*
 *  The world is not perfect and supplies us with broken PCI devices.
 *  For at least a part of these bugs we need a work-around, so both
 *  generic (drivers/pci/quirks.c) and per-architecture code can define
 *  fixup hooks to be called for particular buggy devices.
 */

struct pci_fixup {
	u16 vendor, device;	/* You can use PCI_ANY_ID here of course */
	void (*hook)(struct pci_dev *dev);
};

enum pci_fixup_pass {
	pci_fixup_early,	/* Before probing BARs */
	pci_fixup_header,	/* After reading configuration header */
	pci_fixup_final,	/* Final phase of device fixups */
	pci_fixup_enable,	/* pci_enable_device() time */
};

/* Anonymous variables would be nice... */
#define DECLARE_PCI_FIXUP_SECTION(section, name, vendor, device, hook)	\
	static const struct pci_fixup __pci_fixup_##name __attribute_used__ \
	__attribute__((__section__(#section))) = { vendor, device, hook };
#define DECLARE_PCI_FIXUP_EARLY(vendor, device, hook)			\
	DECLARE_PCI_FIXUP_SECTION(.pci_fixup_early,			\
			vendor##device##hook, vendor, device, hook)
#define DECLARE_PCI_FIXUP_HEADER(vendor, device, hook)			\
	DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header,			\
			vendor##device##hook, vendor, device, hook)
#define DECLARE_PCI_FIXUP_FINAL(vendor, device, hook)			\
	DECLARE_PCI_FIXUP_SECTION(.pci_fixup_final,			\
			vendor##device##hook, vendor, device, hook)
#define DECLARE_PCI_FIXUP_ENABLE(vendor, device, hook)			\
	DECLARE_PCI_FIXUP_SECTION(.pci_fixup_enable,			\
			vendor##device##hook, vendor, device, hook)


void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev);

extern int pci_pci_problems;
#define PCIPCI_FAIL		1
#define PCIPCI_TRITON		2
#define PCIPCI_NATOMA		4
#define PCIPCI_VIAETBF		8
#define PCIPCI_VSFX		16
#define PCIPCI_ALIMAGIK		32

#endif /* __KERNEL__ */
#endif /* LINUX_PCI_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区四区在线观看| 精品国产精品一区二区夜夜嗨| 麻豆免费看一区二区三区| 国产欧美综合在线观看第十页 | 99精品视频一区二区三区| 午夜成人在线视频| 亚洲欧洲国产日韩| 26uuu成人网一区二区三区| 91黄色免费版| 99久久久国产精品免费蜜臀| 国产精品综合一区二区| 亚洲成av人片在线| 亚洲免费在线视频一区 二区| 精品久久久久久久久久久久久久久 | 成人av电影在线观看| 久久成人免费网站| 亚洲444eee在线观看| 亚洲欧美日韩电影| 日本一区二区久久| 久久久久88色偷偷免费| 日韩欧美在线1卡| 欧美精品一二三区| 欧日韩精品视频| 91猫先生在线| 91在线免费看| 99精品久久只有精品| 福利一区二区在线观看| 国产做a爰片久久毛片| 麻豆国产精品一区二区三区| 日韩中文字幕一区二区三区| 午夜av电影一区| 亚洲成国产人片在线观看| 亚洲一区二区欧美| 一区二区三区在线视频观看58 | 日韩三级高清在线| 7777精品伊人久久久大香线蕉的 | 中文字幕第一区综合| 337p日本欧洲亚洲大胆精品 | 成人av在线电影| 成人一区在线观看| 成人免费av在线| jizz一区二区| 91官网在线免费观看| 欧美亚洲综合久久| 在线综合亚洲欧美在线视频| 制服丝袜激情欧洲亚洲| 日韩视频免费观看高清在线视频| 制服丝袜成人动漫| 欧美电影免费观看高清完整版在| 日韩欧美综合一区| 久久这里只有精品6| 中文字幕成人av| 亚洲免费观看高清完整版在线观看熊| 国产精品免费视频一区| 亚洲人成影院在线观看| 亚洲一二三专区| 丝袜亚洲另类欧美| 韩国av一区二区三区四区| 国产成人免费xxxxxxxx| 播五月开心婷婷综合| 色婷婷精品大在线视频| 欧美美女bb生活片| 亚洲精品在线免费播放| 国产女主播视频一区二区| 成人免费小视频| 五月婷婷久久综合| 国产一区二区三区观看| av一本久道久久综合久久鬼色| 91福利视频久久久久| 日韩一区二区三区三四区视频在线观看 | 欧美xfplay| 国产精品国产三级国产专播品爱网| 亚洲欧美视频在线观看| 日本午夜一本久久久综合| 国产在线视频一区二区| 色综合视频一区二区三区高清| 7799精品视频| 国产精品久久久99| 日韩精品欧美精品| 国产精品一区二区无线| 在线观看国产91| xfplay精品久久| 亚洲图片自拍偷拍| 国产久卡久卡久卡久卡视频精品| 一本色道久久加勒比精品| 欧美xingq一区二区| 久久aⅴ国产欧美74aaa| 91美女福利视频| 久久网站热最新地址| 亚洲一区二区av在线| 国内精品国产三级国产a久久| 91麻豆123| 久久亚洲一级片| 午夜欧美在线一二页| 成人sese在线| 欧美大片日本大片免费观看| 亚洲欧美另类久久久精品 | 蜜桃一区二区三区在线| 99re这里只有精品视频首页| 日韩午夜在线观看| 亚洲三级在线免费| 国产精品一二三四五| 欧美日韩精品专区| 亚洲三级视频在线观看| 紧缚捆绑精品一区二区| 日本精品视频一区二区| 国产欧美日韩麻豆91| 欧美aⅴ一区二区三区视频| 欧美中文字幕一区二区三区亚洲| 国产精品网站在线| 久久成人精品无人区| 欧美精品电影在线播放| 亚洲欧美日韩国产另类专区| 国产成人精品影视| 337p日本欧洲亚洲大胆精品| 日本欧美加勒比视频| 欧美三级一区二区| 亚洲一二三四在线| 91在线码无精品| 国产精品不卡在线| 成人av第一页| 欧美激情自拍偷拍| 成人污污视频在线观看| 26uuu久久综合| 国产一区二区调教| 久久久久久影视| 国产精品亚洲第一| 日韩欧美国产一区在线观看| 日韩黄色免费网站| 在线免费观看视频一区| 亚洲黄色录像片| 在线精品视频免费播放| 一区二区免费看| 欧美体内she精高潮| 亚洲一区二区三区美女| 欧美日韩卡一卡二| 日日夜夜免费精品视频| 51午夜精品国产| 日本午夜一区二区| 欧美zozozo| 国产精品一二三四| 国产精品乱码人人做人人爱| av一区二区三区| 亚洲色图.com| 欧美性猛片xxxx免费看久爱| 亚洲国产精品人人做人人爽| 欧美日韩在线电影| 日韩成人免费看| 精品国产伦一区二区三区观看体验| 久久99深爱久久99精品| 久久蜜桃av一区精品变态类天堂 | 国产成人亚洲综合a∨猫咪| 国产偷国产偷亚洲高清人白洁| 国产精品一区免费视频| 国产精品视频观看| 99re视频这里只有精品| 亚洲国产视频在线| 日韩欧美资源站| 成人午夜免费电影| 亚洲卡通欧美制服中文| 欧美日韩国产美| 久久99久久久久久久久久久| 国产日韩精品一区二区三区| 99久久国产综合色|国产精品| 亚洲精品乱码久久久久久日本蜜臀 | 成人污污视频在线观看| 一区二区三区在线免费| 日韩一区国产二区欧美三区| 国产盗摄女厕一区二区三区| 亚洲丝袜另类动漫二区| 欧美巨大另类极品videosbest| 免费在线视频一区| 国产精品国模大尺度视频| 欧美日韩中文字幕一区| 国内精品免费**视频| 国产精品国产三级国产aⅴ无密码| 91福利在线看| 国产在线精品一区二区不卡了| 亚洲欧美日韩综合aⅴ视频| 欧美一区二区在线免费播放| 丰满少妇久久久久久久| 午夜精品成人在线| 日本一区二区三级电影在线观看| 日本精品裸体写真集在线观看| 久久国产精品99精品国产| 中文字幕中文字幕一区二区| 日韩一级大片在线观看| 99久久精品久久久久久清纯| 青椒成人免费视频| 亚洲免费观看高清完整版在线观看| 日韩一区二区三区在线| 色一情一伦一子一伦一区| 国模无码大尺度一区二区三区| 亚洲图片有声小说| 中文字幕第一区二区| 日韩一区二区三区免费观看| 日本精品一区二区三区四区的功能| 国产在线看一区| 天使萌一区二区三区免费观看| 日本一区二区视频在线|