All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/2] video: fbdev: pvr2fb: add COMPILE_TEST support
       [not found] <CGME20190522101651eucas1p18b5ce16f065cc83125b4bd97e141bdcd@eucas1p1.samsung.com>
@ 2019-05-22 10:16   ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 7+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2019-05-22 10:16 UTC (permalink / raw)
  To: linux-fbdev, dri-devel, linux-kernel

Add COMPILE_TEST support to pvr2fb driver for better compile
testing coverage.

While at it mark pvr2fb_interrupt() and pvr2fb_common_init()
with __maybe_unused tag (to silence build warnings when
!SH_DREAMCAST), also convert mmio_base in struct pvr2fb_par to
'void __iomem *' from 'unsigned long' (needed to silence
build warnings on ARM).

Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
---
 drivers/video/fbdev/Kconfig  |    3 ++-
 drivers/video/fbdev/pvr2fb.c |   26 +++++++++++++-------------
 2 files changed, 15 insertions(+), 14 deletions(-)

Index: b/drivers/video/fbdev/Kconfig
===================================================================
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -807,7 +807,8 @@ config FB_XVR1000
 
 config FB_PVR2
 	tristate "NEC PowerVR 2 display support"
-	depends on FB && SH_DREAMCAST
+	depends on FB && HAS_IOMEM
+	depends on SH_DREAMCAST || COMPILE_TEST
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
Index: b/drivers/video/fbdev/pvr2fb.c
===================================================================
--- a/drivers/video/fbdev/pvr2fb.c
+++ b/drivers/video/fbdev/pvr2fb.c
@@ -139,7 +139,7 @@ static struct pvr2fb_par {
 	unsigned char is_doublescan;	/* Are scanlines output twice? (doublescan) */
 	unsigned char is_lowres;	/* Is horizontal pixel-doubling enabled? */
 
-	unsigned long mmio_base;	/* MMIO base */
+	void __iomem *mmio_base;	/* MMIO base */
 	u32 palette[16];
 } *currentpar;
 
@@ -325,9 +325,9 @@ static int pvr2fb_setcolreg(unsigned int
  * anything if the cable type has been overidden (via "cable:XX").
  */
 
-#define PCTRA 0xff80002c
-#define PDTRA 0xff800030
-#define VOUTC 0xa0702c00
+#define PCTRA ((void __iomem *)0xff80002c)
+#define PDTRA ((void __iomem *)0xff800030)
+#define VOUTC ((void __iomem *)0xa0702c00)
 
 static int pvr2_init_cable(void)
 {
@@ -619,7 +619,7 @@ static void pvr2_do_blank(void)
 	is_blanked = do_blank > 0 ? do_blank : 0;
 }
 
-static irqreturn_t pvr2fb_interrupt(int irq, void *dev_id)
+static irqreturn_t __maybe_unused pvr2fb_interrupt(int irq, void *dev_id)
 {
 	struct fb_info *info = dev_id;
 
@@ -757,7 +757,7 @@ static int pvr2_get_param(const struct p
  * in for flexibility anyways. Who knows, maybe someone has tv-out on a
  * PCI-based version of these things ;-)
  */
-static int pvr2fb_common_init(void)
+static int __maybe_unused pvr2fb_common_init(void)
 {
 	struct pvr2fb_par *par = currentpar;
 	unsigned long modememused, rev;
@@ -770,8 +770,8 @@ static int pvr2fb_common_init(void)
 		goto out_err;
 	}
 
-	par->mmio_base = (unsigned long)ioremap_nocache(pvr2_fix.mmio_start,
-							pvr2_fix.mmio_len);
+	par->mmio_base = ioremap_nocache(pvr2_fix.mmio_start,
+					 pvr2_fix.mmio_len);
 	if (!par->mmio_base) {
 		printk(KERN_ERR "pvr2fb: Failed to remap mmio space\n");
 		goto out_err;
@@ -838,7 +838,7 @@ out_err:
 	if (fb_info->screen_base)
 		iounmap(fb_info->screen_base);
 	if (par->mmio_base)
-		iounmap((void *)par->mmio_base);
+		iounmap(par->mmio_base);
 
 	return -ENXIO;
 }
@@ -905,8 +905,8 @@ static void __exit pvr2fb_dc_exit(void)
 		fb_info->screen_base = NULL;
 	}
 	if (currentpar->mmio_base) {
-		iounmap((void *)currentpar->mmio_base);
-		currentpar->mmio_base = 0;
+		iounmap(currentpar->mmio_base);
+		currentpar->mmio_base = NULL;
 	}
 
 	free_irq(HW_EVENT_VSYNC, fb_info);
@@ -955,8 +955,8 @@ static void pvr2fb_pci_remove(struct pci
 		fb_info->screen_base = NULL;
 	}
 	if (currentpar->mmio_base) {
-		iounmap((void *)currentpar->mmio_base);
-		currentpar->mmio_base = 0;
+		iounmap(currentpar->mmio_base);
+		currentpar->mmio_base = NULL;
 	}
 
 	pci_release_regions(pdev);

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 2/2] video: fbdev: pvr2fb: add COMPILE_TEST support
@ 2019-05-22 10:16   ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 7+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2019-05-22 10:16 UTC (permalink / raw)
  To: linux-fbdev, dri-devel, linux-kernel

Add COMPILE_TEST support to pvr2fb driver for better compile
testing coverage.

While at it mark pvr2fb_interrupt() and pvr2fb_common_init()
with __maybe_unused tag (to silence build warnings when
!SH_DREAMCAST), also convert mmio_base in struct pvr2fb_par to
'void __iomem *' from 'unsigned long' (needed to silence
build warnings on ARM).

Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
---
 drivers/video/fbdev/Kconfig  |    3 ++-
 drivers/video/fbdev/pvr2fb.c |   26 +++++++++++++-------------
 2 files changed, 15 insertions(+), 14 deletions(-)

