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

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

?? pm.c

?? LINUX 2.6.17.4的源碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
			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;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91丝袜在线播放九色| 欧美日本高清视频在线观看| 捆绑紧缚一区二区三区视频| 免费成人在线观看视频| 日韩精品一二三区| 久久国产精品99久久久久久老狼| 亚洲成av人片www| 日韩影院在线观看| 国产麻豆精品久久一二三| 精品在线播放免费| 日韩欧美卡一卡二| 国产喂奶挤奶一区二区三区| 国产欧美一区二区三区网站| 国产精品亲子伦对白| 亚洲天堂a在线| 亚洲成人一区在线| 精品在线播放免费| 99久久99精品久久久久久| 色呦呦一区二区三区| 欧美精品九九99久久| 久久综合网色—综合色88| 亚洲欧洲精品一区二区精品久久久| 亚洲精品ww久久久久久p站| 亚洲成人激情社区| 国产一区二区三区不卡在线观看| av一区二区三区| 51久久夜色精品国产麻豆| 欧美sm极限捆绑bd| 天天综合色天天| 97精品超碰一区二区三区| 精品一区二区免费看| 国产乱子伦视频一区二区三区| 国产91精品在线观看| 欧美日韩免费一区二区三区视频| 精品久久久久久最新网址| 亚洲三级久久久| 狠狠色综合色综合网络| 在线一区二区视频| 国产日韩精品一区| 婷婷综合另类小说色区| 成人高清伦理免费影院在线观看| 91精品婷婷国产综合久久性色 | 欧美精品一区二区高清在线观看| 国产精品久久久久久久岛一牛影视| 亚洲午夜免费视频| 成人国产亚洲欧美成人综合网| 91麻豆精品国产91| 91亚洲国产成人精品一区二区三| 欧美一区二区三区婷婷月色| 最新国产成人在线观看| 狠狠色综合色综合网络| 91精品国产91久久综合桃花| 亚洲免费电影在线| www.日本不卡| 国产欧美日韩精品一区| 国产一区二区伦理片| 555夜色666亚洲国产免| 亚洲国产另类av| 91蜜桃在线观看| 国产精品白丝在线| eeuss鲁一区二区三区| 国产亚洲精品超碰| 韩国女主播一区二区三区| 日韩一区二区精品在线观看| 亚洲国产精品一区二区久久 | 91小视频免费看| 日韩一区二区三区免费看| 亚洲大片免费看| 欧美视频在线播放| 亚洲国产成人91porn| 欧洲精品中文字幕| 亚洲电影一区二区| 欧美视频在线观看一区二区| 污片在线观看一区二区| 欧美在线一区二区三区| 亚洲国产cao| 精品国产乱码久久久久久久久| 欧美日韩国产在线观看| 欧美一区二区免费观在线| 国产农村妇女精品| 激情图片小说一区| 日韩免费观看高清完整版| 老司机精品视频一区二区三区| 精品久久久久久综合日本欧美| 久久精品国产精品亚洲红杏| 精品国产乱码久久久久久久| 国产一区二区91| 国产精品国产三级国产aⅴ入口| 色综合久久久网| 日韩专区中文字幕一区二区| 欧美一区二区三区播放老司机| 精品一区二区三区欧美| 国产精品视频看| 欧美日韩你懂的| 久久国产精品99久久人人澡| 欧美国产精品一区二区| 欧美在线观看视频一区二区| 亚洲美女视频在线| 国产成人综合在线| 一区二区三区在线视频免费 | 97精品视频在线观看自产线路二| 一区二区三区资源| 日韩亚洲欧美中文三级| 国产成人免费在线视频| 亚洲人成伊人成综合网小说| 91.com视频| 成人不卡免费av| 日韩va欧美va亚洲va久久| 欧美国产欧美综合| 91精品国产丝袜白色高跟鞋| 国产999精品久久| 午夜天堂影视香蕉久久| 一区二区三区日韩欧美| 欧美一卡二卡三卡| 99久久精品国产一区| 九色综合狠狠综合久久| 一区二区在线观看免费视频播放| 久久嫩草精品久久久久| 欧美系列亚洲系列| 不卡视频免费播放| 久久99国产精品免费网站| 亚洲国产日日夜夜| 国产精品灌醉下药二区| 2019国产精品| 一区二区免费看| 日韩欧美不卡在线观看视频| 一二三区精品视频| 亚洲国产成人自拍| 日韩三级电影网址| 91精品婷婷国产综合久久竹菊| 91搞黄在线观看| proumb性欧美在线观看| 国产伦精一区二区三区| 免费在线观看视频一区| 丝袜美腿亚洲综合| 亚洲国产色一区| 亚洲国产精品久久久久秋霞影院 | 亚洲精品乱码久久久久| 国产精品午夜在线观看| 国产午夜久久久久| 精品99一区二区三区| 欧美日韩亚洲丝袜制服| 欧美亚洲日本国产| 在线观看网站黄不卡| 色国产综合视频| 色婷婷久久久综合中文字幕| 99视频精品在线| 91一区二区三区在线观看| 成人动漫在线一区| 成人福利视频在线看| av高清不卡在线| 91美女在线视频| 欧美亚洲综合一区| 欧美一二三区在线观看| 欧美日韩一区二区三区在线看| 欧美性一级生活| 欧美日韩视频第一区| 欧美夫妻性生活| 久久青草国产手机看片福利盒子| 精品国产91久久久久久久妲己| 久久日韩粉嫩一区二区三区| 亚洲精品在线电影| 国产精品欧美一区喷水| 亚洲日穴在线视频| 亚洲国产日韩a在线播放性色| 日本不卡在线视频| 国产成+人+日韩+欧美+亚洲| 成人在线综合网站| 色婷婷亚洲精品| 欧美一区二区视频在线观看2022 | 国产高清成人在线| 成人精品国产福利| 在线免费av一区| 日韩一区二区精品在线观看| 国产日产欧美一区| 亚洲欧美综合在线精品| 亚洲国产美国国产综合一区二区| 日日摸夜夜添夜夜添精品视频 | 在线中文字幕不卡| 欧美一区二区三区四区高清| 国产欧美日韩综合精品一区二区| 综合久久国产九一剧情麻豆| 亚洲第一成年网| 国产在线精品一区二区| 成人app在线观看| 欧美日韩在线直播| 国产色产综合产在线视频| 亚洲午夜国产一区99re久久| 久久99精品网久久| 在线精品视频一区二区三四| 欧美成人精品高清在线播放| 亚洲女女做受ⅹxx高潮| 蜜臀av一区二区| 91久久免费观看| 久久久无码精品亚洲日韩按摩| 亚洲国产毛片aaaaa无费看| 成人a区在线观看| 精品美女在线观看| 亚洲成人tv网| 色婷婷综合久久久久中文一区二区|