linux对于端口IO使用遵循分配,映射与使用
struct resource *request_mem_region(unsigned long start,unsigned long len,char *name);
申请失败返回NULL,否则非零。
void release_mem_region(unsigned long start,unsigned long len);
释放。
void *ioremap(unsigned long phys_addr,unsigned long size);
void iounmap(void *addr);
映射与反操作。
unsigned int ioread8(void *addr);
unsigned int ioread16(void *addr);
unsigned int ioread32(void *addr);
void iowrite8(u8 value,void *addr);
void iowrite16(u16 value,void *addr);
void iowrite32(u32 value,void *addr);