diff options
author | Søren Sandmann Pedersen <ssp@redhat.com> | 2010-02-06 17:34:53 -0500 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@redhat.com> | 2010-02-06 17:34:53 -0500 |
commit | f68d83c3d9e0aecb844b4903d3d0d6c32bdcf5cd (patch) | |
tree | 0aaafba696ba7b4cc92e69e69c8cc849e129b2fc | |
parent | fb0ad81f8c84108ae7b20aaea2642fa07228df65 (diff) |
Eliminate some warnings about casting between u64 and pointers.
-rw-r--r-- | src/lookup3.c | 6 | ||||
-rw-r--r-- | src/qxl.h | 12 | ||||
-rw-r--r-- | src/qxl_cursor.c | 2 | ||||
-rw-r--r-- | src/qxl_driver.c | 12 | ||||
-rw-r--r-- | src/qxl_image.c | 4 |
5 files changed, 24 insertions, 12 deletions
diff --git a/src/lookup3.c b/src/lookup3.c index f23461a..b37ca51 100644 --- a/src/lookup3.c +++ b/src/lookup3.c @@ -169,9 +169,9 @@ and these came close: -------------------------------------------------------------------- */ uint32_t hashword( -const uint32_t *k, /* the key, an array of uint32_t values */ -size_t length, /* the length of the key, in uint32_ts */ -uint32_t initval) /* the previous hash, or an arbitrary value */ + const uint32_t *k, /* the key, an array of uint32_t values */ + size_t length, /* the length of the key, in uint32_ts */ + uint32_t initval) /* the previous hash, or an arbitrary value */ { uint32_t a,b,c; @@ -537,6 +537,18 @@ virtual_address (qxl_screen_t *qxl, void *physical) return (void *) ((unsigned long)physical + ((unsigned long)qxl->ram - (unsigned long)qxl->ram_physical)); } +static inline void * +u64_to_pointer (uint64_t u) +{ + return (void *)(unsigned long)u; +} + +static inline uint64_t +pointer_to_u64 (void *p) +{ + return (uint64_t)(unsigned long)p; +} + struct qxl_ring; /* diff --git a/src/qxl_cursor.c b/src/qxl_cursor.c index a1fadc9..54e8948 100644 --- a/src/qxl_cursor.c +++ b/src/qxl_cursor.c @@ -45,7 +45,7 @@ qxl_alloc_cursor_cmd(qxl_screen_t *qxl) struct qxl_cursor_cmd *cmd = qxl_allocnf (qxl, sizeof(struct qxl_cursor_cmd)); - cmd->release_info.id = (uint64_t)cmd | 1; + cmd->release_info.id = pointer_to_u64 (cmd) | 1; return cmd; } diff --git a/src/qxl_driver.c b/src/qxl_driver.c index 7631f69..8a1cb8d 100644 --- a/src/qxl_driver.c +++ b/src/qxl_driver.c @@ -60,7 +60,7 @@ garbage_collect (qxl_screen_t *qxl) */ #define POINTER_MASK ((1 << 2) - 1) - union qxl_release_info *info = (void *)(id & ~POINTER_MASK); + union qxl_release_info *info = u64_to_pointer (id & ~POINTER_MASK); struct qxl_cursor_cmd *cmd = (struct qxl_cursor_cmd *)info; struct qxl_drawable *drawable = (struct qxl_drawable *)info; int is_cursor = FALSE; @@ -71,14 +71,14 @@ garbage_collect (qxl_screen_t *qxl) if (is_cursor && cmd->type == QXL_CURSOR_SET) { struct qxl_cursor *cursor = (void *)virtual_address ( - qxl, (void *)cmd->u.set.shape); + qxl, u64_to_pointer (cmd->u.set.shape)); qxl_free (qxl->mem, cursor); } else if (!is_cursor && drawable->type == QXL_DRAW_COPY) { struct qxl_image *image = virtual_address ( - qxl, (void *)drawable->u.copy.src_bitmap); + qxl, u64_to_pointer (drawable->u.copy.src_bitmap)); qxl_image_destroy (qxl, image); } @@ -209,7 +209,7 @@ qxl_map_memory(qxl_screen_t *qxl, int scrnIndex) qxl->pci->regions[0].size, PCI_DEV_MAP_FLAG_WRITABLE | PCI_DEV_MAP_FLAG_WRITE_COMBINE, &qxl->ram); - qxl->ram_physical = (void *)qxl->pci->regions[0].base_addr; + qxl->ram_physical = u64_to_pointer (qxl->pci->regions[0].base_addr); pci_device_map_range(qxl->pci, qxl->pci->regions[1].base_addr, qxl->pci->regions[1].size, @@ -218,7 +218,7 @@ qxl_map_memory(qxl_screen_t *qxl, int scrnIndex) pci_device_map_range(qxl->pci, qxl->pci->regions[2].base_addr, qxl->pci->regions[2].size, 0, - &qxl->rom); + (void **)&qxl->rom); qxl->io_base = qxl->pci->regions[3].base_addr; #else @@ -355,7 +355,7 @@ make_drawable (qxl_screen_t *qxl, uint8_t type, CHECK_POINT(); - drawable->release_info.id = (uint64_t)drawable; + drawable->release_info.id = pointer_to_u64 (drawable); drawable->type = type; diff --git a/src/qxl_image.c b/src/qxl_image.c index f367ffe..d87e378 100644 --- a/src/qxl_image.c +++ b/src/qxl_image.c @@ -124,7 +124,7 @@ qxl_image_create (qxl_screen_t *qxl, const uint8_t *data, const uint8_t *src_line = data + i * stride; uint32_t *dest_line; - chunk = virtual_address (qxl, (void *)info->image->u.bitmap.data); + chunk = virtual_address (qxl, u64_to_pointer (info->image->u.bitmap.data)); dest_line = (uint32_t *)chunk->data + width * i; @@ -224,7 +224,7 @@ qxl_image_destroy (qxl_screen_t *qxl, struct qxl_data_chunk *chunk; image_info_t *info; - chunk = virtual_address (qxl, (void *)image->u.bitmap.data); + chunk = virtual_address (qxl, u64_to_pointer (image->u.bitmap.data)); info = lookup_image_info (image->descriptor.id, image->descriptor.width, |