linux-mips
[Top] [All Lists]

[PATCH] Fix build failure for 64-bit SB-1 kernels

To: linux-mips@linux-mips.org
Subject: [PATCH] Fix build failure for 64-bit SB-1 kernels
From: Thiemo Seufer <ths@networkno.de>
Date: Thu, 14 Feb 2008 16:58:25 +0000
Cc: ralf@linux-mips.org
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.17+20080114 (2008-01-14)
Fix type mismatch warnings for 64-bit kernel builds which trigger -Werror.
The problem affects only SB-1 kernels with CONFIG_SIBYTE_DMA_PAGEOPS enabled.


Signed-off-by: Thiemo Seufer <ths@networkno.de>
---

Index: linux.git/arch/mips/mm/pg-sb1.c
===================================================================
--- linux.git.orig/arch/mips/mm/pg-sb1.c        2008-02-12 00:14:34.000000000 
+0000
+++ linux.git/arch/mips/mm/pg-sb1.c     2008-02-12 00:29:36.000000000 +0000
@@ -216,7 +216,7 @@
        int i;
 
        for (i = 0; i < DM_NUM_CHANNELS; i++) {
-               const u64 base_val = CPHYSADDR(&page_descr[i]) |
+               const u64 base_val = CPHYSADDR((unsigned long)&page_descr[i]) |
                                     V_DM_DSCR_BASE_RINGSZ(1);
                void *base_reg = IOADDR(A_DM_REGISTER(i, R_DM_DSCR_BASE));
 
@@ -228,11 +228,11 @@
 
 void clear_page(void *page)
 {
-       u64 to_phys = CPHYSADDR(page);
+       u64 to_phys = CPHYSADDR((unsigned long)page);
        unsigned int cpu = smp_processor_id();
 
        /* if the page is not in KSEG0, use old way */
-       if ((long)KSEGX(page) != (long)CKSEG0)
+       if ((long)KSEGX((unsigned long)page) != (long)CKSEG0)
                return clear_page_cpu(page);
 
        page_descr[cpu].dscr_a = to_phys | M_DM_DSCRA_ZERO_MEM |
@@ -252,13 +252,13 @@
 
 void copy_page(void *to, void *from)
 {
-       u64 from_phys = CPHYSADDR(from);
-       u64 to_phys = CPHYSADDR(to);
+       u64 from_phys = CPHYSADDR((unsigned long)from);
+       u64 to_phys = CPHYSADDR((unsigned long)to);
        unsigned int cpu = smp_processor_id();
 
        /* if any page is not in KSEG0, use old way */
-       if ((long)KSEGX(to) != (long)CKSEG0
-           || (long)KSEGX(from) != (long)CKSEG0)
+       if ((long)KSEGX((unsigned long)to) != (long)CKSEG0
+           || (long)KSEGX((unsigned long)from) != (long)CKSEG0)
                return copy_page_cpu(to, from);
 
        page_descr[cpu].dscr_a = to_phys | M_DM_DSCRA_L2C_DEST |

<Prev in Thread] Current Thread [Next in Thread>