From: "Antonino A. Daplas" - add sparse annotations - check return value of pci_enable_device() - fix if CONFIG_PM=n Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton --- drivers/video/arkfb.c | 23 ++++++++++++++++------- 1 files changed, 16 insertions(+), 7 deletions(-) diff -puN drivers/video/arkfb.c~arkfb-fix-compiler-warnings drivers/video/arkfb.c --- a/drivers/video/arkfb.c~arkfb-fix-compiler-warnings +++ a/drivers/video/arkfb.c @@ -131,21 +131,22 @@ MODULE_PARM_DESC(mtrr, "FIFO threshold") static void arkfb_settile(struct fb_info *info, struct fb_tilemap *map) { const u8 *font = map->data; - u8* fb = (u8 *) info->screen_base; + u8 __iomem *fb = (u8 __iomem *)info->screen_base; int i, c; if ((map->width != 8) || (map->height != 16) || (map->depth != 1) || (map->length != 256)) { - printk(KERN_ERR "fb%d: unsupported font parameters: width %d, height %d, depth %d, length %d\n", - info->node, map->width, map->height, map->depth, map->length); + printk(KERN_ERR "fb%d: unsupported font parameters: width %d, " + "height %d, depth %d, length %d\n", info->node, + map->width, map->height, map->depth, map->length); return; } fb += 2; for (c = 0; c < map->length; c++) { for (i = 0; i < map->height; i++) { - fb[i * 4] = font[i]; - fb[i * 4 + (128*8)] = font[i]; + fb_writeb(font[i], &fb[i * 4]); + fb_writeb(font[i], &fb[i * 4 + (128 * 8)]); } fb += 128; @@ -1080,6 +1081,7 @@ static void __devexit ark_pci_remove(str } +#ifdef CONFIG_PM /* PCI suspend */ static int ark_pci_suspend (struct pci_dev* dev, pm_message_t state) @@ -1131,17 +1133,24 @@ static int ark_pci_resume (struct pci_de pci_set_power_state(dev, PCI_D0); pci_restore_state(dev); - pci_enable_device(dev); + + if (pci_enable_device(dev)) + goto fail; + pci_set_master(dev); arkfb_set_par(info); fb_set_suspend(info, 0); mutex_unlock(&(par->open_lock)); +fail: release_console_sem(); return 0; } - +#else +#define ark_pci_suspend NULL +#define ark_pci_resume NULL +#endif /* CONFIG_PM */ /* List of boards that we are trying to support */ _