主题 : 关于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: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
2楼  发表于: 2012-03-05 13:49
那些都是宏定义,自己搜一下了
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 侠客
UID: 52583
精华: 0
发帖: 83
金钱: 420 两
威望: 84 点
贡献值: 0 点
综合积分: 166 分
注册时间: 2011-07-21
最后登录: 2013-01-15
3楼  发表于: 2012-03-05 14:03
级别: 侠客
UID: 68228
精华: 0
发帖: 105
金钱: 530 两
威望: 106 点
贡献值: 0 点
综合积分: 210 分
注册时间: 2012-04-20
最后登录: 2014-04-17
4楼  发表于: 2012-05-10 09:07
系统调用