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

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

?? fipkernel.c

?? 這是一個(gè)SIGMA方案的PMP播放器的UCLINUX程序,可播放DVD,VCD,CD MP3...有很好的參考價(jià)值.
?? C
字號(hào):
// FIP + IR kernel module// Copyright (c) Sigma Designs, Inc. 2002#include <linux/kernel.h>#include <linux/module.h>#include <linux/interrupt.h>#include <linux/fs.h>#include <linux/poll.h>#include <linux/ioctl.h>#include <linux/devfs_fs_kernel.h>#include <asm/pgtable.h>#include <asm/irq.h>#include <asm/hardware.h>#include "irstate.h"#include "fip.h"#include "fip_private.h"#include "fipkernel.h"#include "fipioctl.h"MODULE_DESCRIPTION("Remote control and front panel driver module");MODULE_AUTHOR("Vincent Trinh, Fabrice Gautier");#ifdef MODULE_LICENSEMODULE_LICENSE("Proprietary. Copyright (c) 2002 Sigma Designs Inc. All rights reserved.");#endif // MODULE_LICENSE//wait queuewait_queue_head_t fip_wait_queue;// Temp hackextern int fipkeyerrors;// Called by the state machine or fip when a scancode has been completedvoid fiq_handler (void){	unsigned int intno;	intno = *(INT_FIQSTAT_REG);	if(intno & TIMER1_INT) {		// clear timer interrupt		*(TIMER_TMRSTAT_REG) = 0x2;		if(fip_timer()) {			wake_up_interruptible(&fip_wait_queue);		}		return;	}	if(intno & PIO0_INT) {		// clear pio 0 bit 1		*PIO_0_INT_STATUS_REG = ((1 << 1 ) <<16) | 0xffff;		if(ir_pio()) {	           wake_up_interruptible(&fip_wait_queue);		}		return;	}}void fiq_enable(int int_mask){	int status;	// Set type to FIQ	status = *INT_TYPE_REG;       	*INT_TYPE_REG = status | (int_mask);		// Enable	status = *INT_ENABLE_REG;	*INT_ENABLE_REG = status | (int_mask);		__sti ();}void fiq_disable(int int_mask){	int status;	__cli ();	// disable	status = *INT_ENABLE_REG;	*INT_ENABLE_REG = status & ~(int_mask);		// reset type to IRQ	status = *INT_TYPE_REG;     	*INT_TYPE_REG = status & ~(int_mask);}// ... To here// File opsstatic int fip_open(struct inode *inode, struct file *filp){	MOD_INC_USE_COUNT;	return 0;}static int fip_release(struct inode *inode, struct file *filp){	MOD_DEC_USE_COUNT;	return 0;}static int fip_ioctl(struct inode *i_node, struct file *filp,unsigned int cmd, unsigned long arg){	int rc=0;	switch (cmd) {	case FIP_IOCTL_FLUSH_FIFO:		FIP_FIFO_FLUSH();		break;	case FIP_IOCTL_DIMMER:		FIP_DIMMER(arg);		break;	case FIP_IOCTL_DISPLAY:		//printk("FIP_IOCTL_DISPLAY(%d,0x%02x)\n", (int)((arg>>16)&0x3F), (int)(arg&0xFF)); 		FIP_DISPLAY((arg>>16)&0x3F, arg&0xFF);		break;	case FIP_IOCTL_LED:		FIP_LED((arg&0xFFFF),arg>>31);		break;	case FIP_IOCTL_READ_KEYS:		rc = fip_read_scancode(arg);		break;	default:		printk("fip_ioctl: unknow cmd = %d\n",cmd);		rc = -EINVAL;	}	return rc;}#if 1 // XXXstatic unsigned int fip_kernel_poll(struct file *filp, poll_table *wait){	int mask = 0;	poll_wait(filp,&fip_wait_queue,wait);	//XXX: kinda of hackish: we use POLLIN but we read with an ioctl ?!	// Should we use POLLMSG or something else ??	FIP_FIFO_LOCK ();	if(!FIP_FIFO_EMPTY())		mask |= POLLIN;	FIP_FIFO_UNLOCK ();	return mask;}#endifstruct file_operations fip_fops = {			open:    fip_open,	ioctl:   fip_ioctl,	poll:    fip_kernel_poll,	release: fip_release};devfs_handle_t fip_register(void){	devfs_handle_t de;	unsigned int maj,min;	// register char driver.	// Try devfs first - if kernel doesnt support devfs, devfs_register	// returns NULL#ifdef CONFIG_DEVFS_FS	if((de=devfs_register(NULL, RMFIP_DEVICE_NAME,			      DEVFS_FL_DEFAULT, RMFIP_MAJOR, 0,			      S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP,			      &fip_fops, NULL)))	{		devfs_get_maj_min(de, &maj, &min);		printk("init_module: device (%d:%d) registered in devfs\n",			  maj, min);	} #else#error You must enable devfs in your kernel#endif	return de;}// use the PIO interrupt to change the state in the state machineint init_module (){	int status;	EXPORT_NO_SYMBOLS;	printk ("\nfip: init_module\n");	init_waitqueue_head(&fip_wait_queue);	install_fiq_handler(&fiq_handler);	ir_init();	fip_init();	// Set type to FIQ (Timer irq used for front panel polling)	status = *INT_TYPE_REG;	*INT_TYPE_REG = status | TIMER1_INT;	// Set type to FIQ (pio0 irq used for remote control)	status = *INT_TYPE_REG;       	*INT_TYPE_REG = status | PIO0_INT;	if(fip_register())		printk("fip: Device sucessfully registered\n");	else 		printk("fip: Unable to register device\n");	fip_fifo_first = 0;	fip_fifo_last = 0;	fiq_enable(TIMER1_INT);	fiq_enable(PIO0_INT);	printk("fip: init_module done\n");	return 0;}void cleanup_module (void){	printk ("fip: cleanup\n");	install_fiq_handler(NULL);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区成人| 一本色道久久综合亚洲精品按摩| 国产精品一区在线观看你懂的| 成人黄页在线观看| 欧美人狂配大交3d怪物一区| 国产欧美日韩另类一区| 日韩va欧美va亚洲va久久| 成人禁用看黄a在线| 欧美一区二区日韩| 亚洲综合激情小说| 国产91精品久久久久久久网曝门| 91精品国产欧美日韩| 亚洲免费视频中文字幕| 国产黄色精品视频| 精品久久久久久无| 日av在线不卡| 欧美三级电影在线观看| 亚洲欧美日韩电影| 国产盗摄一区二区三区| 精品日本一线二线三线不卡| 亚洲一区在线播放| 在线观看视频欧美| 亚洲欧美日韩在线| 91丝袜呻吟高潮美腿白嫩在线观看| 国产精品久久久久三级| 午夜久久久久久久久| 欧美在线视频不卡| 亚洲一区在线观看免费| 一本一道综合狠狠老| 国产精品国产精品国产专区不蜜| 国产尤物一区二区在线| 精品国产乱码久久久久久1区2区| 美国十次了思思久久精品导航| 欧美肥胖老妇做爰| 亚洲成a人v欧美综合天堂| 在线观看日韩一区| 亚洲一区二区美女| 欧美高清激情brazzers| 日韩高清不卡一区二区| 在线综合视频播放| 久久99久国产精品黄毛片色诱| 日韩三级精品电影久久久| 日韩国产精品久久| 91精品国产综合久久婷婷香蕉| 日韩高清电影一区| 精品国产污网站| 大尺度一区二区| 亚洲欧美视频在线观看视频| 欧美最猛性xxxxx直播| 亚欧色一区w666天堂| 91精品国产黑色紧身裤美女| 麻豆成人久久精品二区三区小说| 久久午夜老司机| 99久久精品免费看国产| 亚洲丶国产丶欧美一区二区三区| 欧美日韩一级片网站| 男女男精品视频网| 欧美激情一区二区三区全黄| 亚洲精品在线三区| 懂色中文一区二区在线播放| 最新热久久免费视频| 欧美午夜精品免费| 毛片av中文字幕一区二区| 国产欧美一区二区在线| 色成年激情久久综合| 裸体在线国模精品偷拍| 中文av一区二区| 欧美日韩大陆在线| 国产成人小视频| 亚洲1区2区3区4区| 国产亚洲福利社区一区| 日本韩国欧美国产| 韩国av一区二区三区在线观看| 亚洲欧美自拍偷拍| 精品日韩一区二区三区| caoporn国产一区二区| 午夜激情综合网| 欧美国产在线观看| 欧美日韩在线三区| 成人一区二区三区视频在线观看 | 日韩欧美中文字幕制服| caoporn国产精品| 久久成人av少妇免费| 亚洲欧美激情在线| 久久夜色精品一区| 欧美日免费三级在线| 岛国精品在线观看| 捆绑变态av一区二区三区| 国产精品久久久久久户外露出 | 日韩欧美第一区| 91色.com| 国产成人精品www牛牛影视| 亚洲午夜久久久久久久久久久| 国产视频在线观看一区二区三区| 欧美福利视频导航| 不卡区在线中文字幕| 极品销魂美女一区二区三区| 婷婷综合五月天| 一区二区三区久久| 国产精品亲子乱子伦xxxx裸| 26uuu另类欧美| 91麻豆精品国产91久久久久久久久| eeuss鲁一区二区三区| 国产精品系列在线观看| 国内精品伊人久久久久影院对白| 午夜欧美在线一二页| 一区二区三区中文字幕精品精品 | 狠狠狠色丁香婷婷综合久久五月| 亚洲国产一区二区三区青草影视| 综合久久国产九一剧情麻豆| 国产日韩亚洲欧美综合| 久久视频一区二区| www国产精品av| 精品国产麻豆免费人成网站| 日韩一区二区精品| 欧美mv日韩mv| 精品美女一区二区三区| 欧美成人高清电影在线| 91精品欧美久久久久久动漫| 欧美电影在线免费观看| 7777精品伊人久久久大香线蕉的 | 欧美日韩久久久| 在线观看精品一区| 色综合久久综合网| 欧美性猛片aaaaaaa做受| 欧美亚洲尤物久久| 欧美日本国产一区| 欧美一区二区三区视频在线| 欧美一区二区国产| 欧美成人video| 久久久精品天堂| 中文字幕中文字幕一区二区| 1024成人网| 午夜国产精品一区| 久久精品国产成人一区二区三区| 久久精品国产精品亚洲红杏| 国产精品亚洲午夜一区二区三区| 国产精品小仙女| 一本大道久久a久久精二百| 精品视频一区二区不卡| 精品少妇一区二区三区在线播放 | 91官网在线免费观看| 欧美喷水一区二区| 2020国产精品自拍| 亚洲人成电影网站色mp4| 舔着乳尖日韩一区| 国产一区二区在线视频| www.性欧美| 91精品综合久久久久久| 国产丝袜在线精品| 亚洲国产综合色| 国产一区二区不卡| 色先锋久久av资源部| 日韩亚洲欧美在线观看| 国产精品麻豆久久久| 亚洲v中文字幕| 粉嫩绯色av一区二区在线观看| 在线免费亚洲电影| 久久伊99综合婷婷久久伊| 美美哒免费高清在线观看视频一区二区| 美女爽到高潮91| 日本韩国欧美三级| 国产日韩精品久久久| 亚洲电影激情视频网站| 丁香啪啪综合成人亚洲小说| 欧美三片在线视频观看| 国产欧美一区二区精品性色| 爽爽淫人综合网网站| 成人免费毛片嘿嘿连载视频| 7777精品伊人久久久大香线蕉超级流畅 | 一区二区三区欧美久久| 国产在线视频不卡二| 91久久精品网| 国产精品麻豆视频| 精品亚洲porn| 在线电影国产精品| 亚洲美女在线一区| 国产a区久久久| 欧美videos中文字幕| 丝袜美腿亚洲综合| 一本色道久久综合亚洲91| 欧美国产一区在线| 国产一区在线观看视频| 91精品国产综合久久香蕉的特点| 亚洲制服丝袜在线| 91视频观看视频| 亚洲欧洲国产日本综合| 国产不卡在线一区| 久久久亚洲精品石原莉奈| 久久精品久久99精品久久| 欧美日本韩国一区二区三区视频| 一区二区高清视频在线观看| 99re成人精品视频| 国产精品国产三级国产| 国产99久久精品| 国产亚洲精久久久久久| 国产精品一区二区果冻传媒| 精品久久久久久久人人人人传媒| 奇米888四色在线精品| 制服丝袜一区二区三区|