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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ohci-ppc-of.c

?? host usb 主設(shè)備程序 支持sd卡 mouse keyboard 的最單單的驅(qū)動(dòng)程序 gcc編譯
?? C
字號(hào):
/* * 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 2006 Sylvain Munaut <tnt@246tNt.com> * * Bus glue for OHCI HC on the of_platform bus * * Modified for of_platform bus from ohci-sa1111.c * * This file is licenced under the GPL. */#include <linux/signal.h>#include <asm/of_platform.h>#include <asm/prom.h>static int __devinitohci_ppc_of_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_of_hc_driver = {	.description =		hcd_name,	.product_desc =		"OF OHCI",	.hcd_priv_size =	sizeof(struct ohci_hcd),	/*	 * generic hardware linkage	 */	.irq =			ohci_irq,	.flags =		HCD_USB11 | HCD_MEMORY,	/*	 * basic lifecycle operations	 */	.start =		ohci_ppc_of_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 __devinitohci_hcd_ppc_of_probe(struct of_device *op, const struct of_device_id *match){	struct device_node *dn = op->node;	struct usb_hcd *hcd;	struct ohci_hcd	*ohci;	struct resource res;	int irq;	int rv;	int is_bigendian;	if (usb_disabled())		return -ENODEV;	is_bigendian =		device_is_compatible(dn, "ohci-bigendian") ||		device_is_compatible(dn, "ohci-be");	dev_dbg(&op->dev, "initializing PPC-OF USB Controller\n");	rv = of_address_to_resource(dn, 0, &res);	if (rv)		return rv;	hcd = usb_create_hcd(&ohci_ppc_of_hc_driver, &op->dev, "PPC-OF 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)) {		printk(KERN_ERR __FILE__ ": request_mem_region failed\n");		rv = -EBUSY;		goto err_rmr;	}	irq = irq_of_parse_and_map(dn, 0);	if (irq == NO_IRQ) {		printk(KERN_ERR __FILE__ ": irq_of_parse_and_map failed\n");		rv = -EBUSY;		goto err_irq;	}	hcd->regs = ioremap(hcd->rsrc_start, hcd->rsrc_len);	if (!hcd->regs) {		printk(KERN_ERR __FILE__ ": ioremap failed\n");		rv = -ENOMEM;		goto err_ioremap;	}	ohci = hcd_to_ohci(hcd);	if (is_bigendian)		ohci->flags |= OHCI_QUIRK_BE_MMIO | OHCI_QUIRK_BE_DESC;	ohci_hcd_init(ohci);	rv = usb_add_hcd(hcd, irq, 0);	if (rv == 0)		return 0;	iounmap(hcd->regs);err_ioremap:	irq_dispose_mapping(irq);err_irq:	release_mem_region(hcd->rsrc_start, hcd->rsrc_len);err_rmr: 	usb_put_hcd(hcd);	return rv;}static int ohci_hcd_ppc_of_remove(struct of_device *op){	struct usb_hcd *hcd = dev_get_drvdata(&op->dev);	dev_set_drvdata(&op->dev, NULL);	dev_dbg(&op->dev, "stopping PPC-OF USB Controller\n");	usb_remove_hcd(hcd);	iounmap(hcd->regs);	irq_dispose_mapping(hcd->irq);	release_mem_region(hcd->rsrc_start, hcd->rsrc_len);	usb_put_hcd(hcd);	return 0;}static int ohci_hcd_ppc_of_shutdown(struct of_device *op){	struct usb_hcd *hcd = dev_get_drvdata(&op->dev);        if (hcd->driver->shutdown)                hcd->driver->shutdown(hcd);	return 0;}static struct of_device_id ohci_hcd_ppc_of_match[] = {#ifdef CONFIG_USB_OHCI_HCD_PPC_OF_BE	{		.name = "usb",		.compatible = "ohci-bigendian",	},	{		.name = "usb",		.compatible = "ohci-be",	},#endif#ifdef CONFIG_USB_OHCI_HCD_PPC_OF_LE	{		.name = "usb",		.compatible = "ohci-littledian",	},	{		.name = "usb",		.compatible = "ohci-le",	},#endif	{},};MODULE_DEVICE_TABLE(of, ohci_hcd_ppc_of_match);#if	!defined(CONFIG_USB_OHCI_HCD_PPC_OF_BE) && \	!defined(CONFIG_USB_OHCI_HCD_PPC_OF_LE)#error "No endianess selected for ppc-of-ohci"#endifstatic struct of_platform_driver ohci_hcd_ppc_of_driver = {	.name		= "ppc-of-ohci",	.match_table	= ohci_hcd_ppc_of_match,	.probe		= ohci_hcd_ppc_of_probe,	.remove		= ohci_hcd_ppc_of_remove,	.shutdown 	= ohci_hcd_ppc_of_shutdown,#ifdef CONFIG_PM	/*.suspend	= ohci_hcd_ppc_soc_drv_suspend,*/	/*.resume	= ohci_hcd_ppc_soc_drv_resume,*/#endif	.driver		= {		.name	= "ppc-of-ohci",		.owner	= THIS_MODULE,	},};

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产精品亚洲精品| 久久精品国产99国产| 91精品福利在线一区二区三区| 国产一区二区福利视频| 亚洲国产精品影院| 欧美极品aⅴ影院| 91精品国产欧美一区二区18 | 国产成人在线影院 | 日韩一区在线免费观看| 日韩视频不卡中文| 日本韩国欧美国产| 大胆欧美人体老妇| 激情综合色播激情啊| 亚洲成人av中文| 亚洲男人的天堂在线aⅴ视频| 久久久久久9999| 亚洲高清视频在线| 亚洲天堂精品在线观看| 日本一区二区电影| 久久综合给合久久狠狠狠97色69| 欧美人体做爰大胆视频| 欧美在线免费视屏| 99精品桃花视频在线观看| 大胆欧美人体老妇| 国产精品18久久久久久久久久久久| 日韩成人一区二区| 亚洲.国产.中文慕字在线| 亚洲一区在线电影| 亚洲一区二区av在线| 亚洲日本一区二区三区| 亚洲欧洲国产专区| 国产精品高潮呻吟| 国产精品色眯眯| 国产欧美精品一区二区色综合| 久久免费看少妇高潮| 欧美精品一区二区三区蜜臀| 精品精品国产高清一毛片一天堂| 日韩一区二区三区三四区视频在线观看 | 日韩高清一级片| 欧美日韩国产a| 欧美日韩亚洲综合在线 | 91污片在线观看| 99久久综合精品| 99久久婷婷国产精品综合| 99re视频精品| av一区二区三区四区| 99riav一区二区三区| 91婷婷韩国欧美一区二区| 色噜噜狠狠成人网p站| 91电影在线观看| 欧美高清一级片在线| 日韩欧美一区电影| 亚洲精品在线免费播放| 国产婷婷精品av在线| 国产精品毛片大码女人| 综合激情成人伊人| 亚洲一区二区三区四区不卡| 天天做天天摸天天爽国产一区| 秋霞午夜鲁丝一区二区老狼| 免费av成人在线| 国产精品亚洲人在线观看| 丁香桃色午夜亚洲一区二区三区| 成人黄色a**站在线观看| 91国模大尺度私拍在线视频| 91麻豆精品国产91久久久久久| 欧美电影免费观看高清完整版在线观看 | 日韩av中文字幕一区二区| 国产一区二区三区电影在线观看 | 国产传媒日韩欧美成人| 99riav一区二区三区| 欧美日韩国产在线播放网站| 日韩欧美色综合网站| 亚洲精品一区二区在线观看| 《视频一区视频二区| 亚洲成人先锋电影| 国产一区二区不卡在线| 99re这里只有精品首页| 欧美剧在线免费观看网站| 亚洲精品一区二区三区在线观看| 国产精品久久久久久久久快鸭| 亚洲综合色自拍一区| 国内精品自线一区二区三区视频| 99精品视频一区二区三区| 欧美一区二区日韩一区二区| 国产欧美中文在线| 亚洲高清在线视频| 国产成人日日夜夜| 欧美三级视频在线播放| 久久久久国产精品麻豆ai换脸| 亚洲综合男人的天堂| 国产精品自拍av| 欧美精品高清视频| 国产精品免费视频一区| 视频一区二区三区中文字幕| 高清在线不卡av| 欧美一区二区视频在线观看| 成人欧美一区二区三区黑人麻豆| 日产国产高清一区二区三区 | 欧美日韩免费一区二区三区 | 国产.欧美.日韩| 欧美日韩国产综合一区二区三区| 久久精品日韩一区二区三区| 性久久久久久久久| 91在线免费播放| 久久一夜天堂av一区二区三区| 亚洲一级片在线观看| 国产成a人亚洲| 日韩一区二区中文字幕| 一区二区三区高清不卡| 成人av中文字幕| 久久色中文字幕| 日韩av网站免费在线| 国产精品美女久久久久久| 久久不见久久见中文字幕免费| 欧美亚洲国产怡红院影院| 国产精品传媒视频| 国产mv日韩mv欧美| 久久综合色婷婷| 蜜臀av亚洲一区中文字幕| 欧美日韩国产三级| 一区二区三区**美女毛片| 94色蜜桃网一区二区三区| 国产精品网曝门| 高清视频一区二区| 国产清纯在线一区二区www| 国产在线精品视频| 久久久一区二区| 国产一区欧美日韩| 26uuu精品一区二区三区四区在线| 奇米精品一区二区三区在线观看一 | 国产在线不卡一区| 日韩精品最新网址| 青青草国产成人av片免费| 欧美日韩激情在线| 婷婷成人综合网| 4hu四虎永久在线影院成人| 日精品一区二区| 欧美大度的电影原声| 麻豆成人久久精品二区三区红| 日韩精品中文字幕一区| 精品一区二区三区视频在线观看| 日韩欧美一级片| 狠狠狠色丁香婷婷综合久久五月| 欧美成人三级在线| 国产一区二区三区不卡在线观看| 久久婷婷国产综合精品青草| 韩国成人在线视频| 日本一区二区免费在线观看视频| 国产.欧美.日韩| 亚洲免费在线电影| 欧美日韩亚洲不卡| 美美哒免费高清在线观看视频一区二区| 日韩手机在线导航| 国模少妇一区二区三区| 亚洲国产精品传媒在线观看| 91网站最新地址| 亚洲成人av一区二区三区| 日韩欧美一级特黄在线播放| 国产精品88av| 亚洲猫色日本管| 这里只有精品电影| 国产麻豆午夜三级精品| 国产精品久久久久永久免费观看| 在线亚洲精品福利网址导航| 亚洲超碰精品一区二区| 欧美tickling挠脚心丨vk| 国产999精品久久久久久绿帽| 国产精品美女久久久久高潮| 欧日韩精品视频| 奇米精品一区二区三区四区 | 美女高潮久久久| 亚洲国产精品99久久久久久久久| 91麻豆文化传媒在线观看| 首页欧美精品中文字幕| 久久久99久久| 91电影在线观看| 国产一区二区三区精品视频| 一区二区三区日韩欧美| 日韩一级二级三级| 成人免费毛片app| 天天色天天爱天天射综合| 国产亚洲成av人在线观看导航| 色婷婷精品大视频在线蜜桃视频| 日韩不卡一区二区三区 | 亚洲v精品v日韩v欧美v专区| 2023国产一二三区日本精品2022| 91婷婷韩国欧美一区二区| 精品伊人久久久久7777人| 亚洲欧美成人一区二区三区| 日韩精品一区在线| 欧美视频中文一区二区三区在线观看| 国模套图日韩精品一区二区| 亚洲电影一区二区三区| 日本一区二区三区在线观看| 91精品中文字幕一区二区三区| 9i看片成人免费高清| 久久成人免费电影| 日韩国产在线一| 樱花草国产18久久久久| 久久精品亚洲乱码伦伦中文|