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

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

?? pm.c

?? linux2.6.16版本
?? C
?? 第 1 頁 / 共 2 頁
字號:
			left = CHECK_CHUNKSIZE;		ptr = phys_to_virt(addr);		if (in_region(ptr, left, crcs, crc_size)) {			DBG("skipping %08lx, has crc block in\n", addr);			goto skip_check;		}		if (in_region(ptr, left, save_at, 32*4 )) {			DBG("skipping %08lx, has save block in\n", addr);			goto skip_check;		}		/* calculate and check the checksum */		calc = crc32_le(~0, ptr, left);		if (calc != *val) {			printk(KERN_ERR PFX "Restore CRC error at "			       "%08lx (%08x vs %08x)\n", addr, calc, *val);			DBG("Restore CRC error at %08lx (%08x vs %08x)\n",			    addr, calc, *val);		}	skip_check:		val++;	}	return val;}/* s3c2410_pm_check_restore * * check the CRCs after the restore event and free the memory used * to hold them*/static void s3c2410_pm_check_restore(void){	if (crcs != NULL) {		s3c2410_pm_run_sysram(s3c2410_pm_runcheck, crcs);		kfree(crcs);		crcs = NULL;	}}#else#define s3c2410_pm_check_prepare() do { } while(0)#define s3c2410_pm_check_restore() do { } while(0)#define s3c2410_pm_check_store()   do { } while(0)#endif/* helper functions to save and restore register state */void s3c2410_pm_do_save(struct sleep_save *ptr, int count){	for (; count > 0; count--, ptr++) {		ptr->val = __raw_readl(ptr->reg);		DBG("saved %p value %08lx\n", ptr->reg, ptr->val);	}}/* s3c2410_pm_do_restore * * restore the system from the given list of saved registers * * Note, we do not use DBG() in here, as the system may not have * restore the UARTs state yet*/void s3c2410_pm_do_restore(struct sleep_save *ptr, int count){	for (; count > 0; count--, ptr++) {		printk(KERN_DEBUG "restore %p (restore %08lx, was %08x)\n",		       ptr->reg, ptr->val, __raw_readl(ptr->reg));		__raw_writel(ptr->val, ptr->reg);	}}/* s3c2410_pm_do_restore_core * * similar to s3c2410_pm_do_restore_core * * WARNING: Do not put any debug in here that may effect memory or use * peripherals, as things may be changing!*/static void s3c2410_pm_do_restore_core(struct sleep_save *ptr, int count){	for (; count > 0; count--, ptr++) {		__raw_writel(ptr->val, ptr->reg);	}}/* s3c2410_pm_show_resume_irqs * * print any IRQs asserted at resume time (ie, we woke from)*/static void s3c2410_pm_show_resume_irqs(int start, unsigned long which,					unsigned long mask){	int i;	which &= ~mask;	for (i = 0; i <= 31; i++) {		if ((which) & (1L<<i)) {			DBG("IRQ %d asserted at resume\n", start+i);		}	}}/* s3c2410_pm_check_resume_pin * * check to see if the pin is configured correctly for sleep mode, and * make any necessary adjustments if it is not*/static void s3c2410_pm_check_resume_pin(unsigned int pin, unsigned int irqoffs){	unsigned long irqstate;	unsigned long pinstate;	int irq = s3c2410_gpio_getirq(pin);	if (irqoffs < 4)		irqstate = s3c_irqwake_intmask & (1L<<irqoffs);	else		irqstate = s3c_irqwake_eintmask & (1L<<irqoffs);	pinstate = s3c2410_gpio_getcfg(pin);	pinstate >>= S3C2410_GPIO_OFFSET(pin)*2;	if (!irqstate) {		if (pinstate == 0x02)			DBG("Leaving IRQ %d (pin %d) enabled\n", irq, pin);	} else {		if (pinstate == 0x02) {			DBG("Disabling IRQ %d (pin %d)\n", irq, pin);			s3c2410_gpio_cfgpin(pin, 0x00);		}	}}/* s3c2410_pm_configure_extint * * configure all external interrupt pins*/static void s3c2410_pm_configure_extint(void){	int pin;	/* for each of the external interrupts (EINT0..EINT15) we	 * need to check wether it is an external interrupt source,	 * and then configure it as an input if it is not	*/	for (pin = S3C2410_GPF0; pin <= S3C2410_GPF7; pin++) {		s3c2410_pm_check_resume_pin(pin, pin - S3C2410_GPF0);	}	for (pin = S3C2410_GPG0; pin <= S3C2410_GPG7; pin++) {		s3c2410_pm_check_resume_pin(pin, (pin - S3C2410_GPG0)+8);	}}#define any_allowed(mask, allow) (((mask) & (allow)) != (allow))/* s3c2410_pm_enter * * central control for sleep/resume process*/static int s3c2410_pm_enter(suspend_state_t state){	unsigned long regs_save[16];	unsigned long tmp;	/* ensure the debug is initialised (if enabled) */	s3c2410_pm_debug_init();	DBG("s3c2410_pm_enter(%d)\n", state);	if (state != PM_SUSPEND_MEM) {		printk(KERN_ERR PFX "error: only PM_SUSPEND_MEM supported\n");		return -EINVAL;	}	/* check if we have anything to wake-up with... bad things seem	 * to happen if you suspend with no wakeup (system will often	 * require a full power-cycle)	*/	if (!any_allowed(s3c_irqwake_intmask, s3c_irqwake_intallow) &&	    !any_allowed(s3c_irqwake_eintmask, s3c_irqwake_eintallow)) {		printk(KERN_ERR PFX "No sources enabled for wake-up!\n");		printk(KERN_ERR PFX "Aborting sleep\n");		return -EINVAL;	}	/* prepare check area if configured */	s3c2410_pm_check_prepare();	/* store the physical address of the register recovery block */	s3c2410_sleep_save_phys = virt_to_phys(regs_save);	DBG("s3c2410_sleep_save_phys=0x%08lx\n", s3c2410_sleep_save_phys);	/* ensure at least GESTATUS3 has the resume address */	__raw_writel(virt_to_phys(s3c2410_cpu_resume), S3C2410_GSTATUS3);	DBG("GSTATUS3 0x%08x\n", __raw_readl(S3C2410_GSTATUS3));	DBG("GSTATUS4 0x%08x\n", __raw_readl(S3C2410_GSTATUS4));	/* save all necessary core registers not covered by the drivers */	s3c2410_pm_do_save(gpio_save, ARRAY_SIZE(gpio_save));	s3c2410_pm_do_save(irq_save, ARRAY_SIZE(irq_save));	s3c2410_pm_do_save(core_save, ARRAY_SIZE(core_save));	s3c2410_pm_do_save(uart_save, ARRAY_SIZE(uart_save));	/* set the irq configuration for wake */	s3c2410_pm_configure_extint();	DBG("sleep: irq wakeup masks: %08lx,%08lx\n",	    s3c_irqwake_intmask, s3c_irqwake_eintmask);	__raw_writel(s3c_irqwake_intmask, S3C2410_INTMSK);	__raw_writel(s3c_irqwake_eintmask, S3C2410_EINTMASK);	/* ack any outstanding external interrupts before we go to sleep */	__raw_writel(__raw_readl(S3C2410_EINTPEND), S3C2410_EINTPEND);	/* flush cache back to ram */	arm920_flush_kern_cache_all();	s3c2410_pm_check_store();	/* send the cpu to sleep... */	__raw_writel(0x00, S3C2410_CLKCON);  /* turn off clocks over sleep */	s3c2410_cpu_suspend(regs_save);	/* restore the cpu state */	cpu_init();	/* unset the return-from-sleep flag, to ensure reset */	tmp = __raw_readl(S3C2410_GSTATUS2);	tmp &= S3C2410_GSTATUS2_OFFRESET;	__raw_writel(tmp, S3C2410_GSTATUS2);	/* restore the system state */	s3c2410_pm_do_restore_core(core_save, ARRAY_SIZE(core_save));	s3c2410_pm_do_restore(gpio_save, ARRAY_SIZE(gpio_save));	s3c2410_pm_do_restore(irq_save, ARRAY_SIZE(irq_save));	s3c2410_pm_do_restore(uart_save, ARRAY_SIZE(uart_save));	s3c2410_pm_debug_init();	/* check what irq (if any) restored the system */	DBG("post sleep: IRQs 0x%08x, 0x%08x\n",	    __raw_readl(S3C2410_SRCPND),	    __raw_readl(S3C2410_EINTPEND));	s3c2410_pm_show_resume_irqs(IRQ_EINT0, __raw_readl(S3C2410_SRCPND),				    s3c_irqwake_intmask);	s3c2410_pm_show_resume_irqs(IRQ_EINT4-4, __raw_readl(S3C2410_EINTPEND),				    s3c_irqwake_eintmask);	DBG("post sleep, preparing to return\n");	s3c2410_pm_check_restore();	/* ok, let's return from sleep */	DBG("S3C2410 PM Resume (post-restore)\n");	return 0;}/* * Called after processes are frozen, but before we shut down devices. */static int s3c2410_pm_prepare(suspend_state_t state){	return 0;}/* * Called after devices are re-setup, but before processes are thawed. */static int s3c2410_pm_finish(suspend_state_t state){	return 0;}/* * Set to PM_DISK_FIRMWARE so we can quickly veto suspend-to-disk. */static struct pm_ops s3c2410_pm_ops = {	.pm_disk_mode	= PM_DISK_FIRMWARE,	.prepare	= s3c2410_pm_prepare,	.enter		= s3c2410_pm_enter,	.finish		= s3c2410_pm_finish,};/* s3c2410_pm_init * * Attach the power management functions. This should be called * from the board specific initialisation if the board supports * it.*/int __init s3c2410_pm_init(void){	printk("S3C2410 Power Management, (c) 2004 Simtec Electronics\n");	pm_set_ops(&s3c2410_pm_ops);	return 0;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区欧美视频| 色婷婷av一区二区三区gif| 精品剧情在线观看| 视频一区欧美精品| 夫妻av一区二区| 欧美日韩一区成人| 国产精品久久久久久久久久免费看| **网站欧美大片在线观看| 亚洲午夜日本在线观看| 国产99久久久国产精品潘金网站| 欧美在线一二三四区| 国产精品视频第一区| 99久久综合色| 18成人在线视频| 国产 欧美在线| 亚洲少妇中出一区| 欧美中文字幕一区二区三区亚洲 | 成人黄色综合网站| 久久精品无码一区二区三区| 亚洲图片一区二区| 7878成人国产在线观看| 日韩福利电影在线观看| 日韩精品最新网址| 成人精品电影在线观看| 一级做a爱片久久| 精品视频在线免费| 亚洲天堂成人网| 欧美日韩二区三区| 国产亚洲短视频| 成人午夜在线播放| 久久99久久99| 欧美aaaaaa午夜精品| 一区二区三区四区乱视频| 欧美精品日韩精品| 成人免费视频一区| 亚洲高清免费观看高清完整版在线观看 | 91精品国产免费| 成人妖精视频yjsp地址| 一区二区三区在线免费视频| 欧美二区三区的天堂| 国产成人在线视频免费播放| 亚洲激情在线激情| 国产亚洲一二三区| 欧美日韩综合色| 国内精品视频666| 午夜视频在线观看一区| 欧美国产成人精品| 日韩精品一区二区三区老鸭窝| 不卡的av网站| 国产精品99久久久久久久vr| 亚洲国产成人tv| 国产精品久久久久四虎| 精品区一区二区| 色狠狠一区二区| 成人做爰69片免费看网站| 日欧美一区二区| 亚洲天堂中文字幕| 精品福利一区二区三区免费视频| 色94色欧美sute亚洲线路一ni| 国产成人精品午夜视频免费| 极品少妇一区二区| 国产乱人伦偷精品视频不卡| 国产一区在线不卡| 色成人在线视频| 樱桃国产成人精品视频| 久久久高清一区二区三区| 欧美放荡的少妇| 欧美日产国产精品| 在线免费观看日韩欧美| 99久久国产综合色|国产精品| 成人自拍视频在线观看| 国产精品亚洲一区二区三区在线| 蜜臀av一区二区在线观看| 另类小说视频一区二区| 日本欧美在线看| 国内精品伊人久久久久影院对白| 麻豆精品久久久| 成人黄色电影在线| 日本电影欧美片| 欧美精品tushy高清| 精品国产一区二区三区四区四| 日韩免费观看高清完整版在线观看| 欧美精品自拍偷拍动漫精品| 欧美一区二区三区视频在线| 精品国产免费一区二区三区香蕉| 2023国产精品| 一区二区三区四区五区视频在线观看| 午夜精品一区在线观看| 欧美色精品天天在线观看视频| 日韩欧美精品在线视频| 中文字幕电影一区| 国产精品一区三区| 狠狠v欧美v日韩v亚洲ⅴ| 本田岬高潮一区二区三区| 欧美在线免费观看亚洲| 久久青草国产手机看片福利盒子| 国产精品卡一卡二| 日韩在线一二三区| 91免费版在线| 久久久99久久| 蜜桃av噜噜一区二区三区小说| 国产91富婆露脸刺激对白| 欧美美女直播网站| 中文在线免费一区三区高中清不卡| 成人动漫一区二区三区| 欧美亚洲一区三区| 久久久久久久综合狠狠综合| 亚洲一区二区三区视频在线| 国产白丝精品91爽爽久久| 欧美成人午夜电影| 偷拍一区二区三区| 日本高清免费不卡视频| 国产精品国产精品国产专区不蜜 | 视频在线观看国产精品| 91免费小视频| 亚洲日本欧美天堂| caoporn国产精品| 亚洲国产精品激情在线观看| 久久精品国产在热久久| 欧美日韩国产一级| 亚洲一级二级三级| 欧美亚洲综合久久| 91一区二区在线| 国产精品色在线| 丁香桃色午夜亚洲一区二区三区| 精品成人佐山爱一区二区| 日日噜噜夜夜狠狠视频欧美人| 欧美伊人精品成人久久综合97| 中文字幕日韩欧美一区二区三区| 成人亚洲一区二区一| 国产精品久久午夜| 94-欧美-setu| 亚洲小说春色综合另类电影| 欧美性受xxxx黑人xyx性爽| 亚洲国产精品视频| 欧美男人的天堂一二区| 免费观看日韩电影| 久久精品视频一区| 26uuu色噜噜精品一区| eeuss影院一区二区三区 | 欧美成人午夜电影| 国产成人精品在线看| 一区二区三区不卡在线观看 | 国产精品久久一卡二卡| 色综合久久综合网欧美综合网| 亚洲综合一区二区三区| 日韩欧美国产wwwww| 成人国产精品免费网站| 洋洋av久久久久久久一区| 日韩美一区二区三区| 成人动漫一区二区在线| 日韩电影一区二区三区四区| 精品不卡在线视频| 在线免费观看视频一区| 国产精品自拍一区| 夜夜嗨av一区二区三区| 欧美mv和日韩mv的网站| 色综合久久中文综合久久牛| 美女脱光内衣内裤视频久久影院| 国产精品进线69影院| 久久综合色8888| 欧美女孩性生活视频| 色婷婷亚洲精品| 国产中文一区二区三区| 亚洲成人免费在线| 欧美大片在线观看一区| 国产a级毛片一区| 亚洲精品你懂的| 26uuu欧美| 精品视频一区二区三区免费| 激情五月激情综合网| 亚洲高清免费视频| 亚洲色图都市小说| 成人欧美一区二区三区黑人麻豆 | 91网站视频在线观看| 国产乱码精品一区二区三区av| 日本不卡视频在线观看| 日韩激情中文字幕| 亚洲愉拍自拍另类高清精品| 亚洲色图制服诱惑 | 亚洲欧洲日本在线| 欧美国产综合色视频| 久久先锋资源网| 久久综合丝袜日本网| 精品久久免费看| 6080国产精品一区二区| 欧美性做爰猛烈叫床潮| 欧美在线三级电影| 91精品在线麻豆| 精品噜噜噜噜久久久久久久久试看| 91麻豆精品国产91久久久久久久久| 欧美日韩成人综合天天影院| 欧美日本免费一区二区三区| 91精品婷婷国产综合久久 | 亚洲成人三级小说| 日韩av在线发布| 国模无码大尺度一区二区三区| 国产制服丝袜一区| 99久久精品国产毛片| 欧美精品久久99|