还是关于RTC的 平台资源的问题~

发布于 2022-09-19 12:16:35 字数 3952 浏览 12 评论 0

static struct resource s3c_rtc_resource[] = {
        [0] = {
                .start = S3C2410_PA_RTC,                   //IO设备的物理地址        
                .end   = S3C2410_PA_RTC + 0xff,                 
                .flags = IORESOURCE_MEM,                          
        },
        [1] = {                                                                        
                .start = IRQ_RTC,
                .end   = IRQ_RTC,                                          
                .flags = IORESOURCE_IRQ,                             
        },
        [2] = {
                .start = IRQ_TICK,                                         
                .end   = IRQ_TICK,
                .flags = IORESOURCE_IRQ                             
        }
};

struct resource *platform_get_resource(struct platform_device *dev, unsigned int type,
                      unsigned int num)
{
        int i;

        for (i = 0; i < dev->num_resources; i++) {            //num_resource 的个数
                struct resource *r = &dev->resource[ i ];       //resource[ i ]应该s3c2410_rtc_resource是通过下标来对resource赋值
                if ((r->flags & (IORESOURCE_IO|IORESOURCE_MEM|
                                 IORESOURCE_IRQ|IORESOURCE_DMA))
                    == type)
                        if (num-- == 0)//控制循环
                                return r;
        }
        return NULL;
}
set_irq()传入了个type.
擦了我提的现在挺让我含羞的问题,得到的指导及结果从新编辑回本页了,所有结果都在本页了,感谢rock1972!

[ 本帖最后由 jn200002 于 2008-6-12 17:45 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

失退 2022-09-26 12:16:35

>>>上述两个是中断号,初始为-1

你咋知道的是-1?
2410平台的所有中断号都在/include/asm-arm/arch-s3c2410/irqs.h定义,你看了没有?

platform_get_irq(pdev, 0); 表示返回于第一次找到的irq,对应RQ_RTC
platform_get_irq(pdev, 1);  表示返回于第二次次找到的irq,对应IRQ_TICK

無心 2022-09-26 12:16:35

擦无用信息,所有结果在首页

[ 本帖最后由 jn200002 于 2008-6-12 17:42 编辑 ]

浪推晚风 2022-09-26 12:16:35

擦!无用信息,结果在首发.

[ 本帖最后由 jn200002 于 2008-6-12 17:39 编辑 ]

莫相离 2022-09-26 12:16:35

原帖由 jn200002 于 2008-6-12 13:12 发表
刚吃完饭回来
static int s3c2410_rtc_alarmno = NO_IRQ;
static int s3c2410_rtc_tickno  = NO_IRQ;
汗... 我用source insight3里 用的2.6.11 用鼠标找NO_IRQ的时候是找到的这个;
asm/types.h里
NO_IRQ = ...

>>>static int s3c2410_rtc_alarmno = NO_IRQ;
static int s3c2410_rtc_tickno  = NO_IRQ;

这时变量定义时候初始化的,跟s3c2410_rtc_tickno = platform_get_irq(pdev, 1);有直接关系吗?

不知道你要问什么问题。。。。。。。。。。。

ま昔日黯然 2022-09-26 12:16:35

擦无用信息,得到的提示,结果都在第1页了.

[ 本帖最后由 jn200002 于 2008-6-12 17:40 编辑 ]

梦毁影碎の 2022-09-26 12:16:35

明白了.....在get_irq()里加了个type...... 1, 0 是控制循环 取中断地址.........
倒... 把get_irq给漏了.............

多谢!

百变从容 2022-09-26 12:16:35

原帖由 jn200002 于 2008-6-12 17:36 发表
明白了.....在get_irq()里加了个type...... 1, 0 是控制循环 取中断地址.........
倒... 把get_irq给漏了.............

多谢!

看来我还是能把问题解释清楚的嘛,

故人如初 2022-09-26 12:16:35

啊哈,多谢~!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文