Index: b/drivers/video/fbdev/Kconfig
=================================--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -807,7 +807,8 @@ config FB_XVR1000
 
 config FB_PVR2
 	tristate "NEC PowerVR 2 display support"
-	depends on FB && SH_DREAMCAST
+	depends on FB && HAS_IOMEM
+	depends on SH_DREAMCAST || COMPILE_TEST
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
Index: b/drivers/video/fbdev/pvr2fb.c
=================================--- a/drivers/video/fbdev/pvr2fb.c
+++ b/drivers/video/fbdev/pvr2fb.c
@@ -139,7 +139,7 @@ static struct pvr2fb_par {
 	unsigned char is_doublescan;	/* Are scanlines output twice? (doublescan) */
 	unsigned char is_lowres;	/* Is horizontal pixel-doubling enabled? */
 
-	unsigned long mmio_base;	/* MMIO base */
+	void __iomem *mmio_base;	/* MMIO base */
 	u32 palette[16];
 } *currentpar;
 
@@ -325,9 +325,9 @@ static int pvr2fb_setcolreg(unsigned int
  * anything if the cable type has been overidden (via "cable:XX").
  */
 
-#define PCTRA 0xff80002c
-#define PDTRA 0xff800030
-#define VOUTC 0xa0702c00
+#define PCTRA ((void __iomem *)0xff80002c)
+#define PDTRA ((void __iomem *)0xff800030)
+#define VOUTC ((void __iomem *)0xa0702c00)
 
 static int pvr2_init_cable(void)
 {
@@ -619,7 +619,7 @@ static void pvr2_do_blank(void)
 	is_blanked = do_blank > 0 ? do_blank : 0;
 }
 
-static irqreturn_t pvr2fb_interrupt(int irq, void *dev_id)
+static irqreturn_t __maybe_unused pvr2fb_interrupt(int irq, void *dev_id)
 {
 	struct fb_info *info = dev_id;
 
@@ -757,7 +757,7 @@ static int pvr2_get_param(const struct p
  * in for flexibility anyways. Who knows, maybe someone has tv-out on a
  * PCI-based version of these things ;-)
  */
-static int pvr2fb_common_init(void)
+static int __maybe_unused pvr2fb_common_init(void)
 {
 	struct pvr2fb_par *par = currentpar;
 	unsigned long modememused, rev;
@@ -770,8 +770,8 @@ static int pvr2fb_common_init(void)
 		goto out_err;
 	}
 
-	par->mmio_base = (unsigned long)ioremap_nocache(pvr2_fix.mmio_start,
-							pvr2_fix.mmio_len);
+	par->mmio_base = ioremap_nocache(pvr2_fix.mmio_start,
+					 pvr2_fix.mmio_len);
 	if (!par->mmio_base) {
 		printk(KERN_ERR "pvr2fb: Failed to remap mmio space\n");
 		goto out_err;
@@ -838,7 +838,7 @@ out_err:
 	if (fb_info->screen_base)
 		iounmap(fb_info->screen_base);
 	if (par->mmio_base)
-		iounmap((void *)par->mmio_base);
+		iounmap(par->mmio_base);
 
 	return -ENXIO;
 }
@@ -905,8 +905,8 @@ static void __exit pvr2fb_dc_exit(void)
 		fb_info->screen_base = NULL;
 	}
 	if (currentpar->mmio_base) {
-		iounmap((void *)currentpar->mmio_base);
-		currentpar->mmio_base = 0;
+		iounmap(currentpar->mmio_base);
+		currentpar->mmio_base = NULL;
 	}
 
 	free_irq(HW_EVENT_VSYNC, fb_info);
@@ -955,8 +955,8 @@ static void pvr2fb_pci_remove(struct pci
 		fb_info->screen_base = NULL;
 	}
 	if (currentpar->mmio_base) {
-		iounmap((void *)currentpar->mmio_base);
-		currentpar->mmio_base = 0;
+		iounmap(currentpar->mmio_base);
+		currentpar->mmio_base = NULL;
 	}
 
 	pci_release_regions(pdev);

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] video: fbdev: pvr2fb: add COMPILE_TEST support
  2019-05-22 10:16   ` Bartlomiej Zolnierkiewicz
@ 2019-05-24  8:28     ` kbuild test robot
  -1 siblings, 0 replies; 7+ messages in thread
From: kbuild test robot @ 2019-05-24  8:28 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz
  Cc: kbuild-all, linux-fbdev, dri-devel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 14412 bytes --]

Hi Bartlomiej,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.2-rc1 next-20190524]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Bartlomiej-Zolnierkiewicz/video-fbdev-pvr2fb-remove-function-prototypes/20190524-145925
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   drivers/video//fbdev/pvr2fb.c: In function 'pvr2_get_param':
>> drivers/video//fbdev/pvr2fb.c:737:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        return (int)p[i].name;
               ^
   In file included from include/linux/kernel.h:15:0,
                    from include/linux/list.h:9,
                    from include/linux/module.h:9,
                    from drivers/video//fbdev/pvr2fb.c:48:
   drivers/video//fbdev/pvr2fb.c: In function 'pvr2fb_common_init':
>> drivers/video//fbdev/pvr2fb.c:823:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      (char *)pvr2_get_param(cables, NULL, cable_type, 3),
      ^
   include/linux/printk.h:311:34: note: in definition of macro 'pr_info'
     printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
                                     ^~~~~~~~~~~
