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

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

?? q40kbd.c

?? QQ2440板子
?? C
字號:
/* * $Id: q40kbd.c,v 1.12 2002/02/02 22:26:44 vojtech Exp $ * *  Copyright (c) 2000-2001 Vojtech Pavlik * *  Based on the work of: *	Richard Zidlicky <Richard.Zidlicky@stud.informatik.uni-erlangen.de> *//* * Q40 PS/2 keyboard controller driver for Linux/m68k *//* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Should you need to contact me, the author, you can do so either by * e-mail - mail your message to <vojtech@ucw.cz>, or by paper mail: * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic */#include <linux/module.h>#include <linux/init.h>#include <linux/serio.h>#include <linux/interrupt.h>#include <linux/err.h>#include <linux/bitops.h>#include <asm/io.h>#include <asm/uaccess.h>#include <asm/q40_master.h>#include <asm/irq.h>#include <asm/q40ints.h>MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>");MODULE_DESCRIPTION("Q40 PS/2 keyboard controller driver");MODULE_LICENSE("GPL");DEFINE_SPINLOCK(q40kbd_lock);static struct serio *q40kbd_port;static struct platform_device *q40kbd_device;static irqreturn_t q40kbd_interrupt(int irq, void *dev_id, struct pt_regs *regs){	unsigned long flags;	spin_lock_irqsave(&q40kbd_lock, flags);	if (Q40_IRQ_KEYB_MASK & master_inb(INTERRUPT_REG))		serio_interrupt(q40kbd_port, master_inb(KEYCODE_REG), 0, regs);	master_outb(-1, KEYBOARD_UNLOCK_REG);	spin_unlock_irqrestore(&q40kbd_lock, flags);	return IRQ_HANDLED;}/* * q40kbd_flush() flushes all data that may be in the keyboard buffers */static void q40kbd_flush(void){ 	int maxread = 100;	unsigned long flags;	spin_lock_irqsave(&q40kbd_lock, flags); 	while (maxread-- && (Q40_IRQ_KEYB_MASK & master_inb(INTERRUPT_REG))) 		master_inb(KEYCODE_REG);	spin_unlock_irqrestore(&q40kbd_lock, flags);}/* * q40kbd_open() is called when a port is open by the higher layer. * It allocates the interrupt and enables in in the chip. */static int q40kbd_open(struct serio *port){	q40kbd_flush();	if (request_irq(Q40_IRQ_KEYBOARD, q40kbd_interrupt, 0, "q40kbd", NULL)) {		printk(KERN_ERR "q40kbd.c: Can't get irq %d.\n", Q40_IRQ_KEYBOARD);		return -1;	} 	/* off we go */ 	master_outb(-1, KEYBOARD_UNLOCK_REG); 	master_outb(1, KEY_IRQ_ENABLE_REG); 	return 0;}static void q40kbd_close(struct serio *port){	master_outb(0, KEY_IRQ_ENABLE_REG);	master_outb(-1, KEYBOARD_UNLOCK_REG);	free_irq(Q40_IRQ_KEYBOARD, NULL);	q40kbd_flush();}static struct serio * __init q40kbd_allocate_port(void){	struct serio *serio;	serio = kmalloc(sizeof(struct serio), GFP_KERNEL);	if (serio) {		memset(serio, 0, sizeof(struct serio));		serio->id.type		= SERIO_8042;		serio->open		= q40kbd_open;		serio->close		= q40kbd_close;		serio->dev.parent	= &q40kbd_device->dev;		strlcpy(serio->name, "Q40 Kbd Port", sizeof(serio->name));		strlcpy(serio->phys, "Q40", sizeof(serio->phys));	}	return serio;}static int __init q40kbd_init(void){	if (!MACH_IS_Q40)		return -EIO;	q40kbd_device = platform_device_register_simple("q40kbd", -1, NULL, 0);	if (IS_ERR(q40kbd_device))		return PTR_ERR(q40kbd_device);	if (!(q40kbd_port = q40kbd_allocate_port())) {		platform_device_unregister(q40kbd_device);		return -ENOMEM;	}	serio_register_port(q40kbd_port);	printk(KERN_INFO "serio: Q40 kbd registered\n");	return 0;}static void __exit q40kbd_exit(void){	serio_unregister_port(q40kbd_port);	platform_device_unregister(q40kbd_device);}module_init(q40kbd_init);module_exit(q40kbd_exit);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情小说欧美图片| 色综合久久综合中文综合网| 91在线观看视频| 欧美极品少妇xxxxⅹ高跟鞋| 午夜欧美在线一二页| 在线观看日韩精品| 国产视频一区二区在线观看| 91捆绑美女网站| 久久99最新地址| 亚洲精品一二三| 欧美一区日韩一区| 在线精品视频一区二区三四 | 日韩欧美一级特黄在线播放| 99精品国产99久久久久久白柏| 中文字幕在线播放不卡一区| 国模无码大尺度一区二区三区| 91精品国产色综合久久| 麻豆一区二区三| 亚洲人成精品久久久久| 欧美久久久久久久久| 国产91清纯白嫩初高中在线观看| 亚洲精品水蜜桃| 日韩欧美电影一区| 99久久伊人精品| 蜜臀av性久久久久蜜臀aⅴ| 中文字幕欧美区| 91精品国产高清一区二区三区蜜臀| 福利91精品一区二区三区| 亚洲一区二区视频| 中文字幕亚洲区| www激情久久| 日韩欧美精品三级| 欧美日韩一区二区三区不卡| 成人精品视频.| 久久97超碰色| 久久成人免费日本黄色| 亚洲国产欧美在线| 亚洲精品乱码久久久久久久久 | 色菇凉天天综合网| 91影院在线观看| 国产麻豆视频一区二区| 欧美日韩mp4| 国内精品久久久久影院一蜜桃| 精品国产99国产精品| 亚洲精品中文在线观看| 26uuu国产在线精品一区二区| 韩国av一区二区三区| 日本不卡视频一二三区| 精品成人a区在线观看| 国产91丝袜在线观看| 91.xcao| 欧美在线视频你懂得| 成人福利视频在线看| 一区二区三区欧美| 91福利资源站| 欧美性videosxxxxx| 欧美亚洲动漫精品| 欧美一区二视频| 日韩精品一区二区三区老鸭窝| 日韩写真欧美这视频| 精品美女一区二区| 国产欧美日本一区二区三区| 久久免费偷拍视频| 自拍偷拍亚洲激情| 婷婷久久综合九色国产成人| 美女网站色91| 成人av电影免费观看| 色综合久久66| 久久久久久久久久久久久夜| 国产精品天美传媒| 日韩黄色免费电影| 国产成人免费视频| 欧美日韩激情一区二区三区| 精品久久久久久无| 亚洲一区二区三区四区五区中文| 亚洲成人综合在线| 成人黄色软件下载| 欧美一区二区三区在线观看| 国产精品久久久一本精品 | 中文一区一区三区高中清不卡| 亚洲日本在线天堂| 国产麻豆视频精品| 欧美日韩午夜在线视频| 国产午夜久久久久| 久久激情五月激情| 欧美三级韩国三级日本三斤| 日本一区免费视频| 激情深爱一区二区| 制服丝袜av成人在线看| 亚洲色图.com| 91一区二区在线| 亚洲欧洲三级电影| 99久久99久久综合| 国产精品视频在线看| 国内精品不卡在线| 国产亚洲美州欧州综合国| 美女视频黄免费的久久| 91精品久久久久久久91蜜桃| 一区二区三区欧美日韩| 日本丶国产丶欧美色综合| 国产精品久久久久婷婷| 不卡一区二区三区四区| 国产精品麻豆一区二区| 波多野结衣中文字幕一区| 中文字幕在线不卡| 97se狠狠狠综合亚洲狠狠| 亚洲精品乱码久久久久久日本蜜臀| 成人午夜短视频| 一区二区三区电影在线播| 日本久久一区二区三区| 亚洲欧美二区三区| 欧美一级搡bbbb搡bbbb| 国产又粗又猛又爽又黄91精品| 国产色一区二区| 在线免费观看成人短视频| 三级一区在线视频先锋| 久久精品一区四区| 欧洲激情一区二区| 视频在线观看国产精品| 久久久91精品国产一区二区精品 | 亚洲色图19p| 欧美一区二区三区白人| av电影在线不卡| 亚洲与欧洲av电影| 国产无一区二区| 91搞黄在线观看| 成人精品免费看| 日韩福利视频网| 亚洲成人精品影院| 色综合视频一区二区三区高清| 4hu四虎永久在线影院成人| 韩国欧美国产1区| 亚洲欧美日韩国产中文在线| 欧美日韩免费电影| 91麻豆国产在线观看| 国产一区二区三区视频在线播放| 亚洲一区二区在线观看视频| 国产精品欧美久久久久无广告| 日韩一级片网站| 制服丝袜亚洲色图| 欧美影片第一页| 在线精品观看国产| 在线观看免费亚洲| 在线观看视频一区二区欧美日韩| 成人自拍视频在线观看| 久久99精品国产麻豆婷婷洗澡| 日本不卡不码高清免费观看| 丝袜诱惑亚洲看片| 久久精品国产一区二区三区免费看| 亚洲成人激情综合网| 日日夜夜精品视频天天综合网| 又紧又大又爽精品一区二区| 亚洲永久精品国产| 午夜精品久久一牛影视| 免费久久精品视频| 国产一区二区调教| proumb性欧美在线观看| 色综合 综合色| 欧美一级免费观看| 欧美激情一区二区三区不卡| 国产喷白浆一区二区三区| 中文字幕日韩一区| 午夜精品一区二区三区电影天堂| 麻豆一区二区三区| 成人福利视频网站| 欧美一区二区网站| 国产精品国产自产拍高清av王其 | 亚洲一区二三区| 奇米影视一区二区三区小说| 国产资源在线一区| 欧美羞羞免费网站| 国产午夜亚洲精品午夜鲁丝片| 夜夜嗨av一区二区三区| 精品中文字幕一区二区小辣椒| 成人亚洲一区二区一| 日韩一区二区三| 亚洲成人激情社区| a级精品国产片在线观看| 欧美一区二区三区的| 亚洲视频一二区| 国产精品自拍av| 日韩限制级电影在线观看| 中文字幕一区二区在线观看| 奇米精品一区二区三区在线观看 | 高清不卡一二三区| 日韩一级二级三级| 亚洲自拍偷拍av| 91小视频在线免费看| 欧美国产在线观看| 国产成人在线看| 久久综合色之久久综合| 蜜桃在线一区二区三区| 欧美日韩国产一级二级| 亚洲成人777| 91精品欧美久久久久久动漫| 日韩精品午夜视频| 欧美精品久久久久久久多人混战| 亚洲国产成人av| 欧美日韩一区国产| 日韩成人一级大片|