static void dump_registers(struct device *dev) { struct jz_pcm *jz_pcm = dev_get_drvdata(dev); pr_info("PCMCTL %p : 0x%08x\n", (jz_pcm->vaddr_base+PCMCTL),pcm_read_reg(dev, PCMCTL)); pr_info("PCMCFG %p : 0x%08x\n", (jz_pcm->vaddr_base+PCMCFG),pcm_read_reg(dev, PCMCFG)); pr_info("PCMINTC %p : 0x%08x\n", (jz_pcm->vaddr_base+PCMINTC),pcm_read_reg(dev,PCMINTC)); pr_info("PCMINTS %p : 0x%08x\n",(jz_pcm->vaddr_base+PCMINTS),pcm_read_reg(dev, PCMINTS)); pr_info("PCMDIV %p : 0x%08x\n",(jz_pcm->vaddr_base+PCMDIV),pcm_read_reg(dev, PCMDIV)); return; }
/* * dump * */ static void dump_pcm_reg(void) { int i = 0; unsigned long pcm_regs[] = { PCMCTL0, PCMCFG0, PCMDP0, PCMINTC0, PCMINTS0, PCMDIV0 }; for (i=0; i<ARRAY_SIZE(pcm_regs); i++) { printk("pcm reg %4x, = %4x \n", (unsigned int)pcm_regs[i], pcm_read_reg(pcm_regs[i])); } }