>> drivers/video//fbdev/pvr2fb.c:819:2: note: in expansion of macro 'fb_info'
     fb_info(fb_info, "Mode %dx%d-%d pitch = %ld cable: %s video output: %s\n",
     ^~~~~~~
   drivers/video//fbdev/pvr2fb.c:824:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      (char *)pvr2_get_param(outputs, NULL, video_output, 3));
      ^
   include/linux/printk.h:311:34: note: in definition of macro 'pr_info'
     printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
                                     ^~~~~~~~~~~
>> drivers/video//fbdev/pvr2fb.c:819:2: note: in expansion of macro 'fb_info'
     fb_info(fb_info, "Mode %dx%d-%d pitch = %ld cable: %s video output: %s\n",
     ^~~~~~~

sparse warnings: (new ones prefixed by >>)

>> drivers/video/fbdev/pvr2fb.c:1050:11: sparse: sparse: Using plain integer as NULL pointer
>> drivers/video/fbdev/pvr2fb.c:737:46: sparse: sparse: non size-preserving pointer to integer cast
>> drivers/video/fbdev/pvr2fb.c:819:9: sparse: sparse: non size-preserving integer to pointer cast
>> drivers/video/fbdev/pvr2fb.c:819:9: sparse: sparse: non size-preserving integer to pointer cast

vim +/fb_info +819 drivers/video//fbdev/pvr2fb.c

970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  725  
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  726  static int pvr2_get_param(const struct pvr2_params *p, const char *s, int val,
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  727  			  int size)
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  728  {
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  729  	int i;
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  730  
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  731  	for (i = 0 ; i < size ; i++ ) {
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  732  		if (s != NULL) {
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  733  			if (!strncasecmp(p[i].name, s, strlen(s)))
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  734  				return p[i].val;
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  735  		} else {
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  736  			if (p[i].val == val)
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22 @737  				return (int)p[i].name;
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  738  		}
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  739  	}
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  740  	return -1;
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  741  }
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  742  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  743  /**
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  744   * pvr2fb_common_init
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  745   *
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  746   * Common init code for the PVR2 chips.
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  747   *
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  748   * This mostly takes care of the common aspects of the fb setup and
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  749   * registration. It's expected that the board-specific init code has
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  750   * already setup pvr2_fix with something meaningful at this point.
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  751   *
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  752   * Device info reporting is also done here, as well as picking a sane
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  753   * default from the modedb. For board-specific modelines, simply define
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  754   * a per-board modedb.
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  755   *
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  756   * Also worth noting is that the cable and video output types are likely
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  757   * always going to be VGA for the PCI-based PVR2 boards, but we leave this
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  758   * in for flexibility anyways. Who knows, maybe someone has tv-out on a
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  759   * PCI-based version of these things ;-)
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  760   */
c76c323b drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  761  static int __maybe_unused pvr2fb_common_init(void)
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  762  {
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  763  	struct pvr2fb_par *par = currentpar;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  764  	unsigned long modememused, rev;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  765  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  766  	fb_info->screen_base = ioremap_nocache(pvr2_fix.smem_start,
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  767  					       pvr2_fix.smem_len);
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  768  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  769  	if (!fb_info->screen_base) {
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  770  		printk(KERN_ERR "pvr2fb: Failed to remap smem space\n");
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  771  		goto out_err;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  772  	}
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  773  
c76c323b drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  774  	par->mmio_base = ioremap_nocache(pvr2_fix.mmio_start,
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  775  					 pvr2_fix.mmio_len);
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  776  	if (!par->mmio_base) {
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  777  		printk(KERN_ERR "pvr2fb: Failed to remap mmio space\n");
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  778  		goto out_err;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  779  	}
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  780  
d2b06a8b drivers/video/pvr2fb.c       Paul Mundt                2006-09-27  781  	fb_memset(fb_info->screen_base, 0, pvr2_fix.smem_len);
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  782  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  783  	pvr2_fix.ypanstep	= nopan  ? 0 : 1;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  784  	pvr2_fix.ywrapstep	= nowrap ? 0 : 1;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  785  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  786  	fb_info->fbops		= &pvr2fb_ops;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  787  	fb_info->fix		= pvr2_fix;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  788  	fb_info->par		= currentpar;
9cd1c674 drivers/video/pvr2fb.c       Antonino A. Daplas        2007-08-10  789  	fb_info->pseudo_palette	= currentpar->palette;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  790  	fb_info->flags		= FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  791  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  792  	if (video_output == VO_VGA)
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  793  		defmode = DEFMODE_VGA;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  794  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  795  	if (!mode_option)
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  796  		mode_option = "640x480@60";
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  797  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  798  	if (!fb_find_mode(&fb_info->var, fb_info, mode_option, pvr2_modedb,
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  799  	                  NUM_TOTAL_MODES, &pvr2_modedb[defmode], 16))
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  800  		fb_info->var = pvr2_var;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  801  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  802  	fb_alloc_cmap(&fb_info->cmap, 256, 0);
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  803  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  804  	if (register_framebuffer(fb_info) < 0)
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  805  		goto out_err;
306c869c drivers/video/pvr2fb.c       Adrian McMenamin          2007-08-10  806  	/*Must write PIXDEPTH to register before anything is displayed - so force init */
306c869c drivers/video/pvr2fb.c       Adrian McMenamin          2007-08-10  807  	pvr2_init_display(fb_info);
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  808  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  809  	modememused = get_line_length(fb_info->var.xres_virtual,
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  810  				      fb_info->var.bits_per_pixel);
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  811  	modememused *= fb_info->var.yres_virtual;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  812  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  813  	rev = fb_readl(par->mmio_base + 0x04);
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  814  
31b6780c drivers/video/pvr2fb.c       Joe Perches               2013-09-19  815  	fb_info(fb_info, "%s (rev %ld.%ld) frame buffer device, using %ldk/%ldk of video memory\n",
31b6780c drivers/video/pvr2fb.c       Joe Perches               2013-09-19  816  		fb_info->fix.id, (rev >> 4) & 0x0f, rev & 0x0f,
31b6780c drivers/video/pvr2fb.c       Joe Perches               2013-09-19  817  		modememused >> 10,
31b6780c drivers/video/pvr2fb.c       Joe Perches               2013-09-19  818  		(unsigned long)(fb_info->fix.smem_len >> 10));
31b6780c drivers/video/pvr2fb.c       Joe Perches               2013-09-19 @819  	fb_info(fb_info, "Mode %dx%d-%d pitch = %ld cable: %s video output: %s\n",
31b6780c drivers/video/pvr2fb.c       Joe Perches               2013-09-19  820  		fb_info->var.xres, fb_info->var.yres,
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  821  		fb_info->var.bits_per_pixel,
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  822  		get_line_length(fb_info->var.xres, fb_info->var.bits_per_pixel),
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16 @823  		(char *)pvr2_get_param(cables, NULL, cable_type, 3),
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  824  		(char *)pvr2_get_param(outputs, NULL, video_output, 3));
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  825  

:::::: The code at line 819 was first introduced by commit
:::::: 31b6780c15a4e3a90fe260e977f5186772ce7afb framebuffer: Use fb_<level>

:::::: TO: Joe Perches <joe@perches.com>
:::::: CC: Tomi Valkeinen <tomi.valkeinen@ti.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 69493 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] video: fbdev: pvr2fb: add COMPILE_TEST support
@ 2019-05-24  8:28     ` kbuild test robot
  0 siblings, 0 replies; 7+ messages in thread
From: kbuild test robot @ 2019-05-24  8:28 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz
  Cc: linux-fbdev, kbuild-all, dri-devel, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 14412 bytes --]

Hi Bartlomiej,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.2-rc1 next-20190524]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Bartlomiej-Zolnierkiewicz/video-fbdev-pvr2fb-remove-function-prototypes/20190524-145925
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   drivers/video//fbdev/pvr2fb.c: In function 'pvr2_get_param':
>> drivers/video//fbdev/pvr2fb.c:737:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        return (int)p[i].name;
               ^
   In file included from include/linux/kernel.h:15:0,
                    from include/linux/list.h:9,
                    from include/linux/module.h:9,
                    from drivers/video//fbdev/pvr2fb.c:48:
   drivers/video//fbdev/pvr2fb.c: In function 'pvr2fb_common_init':
>> drivers/video//fbdev/pvr2fb.c:823:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      (char *)pvr2_get_param(cables, NULL, cable_type, 3),
      ^
   include/linux/printk.h:311:34: note: in definition of macro 'pr_info'
     printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
                                     ^~~~~~~~~~~
>> drivers/video//fbdev/pvr2fb.c:819:2: note: in expansion of macro 'fb_info'
     fb_info(fb_info, "Mode %dx%d-%d pitch = %ld cable: %s video output: %s\n",
     ^~~~~~~
   drivers/video//fbdev/pvr2fb.c:824:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      (char *)pvr2_get_param(outputs, NULL, video_output, 3));
      ^
   include/linux/printk.h:311:34: note: in definition of macro 'pr_info'
     printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
                                     ^~~~~~~~~~~
>> drivers/video//fbdev/pvr2fb.c:819:2: note: in expansion of macro 'fb_info'
     fb_info(fb_info, "Mode %dx%d-%d pitch = %ld cable: %s video output: %s\n",
     ^~~~~~~

sparse warnings: (new ones prefixed by >>)

>> drivers/video/fbdev/pvr2fb.c:1050:11: sparse: sparse: Using plain integer as NULL pointer
>> drivers/video/fbdev/pvr2fb.c:737:46: sparse: sparse: non size-preserving pointer to integer cast
>> drivers/video/fbdev/pvr2fb.c:819:9: sparse: sparse: non size-preserving integer to pointer cast
>> drivers/video/fbdev/pvr2fb.c:819:9: sparse: sparse: non size-preserving integer to pointer cast

vim +/fb_info +819 drivers/video//fbdev/pvr2fb.c

970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  725  
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  726  static int pvr2_get_param(const struct pvr2_params *p, const char *s, int val,
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  727  			  int size)
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  728  {
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  729  	int i;
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  730  
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  731  	for (i = 0 ; i < size ; i++ ) {
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  732  		if (s != NULL) {
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  733  			if (!strncasecmp(p[i].name, s, strlen(s)))
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  734  				return p[i].val;
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  735  		} else {
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  736  			if (p[i].val == val)
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22 @737  				return (int)p[i].name;
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  738  		}
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  739  	}
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  740  	return -1;
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  741  }
970866e8 drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  742  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  743  /**
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  744   * pvr2fb_common_init
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  745   *
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  746   * Common init code for the PVR2 chips.
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  747   *
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  748   * This mostly takes care of the common aspects of the fb setup and
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  749   * registration. It's expected that the board-specific init code has
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  750   * already setup pvr2_fix with something meaningful at this point.
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  751   *
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  752   * Device info reporting is also done here, as well as picking a sane
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  753   * default from the modedb. For board-specific modelines, simply define
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  754   * a per-board modedb.
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  755   *
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  756   * Also worth noting is that the cable and video output types are likely
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  757   * always going to be VGA for the PCI-based PVR2 boards, but we leave this
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  758   * in for flexibility anyways. Who knows, maybe someone has tv-out on a
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  759   * PCI-based version of these things ;-)
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  760   */
c76c323b drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  761  static int __maybe_unused pvr2fb_common_init(void)
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  762  {
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  763  	struct pvr2fb_par *par = currentpar;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  764  	unsigned long modememused, rev;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  765  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  766  	fb_info->screen_base = ioremap_nocache(pvr2_fix.smem_start,
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  767  					       pvr2_fix.smem_len);
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  768  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  769  	if (!fb_info->screen_base) {
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  770  		printk(KERN_ERR "pvr2fb: Failed to remap smem space\n");
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  771  		goto out_err;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  772  	}
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  773  
c76c323b drivers/video/fbdev/pvr2fb.c Bartlomiej Zolnierkiewicz 2019-05-22  774  	par->mmio_base = ioremap_nocache(pvr2_fix.mmio_start,
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  775  					 pvr2_fix.mmio_len);
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  776  	if (!par->mmio_base) {
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  777  		printk(KERN_ERR "pvr2fb: Failed to remap mmio space\n");
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  778  		goto out_err;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  779  	}
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  780  
d2b06a8b drivers/video/pvr2fb.c       Paul Mundt                2006-09-27  781  	fb_memset(fb_info->screen_base, 0, pvr2_fix.smem_len);
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  782  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  783  	pvr2_fix.ypanstep	= nopan  ? 0 : 1;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  784  	pvr2_fix.ywrapstep	= nowrap ? 0 : 1;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  785  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  786  	fb_info->fbops		= &pvr2fb_ops;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  787  	fb_info->fix		= pvr2_fix;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  788  	fb_info->par		= currentpar;
9cd1c674 drivers/video/pvr2fb.c       Antonino A. Daplas        2007-08-10  789  	fb_info->pseudo_palette	= currentpar->palette;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  790  	fb_info->flags		= FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  791  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  792  	if (video_output == VO_VGA)
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  793  		defmode = DEFMODE_VGA;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  794  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  795  	if (!mode_option)
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  796  		mode_option = "640x480@60";
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  797  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  798  	if (!fb_find_mode(&fb_info->var, fb_info, mode_option, pvr2_modedb,
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  799  	                  NUM_TOTAL_MODES, &pvr2_modedb[defmode], 16))
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  800  		fb_info->var = pvr2_var;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  801  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  802  	fb_alloc_cmap(&fb_info->cmap, 256, 0);
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  803  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  804  	if (register_framebuffer(fb_info) < 0)
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  805  		goto out_err;
306c869c drivers/video/pvr2fb.c       Adrian McMenamin          2007-08-10  806  	/*Must write PIXDEPTH to register before anything is displayed - so force init */
306c869c drivers/video/pvr2fb.c       Adrian McMenamin          2007-08-10  807  	pvr2_init_display(fb_info);
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  808  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  809  	modememused = get_line_length(fb_info->var.xres_virtual,
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  810  				      fb_info->var.bits_per_pixel);
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  811  	modememused *= fb_info->var.yres_virtual;
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  812  
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  813  	rev = fb_readl(par->mmio_base + 0x04);
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  814  
31b6780c drivers/video/pvr2fb.c       Joe Perches               2013-09-19  815  	fb_info(fb_info, "%s (rev %ld.%ld) frame buffer device, using %ldk/%ldk of video memory\n",
31b6780c drivers/video/pvr2fb.c       Joe Perches               2013-09-19  816  		fb_info->fix.id, (rev >> 4) & 0x0f, rev & 0x0f,
31b6780c drivers/video/pvr2fb.c       Joe Perches               2013-09-19  817  		modememused >> 10,
31b6780c drivers/video/pvr2fb.c       Joe Perches               2013-09-19  818  		(unsigned long)(fb_info->fix.smem_len >> 10));
31b6780c drivers/video/pvr2fb.c       Joe Perches               2013-09-19 @819  	fb_info(fb_info, "Mode %dx%d-%d pitch = %ld cable: %s video output: %s\n",
31b6780c drivers/video/pvr2fb.c       Joe Perches               2013-09-19  820  		fb_info->var.xres, fb_info->var.yres,
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  821  		fb_info->var.bits_per_pixel,
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  822  		get_line_length(fb_info->var.xres, fb_info->var.bits_per_pixel),
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16 @823  		(char *)pvr2_get_param(cables, NULL, cable_type, 3),
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  824  		(char *)pvr2_get_param(outputs, NULL, video_output, 3));
^1da177e drivers/video/pvr2fb.c       Linus Torvalds            2005-04-16  825  

:::::: The code at line 819 was first introduced by commit
:::::: 31b6780c15a4e3a90fe260e977f5186772ce7afb framebuffer: Use fb_<level>

:::::: TO: Joe Perches <joe@perches.com>
:::::: CC: Tomi Valkeinen <tomi.valkeinen@ti.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 69493 bytes --]

[-- Attachment #3: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] video: fbdev: pvr2fb: add COMPILE_TEST support
  2019-05-22 10:16   ` Bartlomiej Zolnierkiewicz
  (?)
@ 2019-05-27  4:13     ` kbuild test robot
  -1 siblings, 0 replies; 7+ messages in thread
From: kbuild test robot @ 2019-05-27  4:13 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz
  Cc: kbuild-all, linux-fbdev, dri-devel, linux-kernel

Hi Bartlomiej,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.2-rc2 next-20190524]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Bartlomiej-Zolnierkiewicz/video-fbdev-pvr2fb-remove-function-prototypes/20190524-145925

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

smatch warnings:
drivers/video/fbdev/pvr2fb.c:467 pvr2fb_check_var() warn: unsigned 'var->xoffset' is never less than zero.
drivers/video/fbdev/pvr2fb.c:467 pvr2fb_check_var() warn: unsigned 'var->yoffset' is never less than zero.

vim +467 drivers/video/fbdev/pvr2fb.c

^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  430  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  431  static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  432  {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  433  	struct pvr2fb_par *par = (struct pvr2fb_par *)info->par;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  434  	unsigned int vtotal, hsync_total;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  435  	unsigned long line_length;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  436  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  437  	if (var->pixclock != TV_CLK && var->pixclock != VGA_CLK) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  438  		pr_debug("Invalid pixclock value %d\n", var->pixclock);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  439  		return -EINVAL;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  440  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  441  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  442  	if (var->xres < 320)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  443  		var->xres = 320;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  444  	if (var->yres < 240)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  445  		var->yres = 240;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  446  	if (var->xres_virtual < var->xres)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  447  		var->xres_virtual = var->xres;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  448  	if (var->yres_virtual < var->yres)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  449  		var->yres_virtual = var->yres;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  450  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  451  	if (var->bits_per_pixel <= 16)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  452  		var->bits_per_pixel = 16;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  453  	else if (var->bits_per_pixel <= 24)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  454  		var->bits_per_pixel = 24;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  455  	else if (var->bits_per_pixel <= 32)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  456  		var->bits_per_pixel = 32;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  457  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  458  	set_color_bitfields(var);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  459  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  460  	if (var->vmode & FB_VMODE_YWRAP) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  461  		if (var->xoffset || var->yoffset < 0 ||
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  462  		    var->yoffset >= var->yres_virtual) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  463  			var->xoffset = var->yoffset = 0;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  464  		} else {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  465  			if (var->xoffset > var->xres_virtual - var->xres ||
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  466  			    var->yoffset > var->yres_virtual - var->yres ||
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 @467  			    var->xoffset < 0 || var->yoffset < 0)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  468  				var->xoffset = var->yoffset = 0;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  469  		}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  470  	} else {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  471  		var->xoffset = var->yoffset = 0;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  472  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  473  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  474  	/*
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  475  	 * XXX: Need to be more creative with this (i.e. allow doublecan for
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  476  	 * PAL/NTSC output).
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  477  	 */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  478  	if (var->yres < 480 && video_output == VO_VGA)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  479  		var->vmode |= FB_VMODE_DOUBLE;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  480  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  481  	if (video_output != VO_VGA) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  482  		var->sync |= FB_SYNC_BROADCAST;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  483  		var->vmode |= FB_VMODE_INTERLACED;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  484  	} else {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  485  		var->sync &= ~FB_SYNC_BROADCAST;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  486  		var->vmode &= ~FB_VMODE_INTERLACED;
fcb1fec7 drivers/video/pvr2fb.c Paul Mundt     2008-03-06  487  		var->vmode |= FB_VMODE_NONINTERLACED;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  488  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  489  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  490  	if ((var->activate & FB_ACTIVATE_MASK) != FB_ACTIVATE_TEST) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  491  		var->right_margin = par->borderstop_h -
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  492  				   (par->diwstart_h + var->xres);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  493  		var->left_margin  = par->diwstart_h - par->borderstart_h;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  494  		var->hsync_len    = par->borderstart_h +
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  495  		                   (par->hsync_total - par->borderstop_h);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  496  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  497  		var->upper_margin = par->diwstart_v - par->borderstart_v;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  498  		var->lower_margin = par->borderstop_v -
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  499  				   (par->diwstart_v + var->yres);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  500  		var->vsync_len    = par->borderstop_v +
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  501  				   (par->vsync_total - par->borderstop_v);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  502  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  503  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  504  	hsync_total = var->left_margin + var->xres + var->right_margin +
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  505  		      var->hsync_len;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  506  	vtotal = var->upper_margin + var->yres + var->lower_margin +
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  507  		 var->vsync_len;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  508  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  509  	if (var->sync & FB_SYNC_BROADCAST) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  510  		if (var->vmode & FB_VMODE_INTERLACED)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  511  			vtotal /= 2;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  512  		if (vtotal > (PAL_VTOTAL + NTSC_VTOTAL)/2) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  513  			/* PAL video output */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  514  			/* XXX: Should be using a range here ... ? */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  515  			if (hsync_total != PAL_HTOTAL) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  516  				pr_debug("invalid hsync total for PAL\n");
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  517  				return -EINVAL;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  518  			}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  519  		} else {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  520  			/* NTSC video output */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  521  			if (hsync_total != NTSC_HTOTAL) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  522  				pr_debug("invalid hsync total for NTSC\n");
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  523  				return -EINVAL;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  524  			}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  525  		}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  526  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  527  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  528  	/* Check memory sizes */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  529  	line_length = get_line_length(var->xres_virtual, var->bits_per_pixel);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  530  	if (line_length * var->yres_virtual > info->fix.smem_len)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  531  		return -ENOMEM;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  532  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  533  	return 0;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  534  }
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  535  

:::::: The code at line 467 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] video: fbdev: pvr2fb: add COMPILE_TEST support
@ 2019-05-27  4:13     ` kbuild test robot
  0 siblings, 0 replies; 7+ messages in thread
From: kbuild test robot @ 2019-05-27  4:13 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz
  Cc: linux-fbdev, kbuild-all, dri-devel, linux-kernel

Hi Bartlomiej,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.2-rc2 next-20190524]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Bartlomiej-Zolnierkiewicz/video-fbdev-pvr2fb-remove-function-prototypes/20190524-145925

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

smatch warnings:
drivers/video/fbdev/pvr2fb.c:467 pvr2fb_check_var() warn: unsigned 'var->xoffset' is never less than zero.
drivers/video/fbdev/pvr2fb.c:467 pvr2fb_check_var() warn: unsigned 'var->yoffset' is never less than zero.

vim +467 drivers/video/fbdev/pvr2fb.c

^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  430  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  431  static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  432  {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  433  	struct pvr2fb_par *par = (struct pvr2fb_par *)info->par;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  434  	unsigned int vtotal, hsync_total;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  435  	unsigned long line_length;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  436  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  437  	if (var->pixclock != TV_CLK && var->pixclock != VGA_CLK) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  438  		pr_debug("Invalid pixclock value %d\n", var->pixclock);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  439  		return -EINVAL;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  440  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  441  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  442  	if (var->xres < 320)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  443  		var->xres = 320;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  444  	if (var->yres < 240)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  445  		var->yres = 240;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  446  	if (var->xres_virtual < var->xres)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  447  		var->xres_virtual = var->xres;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  448  	if (var->yres_virtual < var->yres)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  449  		var->yres_virtual = var->yres;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  450  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  451  	if (var->bits_per_pixel <= 16)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  452  		var->bits_per_pixel = 16;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  453  	else if (var->bits_per_pixel <= 24)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  454  		var->bits_per_pixel = 24;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  455  	else if (var->bits_per_pixel <= 32)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  456  		var->bits_per_pixel = 32;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  457  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  458  	set_color_bitfields(var);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  459  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  460  	if (var->vmode & FB_VMODE_YWRAP) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  461  		if (var->xoffset || var->yoffset < 0 ||
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  462  		    var->yoffset >= var->yres_virtual) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  463  			var->xoffset = var->yoffset = 0;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  464  		} else {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  465  			if (var->xoffset > var->xres_virtual - var->xres ||
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  466  			    var->yoffset > var->yres_virtual - var->yres ||
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 @467  			    var->xoffset < 0 || var->yoffset < 0)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  468  				var->xoffset = var->yoffset = 0;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  469  		}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  470  	} else {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  471  		var->xoffset = var->yoffset = 0;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  472  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  473  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  474  	/*
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  475  	 * XXX: Need to be more creative with this (i.e. allow doublecan for
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  476  	 * PAL/NTSC output).
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  477  	 */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  478  	if (var->yres < 480 && video_output = VO_VGA)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  479  		var->vmode |= FB_VMODE_DOUBLE;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  480  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  481  	if (video_output != VO_VGA) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  482  		var->sync |= FB_SYNC_BROADCAST;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  483  		var->vmode |= FB_VMODE_INTERLACED;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  484  	} else {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  485  		var->sync &= ~FB_SYNC_BROADCAST;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  486  		var->vmode &= ~FB_VMODE_INTERLACED;
fcb1fec7 drivers/video/pvr2fb.c Paul Mundt     2008-03-06  487  		var->vmode |= FB_VMODE_NONINTERLACED;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  488  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  489  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  490  	if ((var->activate & FB_ACTIVATE_MASK) != FB_ACTIVATE_TEST) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  491  		var->right_margin = par->borderstop_h -
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  492  				   (par->diwstart_h + var->xres);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  493  		var->left_margin  = par->diwstart_h - par->borderstart_h;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  494  		var->hsync_len    = par->borderstart_h +
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  495  		                   (par->hsync_total - par->borderstop_h);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  496  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  497  		var->upper_margin = par->diwstart_v - par->borderstart_v;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  498  		var->lower_margin = par->borderstop_v -
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  499  				   (par->diwstart_v + var->yres);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  500  		var->vsync_len    = par->borderstop_v +
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  501  				   (par->vsync_total - par->borderstop_v);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  502  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  503  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  504  	hsync_total = var->left_margin + var->xres + var->right_margin +
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  505  		      var->hsync_len;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  506  	vtotal = var->upper_margin + var->yres + var->lower_margin +
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  507  		 var->vsync_len;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  508  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  509  	if (var->sync & FB_SYNC_BROADCAST) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  510  		if (var->vmode & FB_VMODE_INTERLACED)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  511  			vtotal /= 2;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  512  		if (vtotal > (PAL_VTOTAL + NTSC_VTOTAL)/2) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  513  			/* PAL video output */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  514  			/* XXX: Should be using a range here ... ? */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  515  			if (hsync_total != PAL_HTOTAL) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  516  				pr_debug("invalid hsync total for PAL\n");
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  517  				return -EINVAL;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  518  			}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  519  		} else {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  520  			/* NTSC video output */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  521  			if (hsync_total != NTSC_HTOTAL) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  522  				pr_debug("invalid hsync total for NTSC\n");
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  523  				return -EINVAL;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  524  			}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  525  		}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  526  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  527  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  528  	/* Check memory sizes */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  529  	line_length = get_line_length(var->xres_virtual, var->bits_per_pixel);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  530  	if (line_length * var->yres_virtual > info->fix.smem_len)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  531  		return -ENOMEM;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  532  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  533  	return 0;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  534  }
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  535  

