⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 time.c

📁 linux-2.6.15.6
💻 C
字号:
/*  *  arch/arm/mach-lh7a40x/time.c * *  Copyright (C) 2004 Logic Product Development * *  This program is free software; you can redistribute it and/or *  modify it under the terms of the GNU General Public License *  version 2 as published by the Free Software Foundation. * */#include <linux/config.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/interrupt.h>#include <linux/time.h>#include <asm/hardware.h>#include <asm/io.h>#include <asm/irq.h>#include <asm/leds.h>#include <asm/mach/time.h>#include "common.h"#if HZ < 100# define TIMER_CONTROL	TIMER_CONTROL2# define TIMER_LOAD	TIMER_LOAD2# define TIMER_CONSTANT	(508469/HZ)# define TIMER_MODE	(TIMER_C_ENABLE | TIMER_C_PERIODIC | TIMER_C_508KHZ)# define TIMER_EOI	TIMER_EOI2# define TIMER_IRQ	IRQ_T2UI#else# define TIMER_CONTROL	TIMER_CONTROL3# define TIMER_LOAD	TIMER_LOAD3# define TIMER_CONSTANT	(3686400/HZ)# define TIMER_MODE	(TIMER_C_ENABLE | TIMER_C_PERIODIC)# define TIMER_EOI	TIMER_EOI3# define TIMER_IRQ	IRQ_T3UI#endifstatic irqreturn_tlh7a40x_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs){	write_seqlock(&xtime_lock);	TIMER_EOI = 0;	timer_tick(regs);	write_sequnlock(&xtime_lock);	return IRQ_HANDLED;}static struct irqaction lh7a40x_timer_irq = {	.name		= "LHA740x Timer Tick",	.flags		= SA_INTERRUPT | SA_TIMER,	.handler	= lh7a40x_timer_interrupt,};static void __init lh7a40x_timer_init(void){				/* Stop/disable all timers */	TIMER_CONTROL1 = 0;	TIMER_CONTROL2 = 0;	TIMER_CONTROL3 = 0;	setup_irq (TIMER_IRQ, &lh7a40x_timer_irq);	TIMER_LOAD = TIMER_CONSTANT;	TIMER_CONTROL = TIMER_MODE;}struct sys_timer lh7a40x_timer = {	.init		= &lh7a40x_timer_init,};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -