* [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.