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

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

?? ohci-ppc-soc.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> * (C) Copyright 2002 Hewlett-Packard Company * (C) Copyright 2003-2005 MontaVista Software Inc. * * Bus Glue for PPC On-Chip OHCI driver * Tested on Freescale MPC5200 and IBM STB04xxx * * Modified by Dale Farnsworth <dale@farnsworth.org> from ohci-sa1111.c * * This file is licenced under the GPL. */#include <linux/platform_device.h>#include <linux/signal.h>/* configure so an HC device and id are always provided *//* always called with process context; sleeping is OK *//** * usb_hcd_ppc_soc_probe - initialize On-Chip HCDs * Context: !in_interrupt() * * Allocates basic resources for this USB host controller. * * Store this function in the HCD's struct pci_driver as probe(). */static int usb_hcd_ppc_soc_probe(const struct hc_driver *driver,			  struct platform_device *pdev){	int retval;	struct usb_hcd *hcd;	struct ohci_hcd	*ohci;	struct resource *res;	int irq;	pr_debug("initializing PPC-SOC USB Controller\n");	res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);	if (!res) {		pr_debug(__FILE__ ": no irq\n");		return -ENODEV;	}	irq = res->start;	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);	if (!res) {		pr_debug(__FILE__ ": no reg addr\n");		return -ENODEV;	}	hcd = usb_create_hcd(driver, &pdev->dev, "PPC-SOC USB");	if (!hcd)		return -ENOMEM;	hcd->rsrc_start = res->start;	hcd->rsrc_len = res->end - res->start + 1;	if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, hcd_name)) {		pr_debug(__FILE__ ": request_mem_region failed\n");		retval = -EBUSY;		goto err1;	}	hcd->regs = ioremap(hcd->rsrc_start, hcd->rsrc_len);	if (!hcd->regs) {		pr_debug(__FILE__ ": ioremap failed\n");		retval = -ENOMEM;		goto err2;	}	ohci = hcd_to_ohci(hcd);	ohci->flags |= OHCI_QUIRK_BE_MMIO | OHCI_QUIRK_BE_DESC;	ohci_hcd_init(ohci);	retval = usb_add_hcd(hcd, irq, IRQF_DISABLED);	if (retval == 0)		return retval;	pr_debug("Removing PPC-SOC USB Controller\n");	iounmap(hcd->regs); err2:	release_mem_region(hcd->rsrc_start, hcd->rsrc_len); err1:	usb_put_hcd(hcd);	return retval;}/* may be called without controller electrically present *//* may be called with controller, bus, and devices active *//** * usb_hcd_ppc_soc_remove - shutdown processing for On-Chip HCDs * @pdev: USB Host Controller being removed * Context: !in_interrupt() * * Reverses the effect of usb_hcd_ppc_soc_probe(). * It is always called from a thread * context, normally "rmmod", "apmd", or something similar. * */static void usb_hcd_ppc_soc_remove(struct usb_hcd *hcd,		struct platform_device *pdev){	usb_remove_hcd(hcd);	pr_debug("stopping PPC-SOC USB Controller\n");	iounmap(hcd->regs);	release_mem_region(hcd->rsrc_start, hcd->rsrc_len);	usb_put_hcd(hcd);}static int __devinitohci_ppc_soc_start(struct usb_hcd *hcd){	struct ohci_hcd	*ohci = hcd_to_ohci(hcd);	int		ret;	if ((ret = ohci_init(ohci)) < 0)		return ret;	if ((ret = ohci_run(ohci)) < 0) {		err("can't start %s", ohci_to_hcd(ohci)->self.bus_name);		ohci_stop(hcd);		return ret;	}	return 0;}static const struct hc_driver ohci_ppc_soc_hc_driver = {	.description =		hcd_name,	.hcd_priv_size =	sizeof(struct ohci_hcd),	/*	 * generic hardware linkage	 */	.irq =			ohci_irq,	.flags =		HCD_USB11 | HCD_MEMORY,	/*	 * basic lifecycle operations	 */	.start =		ohci_ppc_soc_start,	.stop =			ohci_stop,	.shutdown =		ohci_shutdown,	/*	 * managing i/o requests and associated device resources	 */	.urb_enqueue =		ohci_urb_enqueue,	.urb_dequeue =		ohci_urb_dequeue,	.endpoint_disable =	ohci_endpoint_disable,	/*	 * scheduling support	 */	.get_frame_number =	ohci_get_frame,	/*	 * root hub support	 */	.hub_status_data =	ohci_hub_status_data,	.hub_control =		ohci_hub_control,	.hub_irq_enable =	ohci_rhsc_enable,#ifdef	CONFIG_PM	.bus_suspend =		ohci_bus_suspend,	.bus_resume =		ohci_bus_resume,#endif	.start_port_reset =	ohci_start_port_reset,};static int ohci_hcd_ppc_soc_drv_probe(struct platform_device *pdev){	int ret;	if (usb_disabled())		return -ENODEV;	ret = usb_hcd_ppc_soc_probe(&ohci_ppc_soc_hc_driver, pdev);	return ret;}static int ohci_hcd_ppc_soc_drv_remove(struct platform_device *pdev){	struct usb_hcd *hcd = platform_get_drvdata(pdev);	usb_hcd_ppc_soc_remove(hcd, pdev);	return 0;}static struct platform_driver ohci_hcd_ppc_soc_driver = {	.probe		= ohci_hcd_ppc_soc_drv_probe,	.remove		= ohci_hcd_ppc_soc_drv_remove,	.shutdown	= usb_hcd_platform_shutdown,#ifdef	CONFIG_PM	/*.suspend	= ohci_hcd_ppc_soc_drv_suspend,*/	/*.resume	= ohci_hcd_ppc_soc_drv_resume,*/#endif	.driver		= {		.name	= "ppc-soc-ohci",		.owner	= THIS_MODULE,	},};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲 欧美综合在线网络| 亚洲成人激情综合网| 亚洲欧洲中文日韩久久av乱码| 欧美羞羞免费网站| 成人高清视频在线观看| 毛片av一区二区| 亚洲电影一级片| 国产剧情一区二区三区| 国产呦萝稀缺另类资源| 九色|91porny| 极品少妇xxxx精品少妇偷拍| 在线日韩av片| 欧美老年两性高潮| 欧美精品久久久久久久多人混战 | 欧美日韩国产一级二级| 欧美日韩一区二区三区在线看| 色偷偷久久一区二区三区| 色久优优欧美色久优优| 欧美日韩国产在线观看| 亚洲欧洲精品一区二区三区不卡| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美日本一区二区在线观看| 国产精品久线观看视频| 国产一区二区三区精品视频| 日韩欧美国产一二三区| 日韩一区二区三| 国产日韩v精品一区二区| 国产女主播在线一区二区| 久久综合综合久久综合| 成人黄动漫网站免费app| 欧美精品一区二区三| 国产亚洲视频系列| 亚洲免费伊人电影| 99久久99久久精品免费看蜜桃| 欧美系列在线观看| 亚洲另类色综合网站| 五月激情丁香一区二区三区| 国产不卡视频在线观看| 在线看一区二区| 一级日本不卡的影视| 精品一区二区三区免费视频| 欧美xxxxx裸体时装秀| 亚洲三级在线看| 美女国产一区二区| 精品国产网站在线观看| 粉嫩蜜臀av国产精品网站| 国产蜜臀97一区二区三区| 成人国产电影网| 亚洲一二三四区不卡| 99在线精品免费| 精品久久一区二区三区| 激情欧美一区二区三区在线观看| 欧美色图在线观看| 日韩高清不卡一区二区三区| 99久久久无码国产精品| 亚洲精品免费电影| 制服丝袜成人动漫| 一二三四社区欧美黄| 91精品国产免费| 亚洲国产aⅴ天堂久久| eeuss国产一区二区三区| 亚洲欧美日韩中文播放| 欧美久久一区二区| 国产麻豆精品久久一二三| 国产精品不卡视频| 欧美嫩在线观看| 国产麻豆精品在线| 亚洲午夜久久久久久久久久久| 日韩欧美一区二区在线视频| 国产suv精品一区二区6| 亚洲综合成人在线| 国产午夜一区二区三区| 在线看不卡av| 国产一区二区三区在线观看精品 | 免费欧美日韩国产三级电影| 欧日韩精品视频| 精品一区二区免费视频| 亚洲美女电影在线| 日韩精品一区二区三区老鸭窝| 99国产精品一区| 久久精品国产网站| 亚洲一区二区欧美日韩| 亚洲精品一区二区三区四区高清 | 三级在线观看一区二区| 欧美日韩视频在线第一区 | 亚洲国产精品成人综合| 国产一区二区91| 一区二区在线观看视频 | 日韩视频在线你懂得| 91在线视频观看| 精品在线你懂的| 天堂久久久久va久久久久| 亚洲精品一二三区| 日本一区二区免费在线| 欧美大片免费久久精品三p| 欧美午夜一区二区| 91网站黄www| 亚洲黄色性网站| 亚洲国产成人自拍| 欧美成人精品3d动漫h| 色8久久精品久久久久久蜜| 国产成人鲁色资源国产91色综| 国产精品欧美一区喷水| 91高清视频在线| av在线免费不卡| 国产91高潮流白浆在线麻豆| 精品一区二区三区香蕉蜜桃| 日韩av中文字幕一区二区| 亚洲综合一区二区精品导航| 又紧又大又爽精品一区二区| 亚洲人午夜精品天堂一二香蕉| 中文字幕成人av| 中文字幕乱码久久午夜不卡 | 午夜精品福利在线| 亚洲一区二区在线视频| 一区二区三区在线影院| 亚洲欧美另类小说| 亚洲欧美另类久久久精品| 国产精品久久久久桃色tv| 国产精品伦一区| 亚洲欧洲精品成人久久奇米网| 国产精品午夜久久| 国产精品国产三级国产aⅴ无密码| 国产精品久线在线观看| 亚洲精品高清在线| 亚洲五码中文字幕| 亚洲一区二区美女| 秋霞午夜鲁丝一区二区老狼| 男女性色大片免费观看一区二区 | 精品91自产拍在线观看一区| 精品国产91洋老外米糕| 国产午夜精品一区二区三区嫩草 | 免费在线观看不卡| 久久国产夜色精品鲁鲁99| 国产又黄又大久久| 成人av在线资源网| 欧美午夜理伦三级在线观看| 欧美日韩中字一区| 欧美精品一区二区在线观看| 欧美激情在线看| 亚洲制服丝袜一区| 蜜臀久久99精品久久久画质超高清| 国内精品久久久久影院色 | 日韩理论电影院| 亚洲成人www| 国产在线精品不卡| 91偷拍与自偷拍精品| 精品国产91乱码一区二区三区| 国产欧美一区二区在线观看| 亚洲一区二三区| 国产乱人伦偷精品视频不卡| 91视视频在线观看入口直接观看www| 欧美午夜不卡视频| 26uuu欧美| 欧美大肚乱孕交hd孕妇| 欧美极品少妇xxxxⅹ高跟鞋| 一级女性全黄久久生活片免费| 国产在线日韩欧美| 欧美色爱综合网| 久久久99免费| 亚洲国产精品精华液ab| 日韩精品一二区| 成人app在线观看| 欧美一级艳片视频免费观看| 自拍偷拍国产精品| 久久精品国产免费| 欧美日韩一级黄| 中文字幕欧美一| 美女视频一区二区三区| 欧洲色大大久久| 中文字幕高清一区| 久久99精品国产| 欧美在线看片a免费观看| 国产三级精品视频| 免费看欧美女人艹b| 色嗨嗨av一区二区三区| 国产日韩欧美麻豆| 久久国产欧美日韩精品| 欧美日韩一区二区在线观看视频| 亚洲欧洲日产国产综合网| 精品一区二区三区在线播放| 91精品蜜臀在线一区尤物| 一区二区在线观看视频在线观看| 欧美一级国产精品| 亚洲综合在线视频| 91在线观看污| 国产精品理伦片| 国产成人精品在线看| 久久久精品国产免大香伊| 青青草国产精品97视觉盛宴| 欧美日韩成人激情| 亚洲高清在线精品| 欧美性三三影院| 亚洲无人区一区| 欧美伊人久久大香线蕉综合69| 亚洲欧美日韩中文播放 | 一区二区三区**美女毛片| 99精品视频一区| 亚洲色图.com| 91啪亚洲精品|