]> git.hungrycats.org Git - linux/commitdiff
[ARM] Fix sparse warnings in nwfpe.
authorRussell King <rmk@flint.arm.linux.org.uk>
Sun, 8 Aug 2004 17:04:49 +0000 (18:04 +0100)
committerRussell King <rmk@flint.arm.linux.org.uk>
Sun, 8 Aug 2004 17:04:49 +0000 (18:04 +0100)
This fixes sparse warnings in fpa11_cpdt (coprocessor data transfer)
instruction emulation.  Note that pointers need to be cast to unsigned
long not unsigned int, so convert user registers to be unsigned long
type.

arch/arm/nwfpe/fpa11.h
arch/arm/nwfpe/fpa11_cpdt.c
arch/arm/nwfpe/fpmodule.c
arch/arm/nwfpe/fpmodule.inl

index c3f14c7aa9c978b0ff7f3d1916131e65c52c4c8b..45cc65426a223a1b7f70fd1fb208bbf1065a40c0 100644 (file)
@@ -29,7 +29,7 @@
  * stack+task struct.  Use the same method as 'current' uses to
  * reach them.
  */
-register unsigned int *user_registers asm("sl");
+register unsigned long *user_registers asm("sl");
 
 #define GET_USERREG() (user_registers)
 
index 59e3197d6d5450460c4baa3d8b9864ae993df80c..2ad457558681dd803a4cd7196fcae5f6f9120580 100644 (file)
 
 #include <asm/uaccess.h>
 
-static inline void loadSingle(const unsigned int Fn, const unsigned int *pMem)
+static inline void loadSingle(const unsigned int Fn, const unsigned int __user *pMem)
 {
        FPA11 *fpa11 = GET_FPA11();
        fpa11->fType[Fn] = typeSingle;
        get_user(fpa11->fpreg[Fn].fSingle, pMem);
 }
 
-static inline void loadDouble(const unsigned int Fn, const unsigned int *pMem)
+static inline void loadDouble(const unsigned int Fn, const unsigned int __user *pMem)
 {
        FPA11 *fpa11 = GET_FPA11();
        unsigned int *p;
@@ -47,7 +47,7 @@ static inline void loadDouble(const unsigned int Fn, const unsigned int *pMem)
 }
 
 #ifdef CONFIG_FPE_NWFPE_XP
-static inline void loadExtended(const unsigned int Fn, const unsigned int *pMem)
+static inline void loadExtended(const unsigned int Fn, const unsigned int __user *pMem)
 {
        FPA11 *fpa11 = GET_FPA11();
        unsigned int *p;
@@ -59,7 +59,7 @@ static inline void loadExtended(const unsigned int Fn, const unsigned int *pMem)
 }
 #endif
 
-static inline void loadMultiple(const unsigned int Fn, const unsigned int *pMem)
+static inline void loadMultiple(const unsigned int Fn, const unsigned int __user *pMem)
 {
        FPA11 *fpa11 = GET_FPA11();
        register unsigned int *p;
@@ -91,7 +91,7 @@ static inline void loadMultiple(const unsigned int Fn, const unsigned int *pMem)
        }
 }
 
