mtd: denali: fix warning when compiled for 64bit system

The 64-bit compiler (ex. aarch64) emits "warning: cast from pointer
to integer of different size".

Make it work with 64bit DMA address while I am here.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Masahiro Yamada 2016-02-29 20:57:29 +09:00
parent 0764f24ae6
commit 73b5b27b7a

View file

@ -741,7 +741,7 @@ static void denali_setup_dma(struct denali_nand_info *denali, int op)
{ {
uint32_t mode; uint32_t mode;
const int page_count = 1; const int page_count = 1;
uint32_t addr = (uint32_t)denali->buf.dma_buf; uint64_t addr = (unsigned long)denali->buf.dma_buf;
flush_dcache_range(addr, addr + sizeof(denali->buf.dma_buf)); flush_dcache_range(addr, addr + sizeof(denali->buf.dma_buf));
@ -759,7 +759,7 @@ static void denali_setup_dma(struct denali_nand_info *denali, int op)
index_addr(denali, mode, addr); index_addr(denali, mode, addr);
/* 3. set memory high address bits 64:32 */ /* 3. set memory high address bits 64:32 */
index_addr(denali, mode, 0); index_addr(denali, mode, addr >> 32);
#else #else
mode = MODE_10 | BANK(denali->flash_bank); mode = MODE_10 | BANK(denali->flash_bank);
@ -769,7 +769,7 @@ static void denali_setup_dma(struct denali_nand_info *denali, int op)
index_addr(denali, mode | denali->page, 0x2000 | op | page_count); index_addr(denali, mode | denali->page, 0x2000 | op | page_count);
/* 2. set memory high address bits 23:8 */ /* 2. set memory high address bits 23:8 */
index_addr(denali, mode | ((addr >> 16) << 8), 0x2200); index_addr(denali, mode | (((addr >> 16) & 0xffff) << 8), 0x2200);
/* 3. set memory low address bits 23:8 */ /* 3. set memory low address bits 23:8 */
index_addr(denali, mode | ((addr & 0xffff) << 8), 0x2300); index_addr(denali, mode | ((addr & 0xffff) << 8), 0x2300);