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

staging: sm750fb: Use memset_io instead of memset

This patch takes into account that cursor->vstart, crtc->vScreen and
share->pvMem are pointers to memory-mapped I/O and thus we should use memset_io
to make this explicit. In addition, some architectures require special treatment
of memory-mapped I/O so the previous code could actually break without this
change.

This fixes the following sparse warnings:-

drivers/staging/sm750fb/sm750.c:489:17: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:490:17: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:501:17: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:502:17: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:833:5: warning: incorrect type in argument 1 (different address spaces)
drivers/staging/sm750fb/sm750.c:1154:9: warning: incorrect type in argument 1 (different address spaces)
Signed-off-by: default avatarLorenzo Stoakes <lstoakes@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 855fe6ea
...@@ -486,8 +486,8 @@ static int lynxfb_resume(struct pci_dev* pdev) ...@@ -486,8 +486,8 @@ static int lynxfb_resume(struct pci_dev* pdev)
par = info->par; par = info->par;
crtc = &par->crtc; crtc = &par->crtc;
cursor = &crtc->cursor; cursor = &crtc->cursor;
memset(cursor->vstart, 0x0, cursor->size); memset_io(cursor->vstart, 0x0, cursor->size);
memset(crtc->vScreen,0x0,crtc->vidmem_size); memset_io(crtc->vScreen, 0x0, crtc->vidmem_size);
lynxfb_ops_set_par(info); lynxfb_ops_set_par(info);
fb_set_suspend(info, 0); fb_set_suspend(info, 0);
} }
...@@ -498,8 +498,8 @@ static int lynxfb_resume(struct pci_dev* pdev) ...@@ -498,8 +498,8 @@ static int lynxfb_resume(struct pci_dev* pdev)
par = info->par; par = info->par;
crtc = &par->crtc; crtc = &par->crtc;
cursor = &crtc->cursor; cursor = &crtc->cursor;
memset(cursor->vstart, 0x0, cursor->size); memset_io(cursor->vstart, 0x0, cursor->size);
memset(crtc->vScreen,0x0,crtc->vidmem_size); memset_io(crtc->vScreen, 0x0, crtc->vidmem_size);
lynxfb_ops_set_par(info); lynxfb_ops_set_par(info);
fb_set_suspend(info, 0); fb_set_suspend(info, 0);
} }
...@@ -830,7 +830,7 @@ static int lynxfb_set_fbinfo(struct fb_info* info,int index) ...@@ -830,7 +830,7 @@ static int lynxfb_set_fbinfo(struct fb_info* info,int index)
crtc->cursor.share = share; crtc->cursor.share = share;
memset(crtc->cursor.vstart, 0, crtc->cursor.size); memset_io(crtc->cursor.vstart, 0, crtc->cursor.size);
if(!g_hwcursor){ if(!g_hwcursor){
lynxfb_ops.fb_cursor = NULL; lynxfb_ops.fb_cursor = NULL;
crtc->cursor.disable(&crtc->cursor); crtc->cursor.disable(&crtc->cursor);
...@@ -1151,7 +1151,7 @@ static int lynxfb_pci_probe(struct pci_dev * pdev, ...@@ -1151,7 +1151,7 @@ static int lynxfb_pci_probe(struct pci_dev * pdev,
} }
#endif #endif
memset(share->pvMem,0,share->vidmem_size); memset_io(share->pvMem, 0, share->vidmem_size);
pr_info("sm%3x mmio address = %p\n",share->devid,share->pvReg); pr_info("sm%3x mmio address = %p\n",share->devid,share->pvReg);
......
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