主题 : 关于LED驱动中的 readl 和writel 函数问题!请各路高手指教 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 52583
精华: 0
发帖: 83
金钱: 420 两
威望: 84 点
贡献值: 0 点
综合积分: 166 分
注册时间: 2011-07-21
最后登录: 2013-01-15
楼主  发表于: 2012-03-04 19:49

 关于LED驱动中的 readl 和writel 函数问题!请各路高手指教

写了一个LED驱动,竟然没有成功,毕竟还是菜鸟级吧,请过来的高手多多指教!
今天参考了友善板子自带的驱动mini6410_leds.c  里,俺把其中一段驱动入口函数复制出来如下:

static int __init dev_init(void)
{
    int ret;

    {
        unsigned tmp;
        tmp = readl(S3C64XX_GPKCON);
        tmp = (tmp & ~(0xffffU<<16))|(0x1111U<<16);
        writel(tmp, S3C64XX_GPKCON);
        
        tmp = readl(S3C64XX_GPKDAT);
        tmp |= (0xF << 4);
        writel(tmp, S3C64XX_GPKDAT);
    }

    ret = misc_register(&misc);

    printk (DEVICE_NAME"\tinitialized\n");

    return ret;
}

其中有两个函数tmp = readl(S3C64XX_GPKCON)和writel(tmp, S3C64XX_GPKCON);
readl() writel()函数的实现一直找不到,不知道友善工程师把它们放在哪里实现了? 为什么是readl()writel()而不是 read()和write()?
求高手能指点这两个弱弱的问题呀! 不胜感激........
级别: 侠客
UID: 52583
精华: 0
发帖: 83
金钱: 420 两
威望: 84 点
贡献值: 0 点
综合积分: 166 分
注册时间: 2011-07-21
最后登录: 2013-01-15
1楼  发表于: 2012-03-05 11:52
版主,求答案!!!
级别: 侠客
UID: 52583
精华: 0
发帖: 83
金钱: 420 两
威望: 84 点
贡献值: 0 点
综合积分: 166 分
注册时间: 2011-07-21
最后登录: 2013-01-15
2楼  发表于: 2012-03-05 14:03