-static inline void storeSingle(const unsigned int Fn, unsigned int *pMem)
+static inline void storeSingle(const unsigned int Fn, unsigned int __user *pMem)
 {
        FPA11 *fpa11 = GET_FPA11();
        union {
@@ -117,7 +117,7 @@ static inline void storeSingle(const unsigned int Fn, unsigned int *pMem)
        put_user(val.i[0], pMem);
 }
 
-static inline void storeDouble(const unsigned int Fn, unsigned int *pMem)
+static inline void storeDouble(const unsigned int Fn, unsigned int __user *pMem)
 {
        FPA11 *fpa11 = GET_FPA11();
        union {
@@ -145,7 +145,7 @@ static inline void storeDouble(const unsigned int Fn, unsigned int *pMem)
 }
 
 #ifdef CONFIG_FPE_NWFPE_XP
-static inline void storeExtended(const unsigned int Fn, unsigned int *pMem)
+static inline void storeExtended(const unsigned int Fn, unsigned int __user *pMem)
 {
        FPA11 *fpa11 = GET_FPA11();
        union {
@@ -172,7 +172,7 @@ static inline void storeExtended(const unsigned int Fn, unsigned int *pMem)
 }
 #endif
 
-static inline void storeMultiple(const unsigned int Fn, unsigned int *pMem)
+static inline void storeMultiple(const unsigned int Fn, unsigned int __user *pMem)
 {
        FPA11 *fpa11 = GET_FPA11();
        register unsigned int nType, *p;
@@ -204,10 +204,10 @@ static inline void storeMultiple(const unsigned int Fn, unsigned int *pMem)
 
 unsigned int PerformLDF(const unsigned int opcode)
 {
-       unsigned int *pBase, *pAddress, *pFinal, nRc = 1,
-           write_back = WRITE_BACK(opcode);
+       unsigned int __user *pBase, *pAddress, *pFinal;
+       unsigned int nRc = 1, write_back = WRITE_BACK(opcode);
 
-       pBase = (unsigned int *) readRegister(getRn(opcode));
+       pBase = (unsigned int __user *) readRegister(getRn(opcode));
        if (REG_PC == getRn(opcode)) {
                pBase += 2;
                write_back = 0;
@@ -241,18 +241,18 @@ unsigned int PerformLDF(const unsigned int opcode)
        }
 
        if (write_back)
-               writeRegister(getRn(opcode), (unsigned int) pFinal);
+               writeRegister(getRn(opcode), (unsigned long) pFinal);
        return nRc;
 }
 
 unsigned int PerformSTF(const unsigned int opcode)
 {
-       unsigned int *pBase, *pAddress, *pFinal, nRc = 1,
-           write_back = WRITE_BACK(opcode);
+       unsigned int __user *pBase, *pAddress, *pFinal;
+       unsigned int nRc = 1, write_back = WRITE_BACK(opcode);
 
        SetRoundingMode(ROUND_TO_NEAREST);
 
-       pBase = (unsigned int *) readRegister(getRn(opcode));
+       pBase = (unsigned int __user *) readRegister(getRn(opcode));
        if (REG_PC == getRn(opcode)) {
                pBase += 2;
                write_back = 0;
@@ -286,16 +286,16 @@ unsigned int PerformSTF(const unsigned int opcode)
        }
 
        if (write_back)
-               writeRegister(getRn(opcode), (unsigned int) pFinal);
+               writeRegister(getRn(opcode), (unsigned long) pFinal);
        return nRc;
 }
 
 unsigned int PerformLFM(const unsigned int opcode)
 {
-       unsigned int i, Fd, *pBase, *pAddress, *pFinal,
-           write_back = WRITE_BACK(opcode);
+       unsigned int __user *pBase, *pAddress, *pFinal;
+       unsigned int i, Fd, write_back = WRITE_BACK(opcode);
 
-       pBase = (unsigned int *) readRegister(getRn(opcode));
+       pBase = (unsigned int __user *) readRegister(getRn(opcode));
        if (REG_PC == getRn(opcode)) {
                pBase += 2;
                write_back = 0;
@@ -322,16 +322,16 @@ unsigned int PerformLFM(const unsigned int opcode)
        }
 
        if (write_back)
-               writeRegister(getRn(opcode), (unsigned int) pFinal);
+               writeRegister(getRn(opcode), (unsigned long) pFinal);
        return 1;
 }
 
 unsigned int PerformSFM(const unsigned int opcode)
 {
-       unsigned int i, Fd, *pBase, *pAddress, *pFinal,
-           write_back = WRITE_BACK(opcode);
+       unsigned int __user *pBase, *pAddress, *pFinal;
+       unsigned int i, Fd, write_back = WRITE_BACK(opcode);
 
-       pBase = (unsigned int *) readRegister(getRn(opcode));
+       pBase = (unsigned int __user *) readRegister(getRn(opcode));
        if (REG_PC == getRn(opcode)) {
                pBase += 2;
                write_back = 0;
@@ -358,7 +358,7 @@ unsigned int PerformSFM(const unsigned int opcode)
        }
 
        if (write_back)
-               writeRegister(getRn(opcode), (unsigned int) pFinal);
+               writeRegister(getRn(opcode), (unsigned long) pFinal);
        return 1;
 }
 
index 7c417158d6b25af11da703a989f3645a1c7c5b90..a806fea5c3ed6ccb6a9dfd84b5fa9c517edc16f3 100644 (file)
@@ -131,7 +131,7 @@ void float_raise(signed char flags)
 
 #ifdef CONFIG_DEBUG_USER
        printk(KERN_DEBUG
-              "NWFPE: %s[%d] takes exception %08x at %p from %08x\n",
+              "NWFPE: %s[%d] takes exception %08x at %p from %08lx\n",
               current->comm, current->pid, flags,
               __builtin_return_address(0), GET_USERREG()[15]);
 #endif
index 119fb3f48ec079dc9ac755c9cf428f4794614f46..e5f59e9a302227a719444a1f97f2747147e0c7cc 100644 (file)
@@ -19,8 +19,7 @@
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
 
-extern __inline__
-unsigned int readRegister(const unsigned int nReg)
+static inline unsigned long readRegister(const unsigned int nReg)
 {
        /* Note: The CPU thinks it has dealt with the current instruction.
           As a result the program counter has been advanced to the next
@@ -29,34 +28,31 @@ unsigned int readRegister(const unsigned int nReg)
           for this in this routine.  LDF/STF instructions with Rn = PC
           depend on the PC being correct, as they use PC+8 in their
           address calculations. */
-       unsigned int *userRegisters = GET_USERREG();
+       unsigned long *userRegisters = GET_USERREG();
        unsigned int val = userRegisters[nReg];
        if (REG_PC == nReg)
                val -= 4;
        return val;
 }
 
-extern __inline__
-void writeRegister(const unsigned int nReg, const unsigned int val)
+static inline void
+writeRegister(const unsigned int nReg, const unsigned long val)
 {
-       unsigned int *userRegisters = GET_USERREG();
+       unsigned long *userRegisters = GET_USERREG();
        userRegisters[nReg] = val;
 }
 
-extern __inline__
-unsigned int readCPSR(void)
+static inline unsigned long readCPSR(void)
 {
        return (readRegister(REG_CPSR));
 }
 
-extern __inline__
-void writeCPSR(const unsigned int val)
+static inline void writeCPSR(const unsigned long val)
 {
        writeRegister(REG_CPSR, val);
 }
 
-extern __inline__
-unsigned int readConditionCodes(void)
+static inline unsigned long readConditionCodes(void)
 {
 #ifdef __FPEM_TEST__
        return (0);
@@ -65,11 +61,10 @@ unsigned int readConditionCodes(void)
 #endif
 }
 
-extern __inline__
-void writeConditionCodes(const unsigned int val)
+static inline void writeConditionCodes(const unsigned long val)
 {
-       unsigned int *userRegisters = GET_USERREG();
-       unsigned int rval;
+       unsigned long *userRegisters = GET_USERREG();
+       unsigned long rval;
        /*
         * Operate directly on userRegisters since
         * the CPSR may be the PC register itself.
@@ -77,9 +72,3 @@ void writeConditionCodes(const unsigned int val)
        rval = userRegisters[REG_CPSR] & ~CC_MASK;
        userRegisters[REG_CPSR] = rval | (val & CC_MASK);
 }
-
-extern __inline__
-unsigned int readMemoryInt(unsigned int *pMem)
-{
-       return *pMem;
-}