:::::: The code at line 467 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] video: fbdev: pvr2fb: add COMPILE_TEST support
@ 2019-05-27  4:13     ` kbuild test robot
  0 siblings, 0 replies; 7+ messages in thread
From: kbuild test robot @ 2019-05-27  4:13 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz
  Cc: linux-fbdev, kbuild-all, dri-devel, linux-kernel

Hi Bartlomiej,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.2-rc2 next-20190524]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Bartlomiej-Zolnierkiewicz/video-fbdev-pvr2fb-remove-function-prototypes/20190524-145925

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

smatch warnings:
drivers/video/fbdev/pvr2fb.c:467 pvr2fb_check_var() warn: unsigned 'var->xoffset' is never less than zero.
drivers/video/fbdev/pvr2fb.c:467 pvr2fb_check_var() warn: unsigned 'var->yoffset' is never less than zero.

vim +467 drivers/video/fbdev/pvr2fb.c

^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  430  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  431  static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  432  {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  433  	struct pvr2fb_par *par = (struct pvr2fb_par *)info->par;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  434  	unsigned int vtotal, hsync_total;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  435  	unsigned long line_length;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  436  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  437  	if (var->pixclock != TV_CLK && var->pixclock != VGA_CLK) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  438  		pr_debug("Invalid pixclock value %d\n", var->pixclock);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  439  		return -EINVAL;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  440  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  441  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  442  	if (var->xres < 320)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  443  		var->xres = 320;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  444  	if (var->yres < 240)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  445  		var->yres = 240;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  446  	if (var->xres_virtual < var->xres)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  447  		var->xres_virtual = var->xres;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  448  	if (var->yres_virtual < var->yres)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  449  		var->yres_virtual = var->yres;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  450  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  451  	if (var->bits_per_pixel <= 16)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  452  		var->bits_per_pixel = 16;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  453  	else if (var->bits_per_pixel <= 24)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  454  		var->bits_per_pixel = 24;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  455  	else if (var->bits_per_pixel <= 32)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  456  		var->bits_per_pixel = 32;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  457  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  458  	set_color_bitfields(var);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  459  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  460  	if (var->vmode & FB_VMODE_YWRAP) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  461  		if (var->xoffset || var->yoffset < 0 ||
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  462  		    var->yoffset >= var->yres_virtual) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  463  			var->xoffset = var->yoffset = 0;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  464  		} else {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  465  			if (var->xoffset > var->xres_virtual - var->xres ||
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  466  			    var->yoffset > var->yres_virtual - var->yres ||
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16 @467  			    var->xoffset < 0 || var->yoffset < 0)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  468  				var->xoffset = var->yoffset = 0;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  469  		}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  470  	} else {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  471  		var->xoffset = var->yoffset = 0;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  472  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  473  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  474  	/*
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  475  	 * XXX: Need to be more creative with this (i.e. allow doublecan for
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  476  	 * PAL/NTSC output).
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  477  	 */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  478  	if (var->yres < 480 && video_output == VO_VGA)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  479  		var->vmode |= FB_VMODE_DOUBLE;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  480  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  481  	if (video_output != VO_VGA) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  482  		var->sync |= FB_SYNC_BROADCAST;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  483  		var->vmode |= FB_VMODE_INTERLACED;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  484  	} else {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  485  		var->sync &= ~FB_SYNC_BROADCAST;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  486  		var->vmode &= ~FB_VMODE_INTERLACED;
fcb1fec7 drivers/video/pvr2fb.c Paul Mundt     2008-03-06  487  		var->vmode |= FB_VMODE_NONINTERLACED;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  488  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  489  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  490  	if ((var->activate & FB_ACTIVATE_MASK) != FB_ACTIVATE_TEST) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  491  		var->right_margin = par->borderstop_h -
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  492  				   (par->diwstart_h + var->xres);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  493  		var->left_margin  = par->diwstart_h - par->borderstart_h;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  494  		var->hsync_len    = par->borderstart_h +
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  495  		                   (par->hsync_total - par->borderstop_h);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  496  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  497  		var->upper_margin = par->diwstart_v - par->borderstart_v;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  498  		var->lower_margin = par->borderstop_v -
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  499  				   (par->diwstart_v + var->yres);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  500  		var->vsync_len    = par->borderstop_v +
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  501  				   (par->vsync_total - par->borderstop_v);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  502  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  503  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  504  	hsync_total = var->left_margin + var->xres + var->right_margin +
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  505  		      var->hsync_len;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  506  	vtotal = var->upper_margin + var->yres + var->lower_margin +
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  507  		 var->vsync_len;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  508  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  509  	if (var->sync & FB_SYNC_BROADCAST) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  510  		if (var->vmode & FB_VMODE_INTERLACED)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  511  			vtotal /= 2;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  512  		if (vtotal > (PAL_VTOTAL + NTSC_VTOTAL)/2) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  513  			/* PAL video output */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  514  			/* XXX: Should be using a range here ... ? */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  515  			if (hsync_total != PAL_HTOTAL) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  516  				pr_debug("invalid hsync total for PAL\n");
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  517  				return -EINVAL;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  518  			}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  519  		} else {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  520  			/* NTSC video output */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  521  			if (hsync_total != NTSC_HTOTAL) {
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  522  				pr_debug("invalid hsync total for NTSC\n");
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  523  				return -EINVAL;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  524  			}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  525  		}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  526  	}
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  527  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  528  	/* Check memory sizes */
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  529  	line_length = get_line_length(var->xres_virtual, var->bits_per_pixel);
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  530  	if (line_length * var->yres_virtual > info->fix.smem_len)
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  531  		return -ENOMEM;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  532  
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  533  	return 0;
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  534  }
^1da177e drivers/video/pvr2fb.c Linus Torvalds 2005-04-16  535  

:::::: The code at line 467 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-05-27  4:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20190522101651eucas1p18b5ce16f065cc83125b4bd97e141bdcd@eucas1p1.samsung.com>
2019-05-22 10:16 ` [PATCH 2/2] video: fbdev: pvr2fb: add COMPILE_TEST support Bartlomiej Zolnierkiewicz
2019-05-22 10:16   ` Bartlomiej Zolnierkiewicz
2019-05-24  8:28   ` kbuild test robot
2019-05-24  8:28     ` kbuild test robot
2019-05-27  4:13   ` kbuild test robot
2019-05-27  4:13     ` kbuild test robot
2019-05-27  4:13     ` kbuild test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.