diff options
author | Anton Vorontsov <avorontsov@ru.mvista.com> | 2008-03-11 20:24:13 +0300 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2008-04-17 01:01:39 -0500 |
commit | 0b51b02edff2417deff98d8bbf294fa56b765bc6 (patch) | |
tree | 709358fd88085a368795b8d7be068073b5b16180 /include/asm-powerpc | |
parent | acaa7aa30a8cdf7276945629f56d6daf30beb157 (diff) | |
download | op-kernel-dev-0b51b02edff2417deff98d8bbf294fa56b765bc6.zip op-kernel-dev-0b51b02edff2417deff98d8bbf294fa56b765bc6.tar.gz |
[POWERPC] QE: implement qe_muram_offset
qe_muram_offset is the reverse of the qe_muram_addr, will be
used for the Freescale QE USB Host Controller driver.
This patch also moves qe_muram_addr into the qe.h header, plus
adds __iomem hints to use with sparse.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'include/asm-powerpc')
-rw-r--r-- | include/asm-powerpc/immap_qe.h | 2 | ||||
-rw-r--r-- | include/asm-powerpc/qe.h | 11 |
2 files changed, 11 insertions, 2 deletions
diff --git a/include/asm-powerpc/immap_qe.h b/include/asm-powerpc/immap_qe.h index 82a4526..924aefb 100644 --- a/include/asm-powerpc/immap_qe.h +++ b/include/asm-powerpc/immap_qe.h @@ -468,7 +468,7 @@ struct qe_immap { u8 res18[0xC0000]; /* 0x140000 - 0x200000 */ } __attribute__ ((packed)); -extern struct qe_immap *qe_immr; +extern struct qe_immap __iomem *qe_immr; extern phys_addr_t get_qe_base(void); static inline unsigned long immrbar_virt_to_phys(void *address) diff --git a/include/asm-powerpc/qe.h b/include/asm-powerpc/qe.h index 430dc77..398534c 100644 --- a/include/asm-powerpc/qe.h +++ b/include/asm-powerpc/qe.h @@ -92,7 +92,16 @@ unsigned long qe_muram_alloc(int size, int align); int qe_muram_free(unsigned long offset); unsigned long qe_muram_alloc_fixed(unsigned long offset, int size); void qe_muram_dump(void); -void *qe_muram_addr(unsigned long offset); + +static inline void __iomem *qe_muram_addr(unsigned long offset) +{ + return (void __iomem *)&qe_immr->muram[offset]; +} + +static inline unsigned long qe_muram_offset(void __iomem *addr) +{ + return addr - (void __iomem *)qe_immr->muram; +} /* Structure that defines QE firmware binary files. * |