Commit f8b0dced authored by Lorenzo Stoakes's avatar Lorenzo Stoakes Committed by Greg Kroah-Hartman

staging: sm750fb: Cleanup the type of mmio750

This patch assigns the more appropriate void* type to the mmio750 variable
eliminating an unnecessary volatile qualifier in the process. Additionally it
updates parameter types as necessary where those parameters interact with
mmio750, removes unnecessary casts and updates the type of the
lynx_share->pvReg field which is passed to the ddk750_set_mmio method.

As a consequence, this patch fixes the following sparse warning:-

drivers/staging/sm750fb/ddk750_help.c:12:17: warning: incorrect type in assignment (different address spaces)
Signed-off-by: default avatarLorenzo Stoakes <lstoakes@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a99e334d
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
#define SM750LE_REVISION_ID ((unsigned char)0xfe) #define SM750LE_REVISION_ID ((unsigned char)0xfe)
#endif #endif
#include <linux/io.h>
/* This is all the chips recognized by this library */ /* This is all the chips recognized by this library */
typedef enum _logical_chip_type_t typedef enum _logical_chip_type_t
{ {
...@@ -72,7 +74,7 @@ logical_chip_type_t getChipType(void); ...@@ -72,7 +74,7 @@ logical_chip_type_t getChipType(void);
unsigned int calcPllValue(unsigned int request,pll_value_t *pll); unsigned int calcPllValue(unsigned int request,pll_value_t *pll);
unsigned int calcPllValue2(unsigned int,pll_value_t *); unsigned int calcPllValue2(unsigned int,pll_value_t *);
unsigned int formatPllReg(pll_value_t *pPLL); unsigned int formatPllReg(pll_value_t *pPLL);
void ddk750_set_mmio(volatile unsigned char *,unsigned short,char); void ddk750_set_mmio(void __iomem *,unsigned short,char);
unsigned int ddk750_getVMSize(void); unsigned int ddk750_getVMSize(void);
int ddk750_initHw(initchip_param_t *); int ddk750_initHw(initchip_param_t *);
unsigned int getPllValue(clock_type_t clockType, pll_value_t *pPLL); unsigned int getPllValue(clock_type_t clockType, pll_value_t *pPLL);
......
...@@ -2,12 +2,12 @@ ...@@ -2,12 +2,12 @@
//#include "ddk750_chip.h" //#include "ddk750_chip.h"
#include "ddk750_help.h" #include "ddk750_help.h"
volatile unsigned char __iomem * mmio750 = NULL; void __iomem * mmio750 = NULL;
char revId750 = 0; char revId750 = 0;
unsigned short devId750 = 0; unsigned short devId750 = 0;
/* after driver mapped io registers, use this function first */ /* after driver mapped io registers, use this function first */
void ddk750_set_mmio(volatile unsigned char * addr,unsigned short devId,char revId) void ddk750_set_mmio(void __iomem * addr,unsigned short devId,char revId)
{ {
mmio750 = addr; mmio750 = addr;
devId750 = devId; devId750 = devId;
......
...@@ -12,14 +12,14 @@ ...@@ -12,14 +12,14 @@
#if 0 #if 0
/* if 718 big endian turned on,be aware that don't use this driver for general use,only for ppc big-endian */ /* if 718 big endian turned on,be aware that don't use this driver for general use,only for ppc big-endian */
#warning "big endian on target cpu and enable nature big endian support of 718 capability !" #warning "big endian on target cpu and enable nature big endian support of 718 capability !"
#define PEEK32(addr) __raw_readl((void __iomem *)(mmio750)+(addr)) #define PEEK32(addr) __raw_readl(mmio750 + addr)
#define POKE32(addr,data) __raw_writel((data),(void __iomem*)(mmio750)+(addr)) #define POKE32(addr,data) __raw_writel(data, mmio750 + addr)
#else /* software control endianess */ #else /* software control endianess */
#define PEEK32(addr) readl((addr)+mmio750) #define PEEK32(addr) readl(addr + mmio750)
#define POKE32(addr,data) writel((data),(addr)+mmio750) #define POKE32(addr,data) writel(data, addr + mmio750)
#endif #endif
extern volatile unsigned char __iomem * mmio750; extern void __iomem * mmio750;
extern char revId750; extern char revId750;
extern unsigned short devId750; extern unsigned short devId750;
#else #else
......
...@@ -63,7 +63,7 @@ struct lynx_share{ ...@@ -63,7 +63,7 @@ struct lynx_share{
unsigned long vidreg_start; unsigned long vidreg_start;
__u32 vidmem_size; __u32 vidmem_size;
__u32 vidreg_size; __u32 vidreg_size;
volatile unsigned char __iomem * pvReg; void __iomem * pvReg;
unsigned char __iomem * pvMem; unsigned char __iomem * pvMem;
/* locks*/ /* locks*/
spinlock_t slock; spinlock_t slock;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment