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

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

?? ohci-mem.c

?? host usb 主設備程序 支持sd卡 mouse keyboard 的最單單的驅動程序 gcc編譯
?? C
字號:
/* * OHCI HCD (Host Controller Driver) for USB. * * (C) Copyright 1999 Roman Weissgaerber <weissg@vienna.at> * (C) Copyright 2000-2002 David Brownell <dbrownell@users.sourceforge.net> * * This file is licenced under the GPL. *//*-------------------------------------------------------------------------*//* * OHCI deals with three types of memory: *	- data used only by the HCD ... kmalloc is fine *	- async and periodic schedules, shared by HC and HCD ... these *	  need to use dma_pool or dma_alloc_coherent *	- driver buffers, read/written by HC ... the hcd glue or the *	  device driver provides us with dma addresses * * There's also "register" data, which is memory mapped. * No memory seen by this driver (or any HCD) may be paged out. *//*-------------------------------------------------------------------------*/static void ohci_hcd_init (struct ohci_hcd *ohci){	ohci->next_statechange = jiffies;	spin_lock_init (&ohci->lock);	INIT_LIST_HEAD (&ohci->pending);}/*-------------------------------------------------------------------------*/static int ohci_mem_init (struct ohci_hcd *ohci){	ohci->td_cache = dma_pool_create ("ohci_td",		ohci_to_hcd(ohci)->self.controller,		sizeof (struct td),		32 /* byte alignment */,		0 /* no page-crossing issues */);	if (!ohci->td_cache)		return -ENOMEM;	ohci->ed_cache = dma_pool_create ("ohci_ed",		ohci_to_hcd(ohci)->self.controller,		sizeof (struct ed),		16 /* byte alignment */,		0 /* no page-crossing issues */);	if (!ohci->ed_cache) {		dma_pool_destroy (ohci->td_cache);		return -ENOMEM;	}	return 0;}static void ohci_mem_cleanup (struct ohci_hcd *ohci){	if (ohci->td_cache) {		dma_pool_destroy (ohci->td_cache);		ohci->td_cache = NULL;	}	if (ohci->ed_cache) {		dma_pool_destroy (ohci->ed_cache);		ohci->ed_cache = NULL;	}}/*-------------------------------------------------------------------------*//* ohci "done list" processing needs this mapping */static inline struct td *dma_to_td (struct ohci_hcd *hc, dma_addr_t td_dma){	struct td *td;	td_dma &= TD_MASK;	td = hc->td_hash [TD_HASH_FUNC(td_dma)];	while (td && td->td_dma != td_dma)		td = td->td_hash;	return td;}/* TDs ... */static struct td *td_alloc (struct ohci_hcd *hc, gfp_t mem_flags){	dma_addr_t	dma;	struct td	*td;	td = dma_pool_alloc (hc->td_cache, mem_flags, &dma);	if (td) {		/* in case hc fetches it, make it look dead */		memset (td, 0, sizeof *td);		td->hwNextTD = cpu_to_hc32 (hc, dma);		td->td_dma = dma;		/* hashed in td_fill */	}	return td;}static voidtd_free (struct ohci_hcd *hc, struct td *td){	struct td	**prev = &hc->td_hash [TD_HASH_FUNC (td->td_dma)];	while (*prev && *prev != td)		prev = &(*prev)->td_hash;	if (*prev)		*prev = td->td_hash;	else if ((td->hwINFO & cpu_to_hc32(hc, TD_DONE)) != 0)		ohci_dbg (hc, "no hash for td %p\n", td);	dma_pool_free (hc->td_cache, td, td->td_dma);}/*-------------------------------------------------------------------------*//* EDs ... */static struct ed *ed_alloc (struct ohci_hcd *hc, gfp_t mem_flags){	dma_addr_t	dma;	struct ed	*ed;	ed = dma_pool_alloc (hc->ed_cache, mem_flags, &dma);	if (ed) {		memset (ed, 0, sizeof (*ed));		INIT_LIST_HEAD (&ed->td_list);		ed->dma = dma;	}	return ed;}static voided_free (struct ohci_hcd *hc, struct ed *ed){	dma_pool_free (hc->ed_cache, ed, ed->dma);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久久蜜桃| 婷婷综合在线观看| 亚洲国产精品视频| 国产精品夜夜嗨| 91精品国产综合久久久久久久 | 久久成人久久鬼色| 99久久国产综合精品麻豆| 精品欧美乱码久久久久久| 亚洲国产日日夜夜| 91麻豆蜜桃一区二区三区| 26uuu精品一区二区| 三级久久三级久久久| k8久久久一区二区三区 | 欧美图片一区二区三区| 亚洲国产成人自拍| 久久99国产精品久久99| 欧美巨大另类极品videosbest | 国产精品理伦片| 国产成人亚洲精品狼色在线| 欧美一区二区三区电影| 亚洲一区视频在线| 色欧美日韩亚洲| 国产精品国产a| 成人午夜电影久久影院| 久久久久久毛片| 国产一区二区精品久久| 精品国一区二区三区| 老司机精品视频在线| 日韩一区二区视频| 视频精品一区二区| 69成人精品免费视频| 青青草原综合久久大伊人精品 | 在线视频综合导航| 亚洲精品乱码久久久久久久久| 成人福利视频网站| 中文字幕日本不卡| 色成年激情久久综合| 亚洲国产欧美另类丝袜| 欧美日韩在线三级| 日韩国产精品大片| 精品日本一线二线三线不卡| 韩国毛片一区二区三区| 久久久www成人免费无遮挡大片| 国产精品自在在线| 国产精品乱码妇女bbbb| 99国产精品99久久久久久| 一区二区三区在线视频免费| 欧美日韩三级在线| 久久电影网站中文字幕| 久久久.com| 成人av电影免费在线播放| 中文字幕亚洲电影| 欧美视频一区二区三区在线观看| 丝袜美腿成人在线| 精品欧美久久久| 成人激情免费视频| 亚洲成年人影院| 欧美精品一区二区久久婷婷| 成人精品在线视频观看| 亚洲午夜在线观看视频在线| 日韩精品一区二区三区在线播放 | 午夜激情一区二区三区| 欧美福利一区二区| 国产又黄又大久久| 亚洲精品ww久久久久久p站| 777色狠狠一区二区三区| 国产一区91精品张津瑜| 一区二区不卡在线播放| 欧美成人bangbros| 色偷偷88欧美精品久久久| 免费看日韩a级影片| 中文字幕欧美国产| 3d动漫精品啪啪一区二区竹菊| 国产成人在线观看免费网站| 性感美女极品91精品| 久久久夜色精品亚洲| 在线一区二区观看| 国产精品99久| 视频在线在亚洲| 亚洲欧美色综合| 久久综合九色综合97婷婷女人 | 欧美成人猛片aaaaaaa| 色婷婷综合久久久久中文| 国产真实精品久久二三区| 亚洲一区在线视频| 中文字幕欧美国产| 26uuu亚洲综合色欧美| 欧美精品自拍偷拍| 色屁屁一区二区| 成人丝袜视频网| 久久99这里只有精品| 天堂一区二区在线免费观看| 亚洲视频资源在线| 欧美韩日一区二区三区四区| 久久综合久久久久88| 欧美男生操女生| 欧美网站大全在线观看| 99精品在线免费| 成人中文字幕在线| 国产高清精品在线| 激情六月婷婷综合| 久久精品免费看| 日本在线不卡一区| 日韩中文字幕区一区有砖一区 | 欧美怡红院视频| 99久久久久免费精品国产| 国产精品99久久久久久有的能看| 日本在线不卡视频| 美女视频一区二区| 麻豆一区二区在线| 久久99精品国产麻豆不卡| 蜜臀久久99精品久久久画质超高清| 天天做天天摸天天爽国产一区| 亚洲一卡二卡三卡四卡| 亚洲午夜激情网站| 亚洲国产成人porn| 日韩电影在线看| 日韩成人精品在线| 美国一区二区三区在线播放| 免费在线欧美视频| 久久国产乱子精品免费女| 久久99国内精品| 国产经典欧美精品| av不卡在线播放| 欧洲色大大久久| 91精品国产一区二区三区香蕉 | 国产福利精品一区二区| 国产精一区二区三区| 成人久久久精品乱码一区二区三区 | 一区二区三区四区国产精品| 亚洲精品乱码久久久久久黑人| 亚洲影院久久精品| 肉色丝袜一区二区| 麻豆专区一区二区三区四区五区| 国产一区视频导航| av亚洲精华国产精华| 欧美色图第一页| 亚洲精品一区二区三区福利| 久久久久国产免费免费| 亚洲免费观看高清完整版在线观看熊 | 久久成人av少妇免费| 成人99免费视频| 欧美色中文字幕| 久久久久久久久蜜桃| 亚洲精品视频在线观看网站| 天天色天天爱天天射综合| 国产一区二区精品久久| 91网站黄www| 91精品国产综合久久香蕉的特点 | 国产精品国产自产拍高清av王其 | 久久精品综合网| 一区在线播放视频| 日本在线不卡一区| 色综合天天天天做夜夜夜夜做| 精品婷婷伊人一区三区三| 久久综合色天天久久综合图片| 亚洲色图制服诱惑| 狠狠色狠狠色综合日日91app| 91视视频在线观看入口直接观看www | 卡一卡二国产精品| 91亚洲国产成人精品一区二三| 91麻豆精品国产自产在线观看一区| 精品动漫一区二区三区在线观看 | 亚洲国产精品av| 丝袜美腿亚洲综合| 99re成人精品视频| 欧美精品一区二区在线观看| 亚洲一区二区在线视频| 国产在线精品视频| 欧美日韩成人高清| 1024成人网| 韩国女主播一区| 欧美一区二区三区视频免费播放| 日韩毛片精品高清免费| 极品少妇一区二区| 欧美人妇做爰xxxⅹ性高电影| 国产精品久久久久久久蜜臀| 精品午夜久久福利影院| 亚洲乱码国产乱码精品精的特点| 欧美中文字幕不卡| 日韩码欧中文字| 成人精品国产一区二区4080| 欧美一区三区二区| 亚洲一二三四在线观看| 成人av网在线| 亚洲国产精品成人综合色在线婷婷| 免费久久99精品国产| 欧美妇女性影城| 日日骚欧美日韩| 欧美高清精品3d| 丝袜国产日韩另类美女| 欧美军同video69gay| 亚洲在线视频一区| 在线观看国产日韩| 亚洲一区视频在线| 欧美日韩精品一区二区天天拍小说| 一级做a爱片久久| 欧美亚洲图片小说| 亚洲自拍与偷拍| 欧美日韩国产中文|