写了一个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()?
求高手能指点这两个弱弱的问题呀! 不胜感激........