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

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

?? ar531x-gpio.c

?? atheros ar531x gpio driver
?? C
字號:
#include <linux/config.h>#include <linux/module.h>#include <linux/version.h>#include <linux/types.h>#include <linux/errno.h>#include <linux/kernel.h>#include <linux/sched.h>#include <linux/miscdevice.h>#include <linux/watchdog.h>#include <linux/slab.h>#include <linux/ioport.h>#include <linux/fcntl.h>#include <asm/io.h>#include <asm/uaccess.h>#include <asm/system.h>#include <asm/delay.h>#include <linux/notifier.h>#include <linux/reboot.h>#include <linux/init.h>#include <linux/spinlock.h>#include <linux/smp_lock.h>#include <linux/wait.h>#include "gpio.h"#ifdef GPIO_DEBUG#define DEBUG_MSG(fmt, arg...)       printk(fmt, ##arg)#else#define DEBUG_MSG(fmt, arg...)#endifstatic devfs_handle_t devfs_handle;MODULE_DESCRIPTION("AR2316 GPIO driver");MODULE_LICENSE("GPL");static unsigned int gpio_ioctl (struct inode *inode, struct file *file, unsigned int gpio_pin, unsigned long gpio_action);static int gpio_open (struct inode *inode, struct file *file);static int gpio_release (struct inode *inode, struct file *file);static struct file_operations gpio_fops = {	owner:		THIS_MODULE,	ioctl:		gpio_ioctl,	open:		gpio_open,	release:	gpio_release,};static int gpio_major = 201; static void gppRegSet (MV_U32 group, MV_U32 regOffs,MV_U32 mask,MV_U32 value){	MV_U32 gppData;	gppData = MV_REG_READ(regOffs);	gppData &= ~mask;	gppData |= (value & mask);	MV_REG_WRITE(regOffs, gppData);}static int mvGppValueSet (MV_U32 group, MV_U32 mask, MV_U32 value){        MV_U32 outEnable;        MV_U32 i;        if (group >= MV_GPP_MAX_GROUP)        {                printk("mvGppValueSet: Error invalid group number \n");                return 0;        }        /* verify that the gpp pin is configured as output              */        /* Note that in the register out enabled -> bit = '0'.  */        outEnable = ~MV_REG_READ(GPP_DATA_OUT_EN_REG(group));        for (i = 0 ; i < 32 ;i++)        {                if (((mask & (1 << i)) & (outEnable & (1 << i))) != (mask & (1 << i)))                {                        printk("mvGppValueSet: Err. An attempt to set output "\                                           "value to GPP %d in input mode.\n", i);                        return 0;                }        }        gppRegSet(group, GPP_DATA_OUT_REG(group), mask, value);        return 1;}MV_U32 mvGppValueGet(MV_U32 group, MV_U32 mask){	MV_U32 gppData;	gppData = MV_REG_READ(GPP_DATA_IN_REG(group));	gppData &= mask;	return gppData;}static unsigned int gpio_ioctl(struct inode *inode, struct file *file, unsigned int pin, unsigned long gpio_action){		MV_U32 gpio_data = 0;	DEBUG_MSG("gpio ioctl receive\n");	if(gpio_action == 1) {		*(volatile int *)(0xb1000090) &=~(pin);      	 	} else if(gpio_action == 0) {	  	*(volatile int *)(0xb1000090) |=(pin);    		} else 	/* Only Get MV_GPP13(Push Button)*/		gpio_data = ( *((volatile unsigned long *)0xb1000088) & pin);        	// -> Read Data	DEBUG_MSG("GPIO Data = 0x%02x\n",gpio_data);	return gpio_data;	}static int gpio_open (struct inode *inode, struct file *file){	DEBUG_MSG( "<1>gpio.o: opened.\n");#ifdef BLW_54CW3	*(volatile int *)(0xb1000098) |= (1 << 1);  //set gpio 1 to output mode	*(volatile int *)(0xb1000098) |= (1 << 2);  //set gpio 2 to output mode	*(volatile int *)(0xb1000098) |= (1 << 3);  //set gpio 3 to output mode#endif	return 0;}static int gpio_release (struct inode *inode, struct file *file){	DEBUG_MSG( "<1>gpio.o: closed.\n");	return 0;}static int __init gpio_init(void){	int result;	DEBUG_MSG("Entry gpio_ioctl init_module !!\n");	// hook device into kernel	result = devfs_register_chrdev( gpio_major, "gpio", &gpio_fops);		if (result) {		printk( "<1>gpio_ioctl : cannot get major %d\n", gpio_major);		return result;	}	devfs_handle = devfs_register(NULL, "gpio_ioctl", DEVFS_FL_DEFAULT,				      gpio_major, 0,				      S_IFCHR | S_IRUSR | S_IWUSR,				      &gpio_fops, NULL);				      	DEBUG_MSG( "init gpio_ioctl Successful,  major = %d\n", gpio_major);		return	0;}static void __exit gpio_exit(void){	if ( devfs_unregister_chrdev( gpio_major, "gpio_ioctl") !=0 ){           printk( "<1>gpio_ioctl : unable to release major %d\n", gpio_major);	}	devfs_unregister(devfs_handle);}module_init(gpio_init);module_exit(gpio_exit);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费观看久久久4p| 亚洲欧美激情一区二区| 欧美一三区三区四区免费在线看| 蜜桃一区二区三区在线| 视频一区中文字幕国产| 艳妇臀荡乳欲伦亚洲一区| 最新国产成人在线观看| 中文字幕一区二| 最新国产の精品合集bt伙计| 在线成人午夜影院| 91精品欧美久久久久久动漫| 91精品午夜视频| 日韩一区二区在线免费观看| 日韩一级片网址| 久久婷婷国产综合精品青草| 久久婷婷国产综合国色天香| 欧美国产亚洲另类动漫| 一色桃子久久精品亚洲| 亚洲黄色免费网站| 天堂一区二区在线| 亚洲色大成网站www久久九九| 欧美成人性福生活免费看| 精品国产91乱码一区二区三区| 91亚洲午夜精品久久久久久| 色国产综合视频| 欧美日韩的一区二区| 欧美成人精精品一区二区频| 欧美国产一区视频在线观看| 一区二区三区日本| 午夜精品久久久久久久蜜桃app| 中文字幕亚洲成人| 一级做a爱片久久| 久久黄色级2电影| 国产成人精品www牛牛影视| 91视频com| 欧美肥大bbwbbw高潮| 2019国产精品| 一区二区三区在线免费观看| 热久久一区二区| 成人av网站免费| 欧美日韩成人综合在线一区二区| 欧美性受xxxx黑人xyx性爽| 蜜桃传媒麻豆第一区在线观看| 欧美一区二区视频在线观看2020 | 99re热视频精品| 精品视频一区二区三区免费| 久久夜色精品一区| 一区二区三区.www| 夜夜爽夜夜爽精品视频| 亚洲码国产岛国毛片在线| 日韩中文字幕不卡| 不卡的电视剧免费网站有什么| 国产不卡视频一区二区三区| 欧美午夜精品免费| 国产午夜一区二区三区| 亚洲福利电影网| 国产精品综合二区| 精品视频在线免费看| 在线成人午夜影院| 日韩一区中文字幕| 九九**精品视频免费播放| 91麻豆福利精品推荐| 2023国产精品自拍| 天天综合日日夜夜精品| 成人黄页在线观看| 91麻豆国产在线观看| 久久色.com| 日本成人超碰在线观看| 久久99精品久久久久婷婷| 一本一道综合狠狠老| 精品美女在线观看| 午夜精品一区二区三区三上悠亚| 免费成人在线视频观看| 在线视频观看一区| 国产精品久久久久天堂| 亚洲柠檬福利资源导航| 亚洲成人免费电影| 97久久超碰精品国产| 日本一区二区免费在线观看视频| 亚洲视频在线观看一区| 国产精品亚洲成人| 欧美一区二区三区在线视频| 亚洲一区二区在线观看视频 | 日韩高清在线不卡| 在线精品国精品国产尤物884a| 欧美挠脚心视频网站| 综合欧美一区二区三区| 国产福利91精品一区二区三区| 91免费在线播放| 国产欧美日韩久久| 夜夜嗨av一区二区三区四季av| 另类小说图片综合网| 成人性色生活片| 欧美日韩久久不卡| 亚洲一区二区在线观看视频| 色哟哟国产精品免费观看| 91丨九色丨尤物| 2022国产精品视频| 亚洲婷婷综合色高清在线| 粉嫩蜜臀av国产精品网站| 欧美精品一区二区三区一线天视频| 国产精品色呦呦| 国产.精品.日韩.另类.中文.在线.播放| 成人三级在线视频| 国产亚洲精品aa午夜观看| 国产一区二区在线影院| 91久久精品午夜一区二区| 亚洲免费av在线| 欧洲精品一区二区| 亚洲一区二区三区免费视频| 色欧美日韩亚洲| 一区二区欧美在线观看| 欧美日韩综合不卡| 美女一区二区在线观看| 成人av电影观看| 国产精品三级视频| 97成人超碰视| 亚洲制服丝袜在线| 欧美一区二区在线免费播放| 久久国产乱子精品免费女| 精品国产髙清在线看国产毛片| 亚洲日本青草视频在线怡红院| 久久成人久久爱| 久久久久久久久久久久久久久99 | 26uuu亚洲综合色欧美| 激情久久久久久久久久久久久久久久| 91免费版在线| 亚洲激情一二三区| 欧美精品xxxxbbbb| 青娱乐精品视频| 91黄视频在线| 日韩国产欧美在线观看| 色88888久久久久久影院野外| 久久青草国产手机看片福利盒子 | 亚洲国产日韩精品| 在线成人午夜影院| 亚洲一区二区高清| 日韩欧美三级在线| 成人做爰69片免费看网站| 亚洲欧美电影院| 日韩小视频在线观看专区| 国产成人精品影视| 久久久久久影视| 色婷婷久久综合| 男人的天堂亚洲一区| 在线观看一区二区视频| 免费xxxx性欧美18vr| 国产精品美女视频| 欧美日韩成人综合| 国产98色在线|日韩| 亚洲v中文字幕| 国产人久久人人人人爽| 国产一区福利在线| 精品福利二区三区| 日本高清不卡aⅴ免费网站| 麻豆91精品91久久久的内涵| 国产精品国产精品国产专区不蜜| 国产精品一品视频| 亚洲午夜一区二区| 在线免费av一区| 狠狠网亚洲精品| 亚洲午夜电影网| 国产精品久久久久久久久免费相片| 国产成人自拍网| 日韩—二三区免费观看av| 中文字幕国产一区| 91精品国产欧美一区二区成人| 天堂va蜜桃一区二区三区| 国产精品久久久久四虎| 91麻豆swag| 国产在线不卡一区| 亚洲第一电影网| 亚洲色欲色欲www在线观看| 久久综合九色综合欧美98| 欧美色图片你懂的| 成人污污视频在线观看| 免费成人在线网站| 亚洲成av人片在www色猫咪| 国产精品美女一区二区| www激情久久| 91麻豆精品国产自产在线观看一区| 亚洲无人区一区| 日韩一区二区三区在线| 91污片在线观看| 国产成人在线影院| 精品综合免费视频观看| 亚洲成人中文在线| 亚洲激情成人在线| 国产精品久久久久久福利一牛影视 | 视频一区二区中文字幕| 亚洲男人天堂av网| 国产精品久久久久久妇女6080| 色菇凉天天综合网| 99精品视频在线观看免费| 粉嫩av一区二区三区粉嫩| 国产中文字幕一区| 国产在线精品一区二区三区不卡| 亚洲国产激情av| 久久久91精品国产一区二区三区| 99久精品国产|