1
0
Fork 0

crypto: sahara - fix 64-bit dma_addr_t compilation

The sahara hardware uses DMA descriptors with 32-bit addresses, but
dma_addr_t is variable size depending on whether we want to support
any devices that use 64-bit DMA addresses in hardware.
This means that the definition of the DMA descriptor structure is wrong,
and we helpfully get a compiler warning about them too:

drivers/crypto/sahara.c:423:372: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'dma_addr_t {aka long long unsigned int}' [-Wformat=]

This changes the definition of the sahara_hw_desc and sahara_hw_link
structures to only contain fixed-length members, which is required
to make the driver work on ARM LPAE mode, and avoids most of the
gcc warnings we get.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
hifive-unleashed-5.1
Arnd Bergmann 2015-12-08 16:23:51 +01:00 committed by Herbert Xu
parent e4bc02aced
commit 75d3f811f3
1 changed files with 9 additions and 9 deletions

View File

@ -130,18 +130,18 @@
#define SAHARA_REG_IDAR 0x20
struct sahara_hw_desc {
u32 hdr;
u32 len1;
dma_addr_t p1;
u32 len2;
dma_addr_t p2;
dma_addr_t next;
u32 hdr;
u32 len1;
u32 p1;
u32 len2;
u32 p2;
u32 next;
};
struct sahara_hw_link {
u32 len;
dma_addr_t p;
dma_addr_t next;
u32 len;
u32 p;
u32 next;
};
struct sahara_ctx {