]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
staging: vme: fix address cast warnings for 64 bit architectures
authorManohar Vanga <manohar.vanga@cern.ch>
Wed, 2 Nov 2011 15:50:39 +0000 (16:50 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 27 Nov 2011 01:23:57 +0000 (17:23 -0800)
Signed-off-by: Manohar Vanga <manohar.vanga@cern.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/vme/bridges/vme_ca91cx42.c

index 0e4feac138eb0704736333edb7a03b04cb33a33d..f563a0082129f203eca4397cbe243ec85fa68f78 100644 (file)
@@ -876,13 +876,13 @@ static ssize_t ca91cx42_master_read(struct vme_master_resource *image,
         * maximal configured data cycle is used and splits it
         * automatically for non-aligned addresses.
         */
-       if ((int)addr & 0x1) {
+       if ((uintptr_t)addr & 0x1) {
                *(u8 *)buf = ioread8(addr);
                done += 1;
                if (done == count)
                        goto out;
        }
-       if ((int)addr & 0x2) {
+       if ((uintptr_t)addr & 0x2) {
                if ((count - done) < 2) {
                        *(u8 *)(buf + done) = ioread8(addr + done);
                        done += 1;
@@ -930,13 +930,13 @@ static ssize_t ca91cx42_master_write(struct vme_master_resource *image,
        /* Here we apply for the same strategy we do in master_read
         * function in order to assure D16 cycle when required.
         */
-       if ((int)addr & 0x1) {
+       if ((uintptr_t)addr & 0x1) {
                iowrite8(*(u8 *)buf, addr);
                done += 1;
                if (done == count)
                        goto out;
        }
-       if ((int)addr & 0x2) {
+       if ((uintptr_t)addr & 0x2) {
                if ((count - done) < 2) {
                        iowrite8(*(u8 *)(buf + done), addr + done);
                        done += 1;
@@ -973,7 +973,8 @@ static unsigned int ca91cx42_master_rmw(struct vme_master_resource *image,
        unsigned int mask, unsigned int compare, unsigned int swap,
        loff_t offset)
 {
-       u32 pci_addr, result;
+       u32 result;
+       uintptr_t pci_addr;
        int i;
        struct ca91cx42_driver *bridge;
        struct device *dev;
@@ -990,7 +991,7 @@ static unsigned int ca91cx42_master_rmw(struct vme_master_resource *image,
        /* Lock image */
        spin_lock(&image->lock);
 
-       pci_addr = (u32)image->kern_base + offset;
+       pci_addr = (uintptr_t)image->kern_base + offset;
 
        /* Address must be 4-byte aligned */
        if (pci_addr & 0x3) {