* [PATCH] staging: sm750fb: make g_fbmode array const
@ 2026-07-01 4:14 Ruziev Miraly
2026-07-01 5:06 ` Dan Carpenter
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Ruziev Miraly @ 2026-07-01 4:14 UTC (permalink / raw)
To: gregkh, linux-staging; +Cc: linux-kernel, Ruziev Miraly
The g_fbmode array of pointers to constant strings is never modified.
Mark it as const to move it to the read-only data section (.rodata)
and comply with the Linux kernel coding style.
Signed-off-by: Ruziev Miraly <miraly.dev@gmail.com>
---
drivers/staging/sm750fb/sm750.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
index 89c811e08..8f533f3b1 100644
--- a/drivers/staging/sm750fb/sm750.c
+++ b/drivers/staging/sm750fb/sm750.c
@@ -21,7 +21,7 @@
static int g_hwcursor = 1;
static int g_noaccel __ro_after_init;
static int g_nomtrr __ro_after_init;
-static const char *g_fbmode[] = {NULL, NULL};
+static const char * const g_fbmode[] = {NULL, NULL};
static const char *g_def_fbmode = "1024x768-32@60";
static char *g_settings;
static int g_dualview __ro_after_init;
--
2.54.0
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [PATCH] staging: sm750fb: make g_fbmode array const 2026-07-01 4:14 [PATCH] staging: sm750fb: make g_fbmode array const Ruziev Miraly @ 2026-07-01 5:06 ` Dan Carpenter [not found] ` <CAOW+FoFQVdBXMVfF2n2eV0_2u71apaQM8fV+uO1JVasqcqq-vQ@mail.gmail.com> 2026-07-03 4:12 ` kernel test robot 2026-07-03 14:39 ` kernel test robot 2 siblings, 1 reply; 12+ messages in thread From: Dan Carpenter @ 2026-07-01 5:06 UTC (permalink / raw) To: Ruziev Miraly; +Cc: gregkh, linux-staging, linux-kernel On Wed, Jul 01, 2026 at 09:14:23AM +0500, Ruziev Miraly wrote: > The g_fbmode array of pointers to constant strings is never modified. > Mark it as const to move it to the read-only data section (.rodata) > and comply with the Linux kernel coding style. > > Signed-off-by: Ruziev Miraly <miraly.dev@gmail.com> > --- For old warnings, you should assume that maybe it's deliberate and look it up on lore to see why. regards, dan carpenter ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <CAOW+FoFQVdBXMVfF2n2eV0_2u71apaQM8fV+uO1JVasqcqq-vQ@mail.gmail.com>]
* Re: [PATCH] staging: sm750fb: make g_fbmode array const [not found] ` <CAOW+FoFQVdBXMVfF2n2eV0_2u71apaQM8fV+uO1JVasqcqq-vQ@mail.gmail.com> @ 2026-07-01 7:26 ` Greg KH 0 siblings, 0 replies; 12+ messages in thread From: Greg KH @ 2026-07-01 7:26 UTC (permalink / raw) To: Miraly; +Cc: Dan Carpenter, linux-staging, linux-kernel On Wed, Jul 01, 2026 at 11:52:48AM +0500, Miraly wrote: > Thanks for the tip. Also, always test-build your changes before sending them out to the world. That would have caught this error. good luck! greg k-h ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] staging: sm750fb: make g_fbmode array const 2026-07-01 4:14 [PATCH] staging: sm750fb: make g_fbmode array const Ruziev Miraly 2026-07-01 5:06 ` Dan Carpenter @ 2026-07-03 4:12 ` kernel test robot 2026-07-03 14:39 ` kernel test robot 2 siblings, 0 replies; 12+ messages in thread From: kernel test robot @ 2026-07-03 4:12 UTC (permalink / raw) To: Ruziev Miraly, gregkh, linux-staging Cc: oe-kbuild-all, linux-kernel, Ruziev Miraly Hi Ruziev, kernel test robot noticed the following build errors: [auto build test ERROR on staging/staging-testing] url: https://github.com/intel-lab-lkp/linux/commits/Ruziev-Miraly/staging-sm750fb-make-g_fbmode-array-const/20260701-121641 base: staging/staging-testing patch link: https://lore.kernel.org/r/20260701041423.7881-1-miraly.dev%40gmail.com patch subject: [PATCH] staging: sm750fb: make g_fbmode array const config: i386-randconfig-007-20250811 (https://download.01.org/0day-ci/archive/20260703/202607031226.ABjtbJaP-lkp@intel.com/config) compiler: gcc-14 (Debian 14.2.0-19) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260703/202607031226.ABjtbJaP-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202607031226.ABjtbJaP-lkp@intel.com/ All errors (new ones prefixed by >>): drivers/staging/sm750fb/sm750.c: In function 'lynxfb_set_fbinfo': >> drivers/staging/sm750fb/sm750.c:773:33: error: assignment of read-only location 'g_fbmode[index]' 773 | g_fbmode[index] = g_def_fbmode; | ^ drivers/staging/sm750fb/sm750.c:775:41: error: assignment of read-only location 'g_fbmode[index]' 775 | g_fbmode[index] = g_fbmode[0]; | ^ drivers/staging/sm750fb/sm750.c: In function 'sm750fb_setup': >> drivers/staging/sm750fb/sm750.c:884:45: error: assignment of read-only location 'g_fbmode[0]' 884 | g_fbmode[0] = opt; | ^ drivers/staging/sm750fb/sm750.c:888:45: error: assignment of read-only location 'g_fbmode[1]' 888 | g_fbmode[1] = opt; | ^ vim +773 drivers/staging/sm750fb/sm750.c 81dee67e215b23f Sudip Mukherjee 2015-03-03 707 81dee67e215b23f Sudip Mukherjee 2015-03-03 708 static int lynxfb_set_fbinfo(struct fb_info *info, int index) 81dee67e215b23f Sudip Mukherjee 2015-03-03 709 { 81dee67e215b23f Sudip Mukherjee 2015-03-03 710 int i; 81dee67e215b23f Sudip Mukherjee 2015-03-03 711 struct lynxfb_par *par; e359b6a863e19f2 Mike Rapoport 2015-10-26 712 struct sm750_dev *sm750_dev; 81dee67e215b23f Sudip Mukherjee 2015-03-03 713 struct lynxfb_crtc *crtc; 81dee67e215b23f Sudip Mukherjee 2015-03-03 714 struct lynxfb_output *output; 81dee67e215b23f Sudip Mukherjee 2015-03-03 715 struct fb_var_screeninfo *var; 81dee67e215b23f Sudip Mukherjee 2015-03-03 716 struct fb_fix_screeninfo *fix; 81dee67e215b23f Sudip Mukherjee 2015-03-03 717 81dee67e215b23f Sudip Mukherjee 2015-03-03 718 const struct fb_videomode *pdb[] = { 81dee67e215b23f Sudip Mukherjee 2015-03-03 719 lynx750_ext, NULL, vesa_modes, 81dee67e215b23f Sudip Mukherjee 2015-03-03 720 }; 81dee67e215b23f Sudip Mukherjee 2015-03-03 721 int cdb[] = {ARRAY_SIZE(lynx750_ext), 0, VESA_MODEDB_SIZE}; d0856045f0e9fc9 Hungyu Lin 2026-04-01 722 static const char * const fix_id[2] = { 81dee67e215b23f Sudip Mukherjee 2015-03-03 723 "sm750_fb1", "sm750_fb2", 81dee67e215b23f Sudip Mukherjee 2015-03-03 724 }; 81dee67e215b23f Sudip Mukherjee 2015-03-03 725 81dee67e215b23f Sudip Mukherjee 2015-03-03 726 int ret, line_length; 81dee67e215b23f Sudip Mukherjee 2015-03-03 727 81dee67e215b23f Sudip Mukherjee 2015-03-03 728 ret = 0; 81dee67e215b23f Sudip Mukherjee 2015-03-03 729 par = (struct lynxfb_par *)info->par; e359b6a863e19f2 Mike Rapoport 2015-10-26 730 sm750_dev = par->dev; 81dee67e215b23f Sudip Mukherjee 2015-03-03 731 crtc = &par->crtc; 81dee67e215b23f Sudip Mukherjee 2015-03-03 732 output = &par->output; 81dee67e215b23f Sudip Mukherjee 2015-03-03 733 var = &info->var; 81dee67e215b23f Sudip Mukherjee 2015-03-03 734 fix = &info->fix; 81dee67e215b23f Sudip Mukherjee 2015-03-03 735 81dee67e215b23f Sudip Mukherjee 2015-03-03 736 /* set index */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 737 par->index = index; 81dee67e215b23f Sudip Mukherjee 2015-03-03 738 output->channel = &crtc->channel; 81dee67e215b23f Sudip Mukherjee 2015-03-03 739 sm750fb_set_drv(par); 81dee67e215b23f Sudip Mukherjee 2015-03-03 740 d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 741 /* d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 742 * set current cursor variable and proc pointer, d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 743 * must be set after crtc member initialized d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 744 */ fdc234d85210d91 Benjamin Philip 2021-07-28 745 crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024; e359b6a863e19f2 Mike Rapoport 2015-10-26 746 crtc->cursor.mmio = sm750_dev->pvReg + e359b6a863e19f2 Mike Rapoport 2015-10-26 747 0x800f0 + (int)crtc->channel * 0x140; 81dee67e215b23f Sudip Mukherjee 2015-03-03 748 cd33da26036ea54 Christopher Carbone 2022-08-23 749 crtc->cursor.max_h = 64; cd33da26036ea54 Christopher Carbone 2022-08-23 750 crtc->cursor.max_w = 64; 39f9137268ee3df Benjamin Philip 2021-07-26 751 crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8; f50b4602fea62fe Jennifer Guo 2026-05-09 752 crtc->cursor.vstart = sm750_dev->vmem + crtc->cursor.offset; 81dee67e215b23f Sudip Mukherjee 2015-03-03 753 3de08a2d14ff8c7 Lorenzo Stoakes 2015-03-20 754 memset_io(crtc->cursor.vstart, 0, crtc->cursor.size); f7c8a046577e09d Thomas Zimmermann 2023-11-27 755 if (!g_hwcursor) 52d0744d751d8f1 Arnd Bergmann 2016-11-09 756 sm750_hw_cursor_disable(&crtc->cursor); 81dee67e215b23f Sudip Mukherjee 2015-03-03 757 81dee67e215b23f Sudip Mukherjee 2015-03-03 758 /* set info->fbops, must be set before fb_find_mode */ e359b6a863e19f2 Mike Rapoport 2015-10-26 759 if (!sm750_dev->accel_off) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 760 /* use 2d acceleration */ f7c8a046577e09d Thomas Zimmermann 2023-11-27 761 if (!g_hwcursor) f7c8a046577e09d Thomas Zimmermann 2023-11-27 762 info->fbops = &lynxfb_ops_accel; f7c8a046577e09d Thomas Zimmermann 2023-11-27 763 else f7c8a046577e09d Thomas Zimmermann 2023-11-27 764 info->fbops = &lynxfb_ops_accel_with_cursor; f7c8a046577e09d Thomas Zimmermann 2023-11-27 765 } else { f7c8a046577e09d Thomas Zimmermann 2023-11-27 766 if (!g_hwcursor) 81dee67e215b23f Sudip Mukherjee 2015-03-03 767 info->fbops = &lynxfb_ops; f7c8a046577e09d Thomas Zimmermann 2023-11-27 768 else f7c8a046577e09d Thomas Zimmermann 2023-11-27 769 info->fbops = &lynxfb_ops_with_cursor; f7c8a046577e09d Thomas Zimmermann 2023-11-27 770 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 771 81dee67e215b23f Sudip Mukherjee 2015-03-03 772 if (!g_fbmode[index]) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 @773 g_fbmode[index] = g_def_fbmode; 81dee67e215b23f Sudip Mukherjee 2015-03-03 774 if (index) 81dee67e215b23f Sudip Mukherjee 2015-03-03 775 g_fbmode[index] = g_fbmode[0]; 81dee67e215b23f Sudip Mukherjee 2015-03-03 776 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 777 81dee67e215b23f Sudip Mukherjee 2015-03-03 778 for (i = 0; i < 3; i++) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 779 ret = fb_find_mode(var, info, g_fbmode[index], 81dee67e215b23f Sudip Mukherjee 2015-03-03 780 pdb[i], cdb[i], NULL, 8); 81dee67e215b23f Sudip Mukherjee 2015-03-03 781 db7fb3588ab4920 Artem Lytkin 2026-02-23 782 if (ret == 1 || ret == 2) 81dee67e215b23f Sudip Mukherjee 2015-03-03 783 break; 81dee67e215b23f Sudip Mukherjee 2015-03-03 784 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 785 81dee67e215b23f Sudip Mukherjee 2015-03-03 786 /* set par */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 787 par->info = info; 81dee67e215b23f Sudip Mukherjee 2015-03-03 788 81dee67e215b23f Sudip Mukherjee 2015-03-03 789 /* set info */ e3a3f9f5123683b Mike Rapoport 2015-10-26 790 line_length = ALIGN((var->xres_virtual * var->bits_per_pixel / 8), e3a3f9f5123683b Mike Rapoport 2015-10-26 791 crtc->line_pad); 81dee67e215b23f Sudip Mukherjee 2015-03-03 792 81dee67e215b23f Sudip Mukherjee 2015-03-03 793 info->pseudo_palette = &par->pseudo_palette[0]; cc59bde1c920ab6 Benjamin Philip 2021-07-28 794 info->screen_base = crtc->v_screen; 81dee67e215b23f Sudip Mukherjee 2015-03-03 795 info->screen_size = line_length * var->yres_virtual; 81dee67e215b23f Sudip Mukherjee 2015-03-03 796 81dee67e215b23f Sudip Mukherjee 2015-03-03 797 /* set info->fix */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 798 fix->type = FB_TYPE_PACKED_PIXELS; 81dee67e215b23f Sudip Mukherjee 2015-03-03 799 fix->type_aux = 0; 81dee67e215b23f Sudip Mukherjee 2015-03-03 800 fix->xpanstep = crtc->xpanstep; 81dee67e215b23f Sudip Mukherjee 2015-03-03 801 fix->ypanstep = crtc->ypanstep; 81dee67e215b23f Sudip Mukherjee 2015-03-03 802 fix->ywrapstep = crtc->ywrapstep; 81dee67e215b23f Sudip Mukherjee 2015-03-03 803 fix->accel = FB_ACCEL_SMI; 81dee67e215b23f Sudip Mukherjee 2015-03-03 804 8c475735085a7db Tim Wassink 2025-12-21 805 strscpy(fix->id, fix_id[index], sizeof(fix->id)); 81dee67e215b23f Sudip Mukherjee 2015-03-03 806 fdc234d85210d91 Benjamin Philip 2021-07-28 807 fix->smem_start = crtc->o_screen + sm750_dev->vidmem_start; d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 808 /* d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 809 * according to mmap experiment from user space application, 81dee67e215b23f Sudip Mukherjee 2015-03-03 810 * fix->mmio_len should not larger than virtual size 81dee67e215b23f Sudip Mukherjee 2015-03-03 811 * (xres_virtual x yres_virtual x ByPP) 81dee67e215b23f Sudip Mukherjee 2015-03-03 812 * Below line maybe buggy when user mmap fb dev node and write 81dee67e215b23f Sudip Mukherjee 2015-03-03 813 * data into the bound over virtual size d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 814 */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 815 fix->smem_len = crtc->vidmem_size; 81dee67e215b23f Sudip Mukherjee 2015-03-03 816 info->screen_size = fix->smem_len; 81dee67e215b23f Sudip Mukherjee 2015-03-03 817 fix->line_length = line_length; e359b6a863e19f2 Mike Rapoport 2015-10-26 818 fix->mmio_start = sm750_dev->vidreg_start; e359b6a863e19f2 Mike Rapoport 2015-10-26 819 fix->mmio_len = sm750_dev->vidreg_size; b610e1193a917f4 Matej Dujava 2020-04-30 820 b610e1193a917f4 Matej Dujava 2020-04-30 821 lynxfb_set_visual_mode(info); 81dee67e215b23f Sudip Mukherjee 2015-03-03 822 81dee67e215b23f Sudip Mukherjee 2015-03-03 823 /* set var */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 824 var->activate = FB_ACTIVATE_NOW; 81dee67e215b23f Sudip Mukherjee 2015-03-03 825 var->accel_flags = 0; 81dee67e215b23f Sudip Mukherjee 2015-03-03 826 var->vmode = FB_VMODE_NONINTERLACED; 81dee67e215b23f Sudip Mukherjee 2015-03-03 827 61c507cf652da1b Michel von Czettritz 2015-03-26 828 ret = fb_alloc_cmap(&info->cmap, 256, 0); 61c507cf652da1b Michel von Czettritz 2015-03-26 829 if (ret < 0) { fbab250eb51d6d6 Artem Lytkin 2026-02-07 830 dev_err(info->device, "Could not allocate memory for cmap.\n"); 81dee67e215b23f Sudip Mukherjee 2015-03-03 831 goto exit; 81dee67e215b23f Sudip Mukherjee 2015-03-03 832 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 833 81dee67e215b23f Sudip Mukherjee 2015-03-03 834 exit: 81dee67e215b23f Sudip Mukherjee 2015-03-03 835 lynxfb_ops_check_var(var, info); 81dee67e215b23f Sudip Mukherjee 2015-03-03 836 return ret; 81dee67e215b23f Sudip Mukherjee 2015-03-03 837 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 838 81dee67e215b23f Sudip Mukherjee 2015-03-03 839 /* chip specific g_option configuration routine */ 700591a9adc8b1b Mike Rapoport 2015-10-26 840 static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src) 81dee67e215b23f Sudip Mukherjee 2015-03-03 841 { 81dee67e215b23f Sudip Mukherjee 2015-03-03 842 char *opt; 81dee67e215b23f Sudip Mukherjee 2015-03-03 843 int swap; 81dee67e215b23f Sudip Mukherjee 2015-03-03 844 81dee67e215b23f Sudip Mukherjee 2015-03-03 845 swap = 0; 81dee67e215b23f Sudip Mukherjee 2015-03-03 846 cc34db609ff98c1 Madhumitha Sundar 2026-01-27 847 sm750_dev->init_parm.chip_clk = 0; cc34db609ff98c1 Madhumitha Sundar 2026-01-27 848 sm750_dev->init_parm.mem_clk = 0; cc34db609ff98c1 Madhumitha Sundar 2026-01-27 849 sm750_dev->init_parm.master_clk = 0; 45a337c12624fc0 Jennifer Guo 2026-05-09 850 sm750_dev->init_parm.power_mode = 0; cc34db609ff98c1 Madhumitha Sundar 2026-01-27 851 sm750_dev->init_parm.setAllEngOff = 0; 45a337c12624fc0 Jennifer Guo 2026-05-09 852 sm750_dev->init_parm.reset_memory = 1; 81dee67e215b23f Sudip Mukherjee 2015-03-03 853 81dee67e215b23f Sudip Mukherjee 2015-03-03 854 /* defaultly turn g_hwcursor on for both view */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 855 g_hwcursor = 3; 81dee67e215b23f Sudip Mukherjee 2015-03-03 856 81dee67e215b23f Sudip Mukherjee 2015-03-03 857 if (!src || !*src) { c56de0967a658cb Elise Lennion 2016-10-31 858 dev_warn(&sm750_dev->pdev->dev, "no specific g_option.\n"); 81dee67e215b23f Sudip Mukherjee 2015-03-03 859 goto NO_PARAM; 81dee67e215b23f Sudip Mukherjee 2015-03-03 860 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 861 0fa96e39279988b Sudip Mukherjee 2015-03-10 862 while ((opt = strsep(&src, ":")) != NULL && *opt != 0) { c56de0967a658cb Elise Lennion 2016-10-31 863 dev_info(&sm750_dev->pdev->dev, "opt=%s\n", opt); c56de0967a658cb Elise Lennion 2016-10-31 864 dev_info(&sm750_dev->pdev->dev, "src=%s\n", src); 81dee67e215b23f Sudip Mukherjee 2015-03-03 865 144634a6b421468 Katie Dunne 2017-02-19 866 if (!strncmp(opt, "swap", strlen("swap"))) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 867 swap = 1; 144634a6b421468 Katie Dunne 2017-02-19 868 } else if (!strncmp(opt, "nocrt", strlen("nocrt"))) { 1757d106a9ce8cc Mike Rapoport 2015-10-26 869 sm750_dev->nocrt = 1; 144634a6b421468 Katie Dunne 2017-02-19 870 } else if (!strncmp(opt, "36bit", strlen("36bit"))) { 94c938a0c158635 Shubham Chakraborty 2026-04-07 871 sm750_dev->pnltype = SM750_DOUBLE_TFT; 144634a6b421468 Katie Dunne 2017-02-19 872 } else if (!strncmp(opt, "18bit", strlen("18bit"))) { 94c938a0c158635 Shubham Chakraborty 2026-04-07 873 sm750_dev->pnltype = SM750_DUAL_TFT; 144634a6b421468 Katie Dunne 2017-02-19 874 } else if (!strncmp(opt, "24bit", strlen("24bit"))) { 94c938a0c158635 Shubham Chakraborty 2026-04-07 875 sm750_dev->pnltype = SM750_24TFT; 144634a6b421468 Katie Dunne 2017-02-19 876 } else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 877 g_hwcursor &= ~0x1; 144634a6b421468 Katie Dunne 2017-02-19 878 } else if (!strncmp(opt, "nohwc1", strlen("nohwc1"))) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 879 g_hwcursor &= ~0x2; 144634a6b421468 Katie Dunne 2017-02-19 880 } else if (!strncmp(opt, "nohwc", strlen("nohwc"))) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 881 g_hwcursor = 0; 144634a6b421468 Katie Dunne 2017-02-19 882 } else { 81dee67e215b23f Sudip Mukherjee 2015-03-03 883 if (!g_fbmode[0]) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 @884 g_fbmode[0] = opt; cee9ba1c30d0517 Abdul Rauf 2017-01-08 885 dev_info(&sm750_dev->pdev->dev, cee9ba1c30d0517 Abdul Rauf 2017-01-08 886 "find fbmode0 : %s\n", g_fbmode[0]); 81dee67e215b23f Sudip Mukherjee 2015-03-03 887 } else if (!g_fbmode[1]) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 888 g_fbmode[1] = opt; cee9ba1c30d0517 Abdul Rauf 2017-01-08 889 dev_info(&sm750_dev->pdev->dev, cee9ba1c30d0517 Abdul Rauf 2017-01-08 890 "find fbmode1 : %s\n", g_fbmode[1]); 81dee67e215b23f Sudip Mukherjee 2015-03-03 891 } else { c56de0967a658cb Elise Lennion 2016-10-31 892 dev_warn(&sm750_dev->pdev->dev, "How many view you wann set?\n"); 81dee67e215b23f Sudip Mukherjee 2015-03-03 893 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 894 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 895 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 896 81dee67e215b23f Sudip Mukherjee 2015-03-03 897 NO_PARAM: e359b6a863e19f2 Mike Rapoport 2015-10-26 898 if (sm750_dev->revid != SM750LE_REVISION_ID) { a3f92cc94c6126d Mike Rapoport 2016-01-17 899 if (sm750_dev->fb_count > 1) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 900 if (swap) 1757d106a9ce8cc Mike Rapoport 2015-10-26 901 sm750_dev->dataflow = sm750_dual_swap; 81dee67e215b23f Sudip Mukherjee 2015-03-03 902 else 1757d106a9ce8cc Mike Rapoport 2015-10-26 903 sm750_dev->dataflow = sm750_dual_normal; 81dee67e215b23f Sudip Mukherjee 2015-03-03 904 } else { 81dee67e215b23f Sudip Mukherjee 2015-03-03 905 if (swap) 1757d106a9ce8cc Mike Rapoport 2015-10-26 906 sm750_dev->dataflow = sm750_simul_sec; 81dee67e215b23f Sudip Mukherjee 2015-03-03 907 else 1757d106a9ce8cc Mike Rapoport 2015-10-26 908 sm750_dev->dataflow = sm750_simul_pri; 81dee67e215b23f Sudip Mukherjee 2015-03-03 909 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 910 } else { 81dee67e215b23f Sudip Mukherjee 2015-03-03 911 /* SM750LE only have one crt channel */ 1757d106a9ce8cc Mike Rapoport 2015-10-26 912 sm750_dev->dataflow = sm750_simul_sec; 81dee67e215b23f Sudip Mukherjee 2015-03-03 913 /* sm750le do not have complex attributes */ 1757d106a9ce8cc Mike Rapoport 2015-10-26 914 sm750_dev->nocrt = 0; 81dee67e215b23f Sudip Mukherjee 2015-03-03 915 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 916 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 917 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] staging: sm750fb: make g_fbmode array const 2026-07-01 4:14 [PATCH] staging: sm750fb: make g_fbmode array const Ruziev Miraly 2026-07-01 5:06 ` Dan Carpenter 2026-07-03 4:12 ` kernel test robot @ 2026-07-03 14:39 ` kernel test robot 2 siblings, 0 replies; 12+ messages in thread From: kernel test robot @ 2026-07-03 14:39 UTC (permalink / raw) To: Ruziev Miraly, gregkh, linux-staging Cc: llvm, oe-kbuild-all, linux-kernel, Ruziev Miraly Hi Ruziev, kernel test robot noticed the following build errors: [auto build test ERROR on staging/staging-testing] url: https://github.com/intel-lab-lkp/linux/commits/Ruziev-Miraly/staging-sm750fb-make-g_fbmode-array-const/20260701-121641 base: staging/staging-testing patch link: https://lore.kernel.org/r/20260701041423.7881-1-miraly.dev%40gmail.com patch subject: [PATCH] staging: sm750fb: make g_fbmode array const config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20260703/202607032210.BKhFgGNP-lkp@intel.com/config) compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260703/202607032210.BKhFgGNP-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202607032210.BKhFgGNP-lkp@intel.com/ All errors (new ones prefixed by >>): >> drivers/staging/sm750fb/sm750.c:773:19: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]' 773 | g_fbmode[index] = g_def_fbmode; | ~~~~~~~~~~~~~~~ ^ drivers/staging/sm750fb/sm750.c:24:27: note: variable 'g_fbmode' declared const here 24 | static const char * const g_fbmode[] = {NULL, NULL}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/staging/sm750fb/sm750.c:775:20: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]' 775 | g_fbmode[index] = g_fbmode[0]; | ~~~~~~~~~~~~~~~ ^ drivers/staging/sm750fb/sm750.c:24:27: note: variable 'g_fbmode' declared const here 24 | static const char * const g_fbmode[] = {NULL, NULL}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/staging/sm750fb/sm750.c:884:17: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]' 884 | g_fbmode[0] = opt; | ~~~~~~~~~~~ ^ drivers/staging/sm750fb/sm750.c:24:27: note: variable 'g_fbmode' declared const here 24 | static const char * const g_fbmode[] = {NULL, NULL}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/staging/sm750fb/sm750.c:888:17: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]' 888 | g_fbmode[1] = opt; | ~~~~~~~~~~~ ^ drivers/staging/sm750fb/sm750.c:24:27: note: variable 'g_fbmode' declared const here 24 | static const char * const g_fbmode[] = {NULL, NULL}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 4 errors generated. vim +773 drivers/staging/sm750fb/sm750.c 81dee67e215b23f Sudip Mukherjee 2015-03-03 707 81dee67e215b23f Sudip Mukherjee 2015-03-03 708 static int lynxfb_set_fbinfo(struct fb_info *info, int index) 81dee67e215b23f Sudip Mukherjee 2015-03-03 709 { 81dee67e215b23f Sudip Mukherjee 2015-03-03 710 int i; 81dee67e215b23f Sudip Mukherjee 2015-03-03 711 struct lynxfb_par *par; e359b6a863e19f2 Mike Rapoport 2015-10-26 712 struct sm750_dev *sm750_dev; 81dee67e215b23f Sudip Mukherjee 2015-03-03 713 struct lynxfb_crtc *crtc; 81dee67e215b23f Sudip Mukherjee 2015-03-03 714 struct lynxfb_output *output; 81dee67e215b23f Sudip Mukherjee 2015-03-03 715 struct fb_var_screeninfo *var; 81dee67e215b23f Sudip Mukherjee 2015-03-03 716 struct fb_fix_screeninfo *fix; 81dee67e215b23f Sudip Mukherjee 2015-03-03 717 81dee67e215b23f Sudip Mukherjee 2015-03-03 718 const struct fb_videomode *pdb[] = { 81dee67e215b23f Sudip Mukherjee 2015-03-03 719 lynx750_ext, NULL, vesa_modes, 81dee67e215b23f Sudip Mukherjee 2015-03-03 720 }; 81dee67e215b23f Sudip Mukherjee 2015-03-03 721 int cdb[] = {ARRAY_SIZE(lynx750_ext), 0, VESA_MODEDB_SIZE}; d0856045f0e9fc9 Hungyu Lin 2026-04-01 722 static const char * const fix_id[2] = { 81dee67e215b23f Sudip Mukherjee 2015-03-03 723 "sm750_fb1", "sm750_fb2", 81dee67e215b23f Sudip Mukherjee 2015-03-03 724 }; 81dee67e215b23f Sudip Mukherjee 2015-03-03 725 81dee67e215b23f Sudip Mukherjee 2015-03-03 726 int ret, line_length; 81dee67e215b23f Sudip Mukherjee 2015-03-03 727 81dee67e215b23f Sudip Mukherjee 2015-03-03 728 ret = 0; 81dee67e215b23f Sudip Mukherjee 2015-03-03 729 par = (struct lynxfb_par *)info->par; e359b6a863e19f2 Mike Rapoport 2015-10-26 730 sm750_dev = par->dev; 81dee67e215b23f Sudip Mukherjee 2015-03-03 731 crtc = &par->crtc; 81dee67e215b23f Sudip Mukherjee 2015-03-03 732 output = &par->output; 81dee67e215b23f Sudip Mukherjee 2015-03-03 733 var = &info->var; 81dee67e215b23f Sudip Mukherjee 2015-03-03 734 fix = &info->fix; 81dee67e215b23f Sudip Mukherjee 2015-03-03 735 81dee67e215b23f Sudip Mukherjee 2015-03-03 736 /* set index */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 737 par->index = index; 81dee67e215b23f Sudip Mukherjee 2015-03-03 738 output->channel = &crtc->channel; 81dee67e215b23f Sudip Mukherjee 2015-03-03 739 sm750fb_set_drv(par); 81dee67e215b23f Sudip Mukherjee 2015-03-03 740 d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 741 /* d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 742 * set current cursor variable and proc pointer, d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 743 * must be set after crtc member initialized d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 744 */ fdc234d85210d91 Benjamin Philip 2021-07-28 745 crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024; e359b6a863e19f2 Mike Rapoport 2015-10-26 746 crtc->cursor.mmio = sm750_dev->pvReg + e359b6a863e19f2 Mike Rapoport 2015-10-26 747 0x800f0 + (int)crtc->channel * 0x140; 81dee67e215b23f Sudip Mukherjee 2015-03-03 748 cd33da26036ea54 Christopher Carbone 2022-08-23 749 crtc->cursor.max_h = 64; cd33da26036ea54 Christopher Carbone 2022-08-23 750 crtc->cursor.max_w = 64; 39f9137268ee3df Benjamin Philip 2021-07-26 751 crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8; f50b4602fea62fe Jennifer Guo 2026-05-09 752 crtc->cursor.vstart = sm750_dev->vmem + crtc->cursor.offset; 81dee67e215b23f Sudip Mukherjee 2015-03-03 753 3de08a2d14ff8c7 Lorenzo Stoakes 2015-03-20 754 memset_io(crtc->cursor.vstart, 0, crtc->cursor.size); f7c8a046577e09d Thomas Zimmermann 2023-11-27 755 if (!g_hwcursor) 52d0744d751d8f1 Arnd Bergmann 2016-11-09 756 sm750_hw_cursor_disable(&crtc->cursor); 81dee67e215b23f Sudip Mukherjee 2015-03-03 757 81dee67e215b23f Sudip Mukherjee 2015-03-03 758 /* set info->fbops, must be set before fb_find_mode */ e359b6a863e19f2 Mike Rapoport 2015-10-26 759 if (!sm750_dev->accel_off) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 760 /* use 2d acceleration */ f7c8a046577e09d Thomas Zimmermann 2023-11-27 761 if (!g_hwcursor) f7c8a046577e09d Thomas Zimmermann 2023-11-27 762 info->fbops = &lynxfb_ops_accel; f7c8a046577e09d Thomas Zimmermann 2023-11-27 763 else f7c8a046577e09d Thomas Zimmermann 2023-11-27 764 info->fbops = &lynxfb_ops_accel_with_cursor; f7c8a046577e09d Thomas Zimmermann 2023-11-27 765 } else { f7c8a046577e09d Thomas Zimmermann 2023-11-27 766 if (!g_hwcursor) 81dee67e215b23f Sudip Mukherjee 2015-03-03 767 info->fbops = &lynxfb_ops; f7c8a046577e09d Thomas Zimmermann 2023-11-27 768 else f7c8a046577e09d Thomas Zimmermann 2023-11-27 769 info->fbops = &lynxfb_ops_with_cursor; f7c8a046577e09d Thomas Zimmermann 2023-11-27 770 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 771 81dee67e215b23f Sudip Mukherjee 2015-03-03 772 if (!g_fbmode[index]) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 @773 g_fbmode[index] = g_def_fbmode; 81dee67e215b23f Sudip Mukherjee 2015-03-03 774 if (index) 81dee67e215b23f Sudip Mukherjee 2015-03-03 775 g_fbmode[index] = g_fbmode[0]; 81dee67e215b23f Sudip Mukherjee 2015-03-03 776 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 777 81dee67e215b23f Sudip Mukherjee 2015-03-03 778 for (i = 0; i < 3; i++) { 81dee67e215b23f Sudip Mukherjee 2015-03-03 779 ret = fb_find_mode(var, info, g_fbmode[index], 81dee67e215b23f Sudip Mukherjee 2015-03-03 780 pdb[i], cdb[i], NULL, 8); 81dee67e215b23f Sudip Mukherjee 2015-03-03 781 db7fb3588ab4920 Artem Lytkin 2026-02-23 782 if (ret == 1 || ret == 2) 81dee67e215b23f Sudip Mukherjee 2015-03-03 783 break; 81dee67e215b23f Sudip Mukherjee 2015-03-03 784 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 785 81dee67e215b23f Sudip Mukherjee 2015-03-03 786 /* set par */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 787 par->info = info; 81dee67e215b23f Sudip Mukherjee 2015-03-03 788 81dee67e215b23f Sudip Mukherjee 2015-03-03 789 /* set info */ e3a3f9f5123683b Mike Rapoport 2015-10-26 790 line_length = ALIGN((var->xres_virtual * var->bits_per_pixel / 8), e3a3f9f5123683b Mike Rapoport 2015-10-26 791 crtc->line_pad); 81dee67e215b23f Sudip Mukherjee 2015-03-03 792 81dee67e215b23f Sudip Mukherjee 2015-03-03 793 info->pseudo_palette = &par->pseudo_palette[0]; cc59bde1c920ab6 Benjamin Philip 2021-07-28 794 info->screen_base = crtc->v_screen; 81dee67e215b23f Sudip Mukherjee 2015-03-03 795 info->screen_size = line_length * var->yres_virtual; 81dee67e215b23f Sudip Mukherjee 2015-03-03 796 81dee67e215b23f Sudip Mukherjee 2015-03-03 797 /* set info->fix */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 798 fix->type = FB_TYPE_PACKED_PIXELS; 81dee67e215b23f Sudip Mukherjee 2015-03-03 799 fix->type_aux = 0; 81dee67e215b23f Sudip Mukherjee 2015-03-03 800 fix->xpanstep = crtc->xpanstep; 81dee67e215b23f Sudip Mukherjee 2015-03-03 801 fix->ypanstep = crtc->ypanstep; 81dee67e215b23f Sudip Mukherjee 2015-03-03 802 fix->ywrapstep = crtc->ywrapstep; 81dee67e215b23f Sudip Mukherjee 2015-03-03 803 fix->accel = FB_ACCEL_SMI; 81dee67e215b23f Sudip Mukherjee 2015-03-03 804 8c475735085a7db Tim Wassink 2025-12-21 805 strscpy(fix->id, fix_id[index], sizeof(fix->id)); 81dee67e215b23f Sudip Mukherjee 2015-03-03 806 fdc234d85210d91 Benjamin Philip 2021-07-28 807 fix->smem_start = crtc->o_screen + sm750_dev->vidmem_start; d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 808 /* d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 809 * according to mmap experiment from user space application, 81dee67e215b23f Sudip Mukherjee 2015-03-03 810 * fix->mmio_len should not larger than virtual size 81dee67e215b23f Sudip Mukherjee 2015-03-03 811 * (xres_virtual x yres_virtual x ByPP) 81dee67e215b23f Sudip Mukherjee 2015-03-03 812 * Below line maybe buggy when user mmap fb dev node and write 81dee67e215b23f Sudip Mukherjee 2015-03-03 813 * data into the bound over virtual size d11ac7cbcc266c6 Sudip Mukherjee 2015-08-07 814 */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 815 fix->smem_len = crtc->vidmem_size; 81dee67e215b23f Sudip Mukherjee 2015-03-03 816 info->screen_size = fix->smem_len; 81dee67e215b23f Sudip Mukherjee 2015-03-03 817 fix->line_length = line_length; e359b6a863e19f2 Mike Rapoport 2015-10-26 818 fix->mmio_start = sm750_dev->vidreg_start; e359b6a863e19f2 Mike Rapoport 2015-10-26 819 fix->mmio_len = sm750_dev->vidreg_size; b610e1193a917f4 Matej Dujava 2020-04-30 820 b610e1193a917f4 Matej Dujava 2020-04-30 821 lynxfb_set_visual_mode(info); 81dee67e215b23f Sudip Mukherjee 2015-03-03 822 81dee67e215b23f Sudip Mukherjee 2015-03-03 823 /* set var */ 81dee67e215b23f Sudip Mukherjee 2015-03-03 824 var->activate = FB_ACTIVATE_NOW; 81dee67e215b23f Sudip Mukherjee 2015-03-03 825 var->accel_flags = 0; 81dee67e215b23f Sudip Mukherjee 2015-03-03 826 var->vmode = FB_VMODE_NONINTERLACED; 81dee67e215b23f Sudip Mukherjee 2015-03-03 827 61c507cf652da1b Michel von Czettritz 2015-03-26 828 ret = fb_alloc_cmap(&info->cmap, 256, 0); 61c507cf652da1b Michel von Czettritz 2015-03-26 829 if (ret < 0) { fbab250eb51d6d6 Artem Lytkin 2026-02-07 830 dev_err(info->device, "Could not allocate memory for cmap.\n"); 81dee67e215b23f Sudip Mukherjee 2015-03-03 831 goto exit; 81dee67e215b23f Sudip Mukherjee 2015-03-03 832 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 833 81dee67e215b23f Sudip Mukherjee 2015-03-03 834 exit: 81dee67e215b23f Sudip Mukherjee 2015-03-03 835 lynxfb_ops_check_var(var, info); 81dee67e215b23f Sudip Mukherjee 2015-03-03 836 return ret; 81dee67e215b23f Sudip Mukherjee 2015-03-03 837 } 81dee67e215b23f Sudip Mukherjee 2015-03-03 838 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH] staging: sm750fb: make g_fbmode array const @ 2026-06-21 4:44 Arnav Kapoor 0 siblings, 0 replies; 12+ messages in thread From: Arnav Kapoor @ 2026-06-21 4:44 UTC (permalink / raw) To: Sudip Mukherjee, Teddy Wang, Greg Kroah-Hartman, open list:STAGING - SILICON MOTION SM750 FRAME BUFFER DRIVER, open list:STAGING SUBSYSTEM, open list Cc: Arnav Kapoor, open list:STAGING - SILICON MOTION SM750 FRAME BUFFER DRIVER, open list:STAGING SUBSYSTEM, open list From: arnavk23 <kapoorarnav43@gmail.com> checkpatch complains that a static const char * array should probably be static const char * const. Signed-off-by: Arnav Kapoor <kapoorarnav43@gmail.com> Signed-off-by: arnavk23 <kapoorarnav43@gmail.com> --- drivers/staging/sm750fb/sm750.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c index 9f3e3d37e..19c3da654 100644 --- a/drivers/staging/sm750fb/sm750.c +++ b/drivers/staging/sm750fb/sm750.c @@ -33,7 +33,7 @@ static int g_hwcursor = 1; static int g_noaccel; static int g_nomtrr; -static const char *g_fbmode[] = {NULL, NULL}; +static const char * const g_fbmode[] = {NULL, NULL}; static const char *g_def_fbmode = "1024x768-32@60"; static char *g_settings; static int g_dualview; -- 2.53.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH] staging: sm750fb: make g_fbmode array const @ 2026-06-09 1:17 Brock Haftner 2026-06-09 6:12 ` Ahmet Sezgin Duran 0 siblings, 1 reply; 12+ messages in thread From: Brock Haftner @ 2026-06-09 1:17 UTC (permalink / raw) To: Sudip Mukherjee, Teddy Wang, Greg Kroah-Hartman, outreachy Cc: linux-fbdev, linux-staging, linux-kernel, Brock Haftner The g_fbmode array is a static array of constant strings, but the pointer array itself is not marked as const. Fix the checkpatch.pl warning by adding the const modifier to the array declaration. Signed-off-by: Brock Haftner <brockhaftner@gmail.com> --- drivers/staging/sm750fb/sm750.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c index 89c811e0806c..8f533f3b1b42 100644 --- a/drivers/staging/sm750fb/sm750.c +++ b/drivers/staging/sm750fb/sm750.c @@ -21,7 +21,7 @@ static int g_hwcursor = 1; static int g_noaccel __ro_after_init; static int g_nomtrr __ro_after_init; -static const char *g_fbmode[] = {NULL, NULL}; +static const char * const g_fbmode[] = {NULL, NULL}; static const char *g_def_fbmode = "1024x768-32@60"; static char *g_settings; static int g_dualview __ro_after_init; -- 2.54.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] staging: sm750fb: make g_fbmode array const 2026-06-09 1:17 Brock Haftner @ 2026-06-09 6:12 ` Ahmet Sezgin Duran 2026-06-10 0:58 ` Brock Haftner 0 siblings, 1 reply; 12+ messages in thread From: Ahmet Sezgin Duran @ 2026-06-09 6:12 UTC (permalink / raw) To: Brock Haftner, Sudip Mukherjee, Teddy Wang, Greg Kroah-Hartman, outreachy Cc: linux-fbdev, linux-staging, linux-kernel On 6/9/26 4:17 AM, Brock Haftner wrote: > The g_fbmode array is a static array of constant strings, but the pointer > array itself is not marked as const. Fix the checkpatch.pl warning by > adding the const modifier to the array declaration. > > Signed-off-by: Brock Haftner <brockhaftner@gmail.com> > --- > drivers/staging/sm750fb/sm750.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c > index 89c811e0806c..8f533f3b1b42 100644 > --- a/drivers/staging/sm750fb/sm750.c > +++ b/drivers/staging/sm750fb/sm750.c > @@ -21,7 +21,7 @@ > static int g_hwcursor = 1; > static int g_noaccel __ro_after_init; > static int g_nomtrr __ro_after_init; > -static const char *g_fbmode[] = {NULL, NULL}; > +static const char * const g_fbmode[] = {NULL, NULL}; > static const char *g_def_fbmode = "1024x768-32@60"; > static char *g_settings; > static int g_dualview __ro_after_init; Did you compile this patch while enabling sm750fb driver in the config? Regards, Ahmet Sezgin Duran ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] staging: sm750fb: make g_fbmode array const 2026-06-09 6:12 ` Ahmet Sezgin Duran @ 2026-06-10 0:58 ` Brock Haftner 0 siblings, 0 replies; 12+ messages in thread From: Brock Haftner @ 2026-06-10 0:58 UTC (permalink / raw) To: Ahmet Sezgin Duran Cc: Sudip Mukherjee, Teddy Wang, Greg Kroah-Hartman, outreachy, linux-fbdev, linux-staging, linux-kernel On 6/8/26, Ahmet Sezgin Duran wrote: > Did you compile this patch while enabling sm750fb driver in the config? No, I did not. I apologize for the mistake. I ran make drivers/staging/sm750fb/ prior to submitting, however I failed to realize the driver was not enabled in my .config. Cheers, Brock ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH] staging: sm750fb: make g_fbmode array const @ 2026-02-02 2:32 James 2026-02-02 7:50 ` kernel test robot 2026-02-02 9:02 ` kernel test robot 0 siblings, 2 replies; 12+ messages in thread From: James @ 2026-02-02 2:32 UTC (permalink / raw) To: sudipm.mukherjee; +Cc: teddy.wang, linux-fbdev, linux-staging, gregkh, James Add missing const qualifier to g_fbmode array to resolve a checkpatch warning. No functional change intended. Signed-off-by: James <supernitsuasnowpee@gmail.com> --- drivers/staging/sm750fb/sm750.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c index fecd7457e615..15b5de33b8d9 100644 --- a/drivers/staging/sm750fb/sm750.c +++ b/drivers/staging/sm750fb/sm750.c @@ -33,7 +33,7 @@ static int g_hwcursor = 1; static int g_noaccel; static int g_nomtrr; -static const char *g_fbmode[] = {NULL, NULL}; +static const char * const g_fbmode[] = {NULL, NULL}; static const char *g_def_fbmode = "1024x768-32@60"; static char *g_settings; static int g_dualview; -- 2.52.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] staging: sm750fb: make g_fbmode array const 2026-02-02 2:32 James @ 2026-02-02 7:50 ` kernel test robot 2026-02-02 9:02 ` kernel test robot 1 sibling, 0 replies; 12+ messages in thread From: kernel test robot @ 2026-02-02 7:50 UTC (permalink / raw) To: James, sudipm.mukherjee Cc: oe-kbuild-all, teddy.wang, linux-fbdev, linux-staging, gregkh, James Hi James, kernel test robot noticed the following build errors: [auto build test ERROR on staging/staging-testing] url: https://github.com/intel-lab-lkp/linux/commits/James/staging-sm750fb-make-g_fbmode-array-const/20260202-103616 base: staging/staging-testing patch link: https://lore.kernel.org/r/20260202023253.67552-1-supernitsuasnowpee%40gmail.com patch subject: [PATCH] staging: sm750fb: make g_fbmode array const config: parisc-allmodconfig (https://download.01.org/0day-ci/archive/20260202/202602021517.sqf68PlG-lkp@intel.com/config) compiler: hppa-linux-gcc (GCC) 15.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260202/202602021517.sqf68PlG-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202602021517.sqf68PlG-lkp@intel.com/ All errors (new ones prefixed by >>): drivers/staging/sm750fb/sm750.c: In function 'lynxfb_set_fbinfo': >> drivers/staging/sm750fb/sm750.c:795:33: error: assignment of read-only location 'g_fbmode[index]' 795 | g_fbmode[index] = g_def_fbmode; | ^ drivers/staging/sm750fb/sm750.c:797:41: error: assignment of read-only location 'g_fbmode[index]' 797 | g_fbmode[index] = g_fbmode[0]; | ^ drivers/staging/sm750fb/sm750.c: In function 'sm750fb_setup': >> drivers/staging/sm750fb/sm750.c:958:45: error: assignment of read-only location 'g_fbmode[0]' 958 | g_fbmode[0] = opt; | ^ drivers/staging/sm750fb/sm750.c:962:45: error: assignment of read-only location 'g_fbmode[1]' 962 | g_fbmode[1] = opt; | ^ vim +795 drivers/staging/sm750fb/sm750.c 81dee67e215b23 Sudip Mukherjee 2015-03-03 722 81dee67e215b23 Sudip Mukherjee 2015-03-03 723 static int lynxfb_set_fbinfo(struct fb_info *info, int index) 81dee67e215b23 Sudip Mukherjee 2015-03-03 724 { 81dee67e215b23 Sudip Mukherjee 2015-03-03 725 int i; 81dee67e215b23 Sudip Mukherjee 2015-03-03 726 struct lynxfb_par *par; e359b6a863e19f Mike Rapoport 2015-10-26 727 struct sm750_dev *sm750_dev; 81dee67e215b23 Sudip Mukherjee 2015-03-03 728 struct lynxfb_crtc *crtc; 81dee67e215b23 Sudip Mukherjee 2015-03-03 729 struct lynxfb_output *output; 81dee67e215b23 Sudip Mukherjee 2015-03-03 730 struct fb_var_screeninfo *var; 81dee67e215b23 Sudip Mukherjee 2015-03-03 731 struct fb_fix_screeninfo *fix; 81dee67e215b23 Sudip Mukherjee 2015-03-03 732 81dee67e215b23 Sudip Mukherjee 2015-03-03 733 const struct fb_videomode *pdb[] = { 81dee67e215b23 Sudip Mukherjee 2015-03-03 734 lynx750_ext, NULL, vesa_modes, 81dee67e215b23 Sudip Mukherjee 2015-03-03 735 }; 81dee67e215b23 Sudip Mukherjee 2015-03-03 736 int cdb[] = {ARRAY_SIZE(lynx750_ext), 0, VESA_MODEDB_SIZE}; d5d66cfea2ca28 Kelsey Skunberg 2019-04-27 737 static const char * const mdb_desc[] = { 81dee67e215b23 Sudip Mukherjee 2015-03-03 738 "driver prepared modes", 81dee67e215b23 Sudip Mukherjee 2015-03-03 739 "kernel prepared default modedb", 81dee67e215b23 Sudip Mukherjee 2015-03-03 740 "kernel HELPERS prepared vesa_modes", 81dee67e215b23 Sudip Mukherjee 2015-03-03 741 }; 81dee67e215b23 Sudip Mukherjee 2015-03-03 742 8c475735085a7d Tim Wassink 2025-12-21 743 static const char *fix_id[2] = { 81dee67e215b23 Sudip Mukherjee 2015-03-03 744 "sm750_fb1", "sm750_fb2", 81dee67e215b23 Sudip Mukherjee 2015-03-03 745 }; 81dee67e215b23 Sudip Mukherjee 2015-03-03 746 81dee67e215b23 Sudip Mukherjee 2015-03-03 747 int ret, line_length; 81dee67e215b23 Sudip Mukherjee 2015-03-03 748 81dee67e215b23 Sudip Mukherjee 2015-03-03 749 ret = 0; 81dee67e215b23 Sudip Mukherjee 2015-03-03 750 par = (struct lynxfb_par *)info->par; e359b6a863e19f Mike Rapoport 2015-10-26 751 sm750_dev = par->dev; 81dee67e215b23 Sudip Mukherjee 2015-03-03 752 crtc = &par->crtc; 81dee67e215b23 Sudip Mukherjee 2015-03-03 753 output = &par->output; 81dee67e215b23 Sudip Mukherjee 2015-03-03 754 var = &info->var; 81dee67e215b23 Sudip Mukherjee 2015-03-03 755 fix = &info->fix; 81dee67e215b23 Sudip Mukherjee 2015-03-03 756 81dee67e215b23 Sudip Mukherjee 2015-03-03 757 /* set index */ 81dee67e215b23 Sudip Mukherjee 2015-03-03 758 par->index = index; 81dee67e215b23 Sudip Mukherjee 2015-03-03 759 output->channel = &crtc->channel; 81dee67e215b23 Sudip Mukherjee 2015-03-03 760 sm750fb_set_drv(par); 81dee67e215b23 Sudip Mukherjee 2015-03-03 761 d11ac7cbcc266c Sudip Mukherjee 2015-08-07 762 /* d11ac7cbcc266c Sudip Mukherjee 2015-08-07 763 * set current cursor variable and proc pointer, d11ac7cbcc266c Sudip Mukherjee 2015-08-07 764 * must be set after crtc member initialized d11ac7cbcc266c Sudip Mukherjee 2015-08-07 765 */ fdc234d85210d9 Benjamin Philip 2021-07-28 766 crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024; e359b6a863e19f Mike Rapoport 2015-10-26 767 crtc->cursor.mmio = sm750_dev->pvReg + e359b6a863e19f Mike Rapoport 2015-10-26 768 0x800f0 + (int)crtc->channel * 0x140; 81dee67e215b23 Sudip Mukherjee 2015-03-03 769 81dee67e215b23 Sudip Mukherjee 2015-03-03 770 pr_info("crtc->cursor.mmio = %p\n", crtc->cursor.mmio); cd33da26036ea5 Christopher Carbone 2022-08-23 771 crtc->cursor.max_h = 64; cd33da26036ea5 Christopher Carbone 2022-08-23 772 crtc->cursor.max_w = 64; 39f9137268ee3d Benjamin Philip 2021-07-26 773 crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8; e359b6a863e19f Mike Rapoport 2015-10-26 774 crtc->cursor.vstart = sm750_dev->pvMem + crtc->cursor.offset; 81dee67e215b23 Sudip Mukherjee 2015-03-03 775 3de08a2d14ff8c Lorenzo Stoakes 2015-03-20 776 memset_io(crtc->cursor.vstart, 0, crtc->cursor.size); f7c8a046577e09 Thomas Zimmermann 2023-11-27 777 if (!g_hwcursor) 52d0744d751d8f Arnd Bergmann 2016-11-09 778 sm750_hw_cursor_disable(&crtc->cursor); 81dee67e215b23 Sudip Mukherjee 2015-03-03 779 81dee67e215b23 Sudip Mukherjee 2015-03-03 780 /* set info->fbops, must be set before fb_find_mode */ e359b6a863e19f Mike Rapoport 2015-10-26 781 if (!sm750_dev->accel_off) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 782 /* use 2d acceleration */ f7c8a046577e09 Thomas Zimmermann 2023-11-27 783 if (!g_hwcursor) f7c8a046577e09 Thomas Zimmermann 2023-11-27 784 info->fbops = &lynxfb_ops_accel; f7c8a046577e09 Thomas Zimmermann 2023-11-27 785 else f7c8a046577e09 Thomas Zimmermann 2023-11-27 786 info->fbops = &lynxfb_ops_accel_with_cursor; f7c8a046577e09 Thomas Zimmermann 2023-11-27 787 } else { f7c8a046577e09 Thomas Zimmermann 2023-11-27 788 if (!g_hwcursor) 81dee67e215b23 Sudip Mukherjee 2015-03-03 789 info->fbops = &lynxfb_ops; f7c8a046577e09 Thomas Zimmermann 2023-11-27 790 else f7c8a046577e09 Thomas Zimmermann 2023-11-27 791 info->fbops = &lynxfb_ops_with_cursor; f7c8a046577e09 Thomas Zimmermann 2023-11-27 792 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 793 81dee67e215b23 Sudip Mukherjee 2015-03-03 794 if (!g_fbmode[index]) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 @795 g_fbmode[index] = g_def_fbmode; 81dee67e215b23 Sudip Mukherjee 2015-03-03 796 if (index) 81dee67e215b23 Sudip Mukherjee 2015-03-03 797 g_fbmode[index] = g_fbmode[0]; 81dee67e215b23 Sudip Mukherjee 2015-03-03 798 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 799 81dee67e215b23 Sudip Mukherjee 2015-03-03 800 for (i = 0; i < 3; i++) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 801 ret = fb_find_mode(var, info, g_fbmode[index], 81dee67e215b23 Sudip Mukherjee 2015-03-03 802 pdb[i], cdb[i], NULL, 8); 81dee67e215b23 Sudip Mukherjee 2015-03-03 803 81dee67e215b23 Sudip Mukherjee 2015-03-03 804 if (ret == 1) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 805 pr_info("success! use specified mode:%s in %s\n", 81dee67e215b23 Sudip Mukherjee 2015-03-03 806 g_fbmode[index], 81dee67e215b23 Sudip Mukherjee 2015-03-03 807 mdb_desc[i]); 81dee67e215b23 Sudip Mukherjee 2015-03-03 808 break; 81dee67e215b23 Sudip Mukherjee 2015-03-03 809 } else if (ret == 2) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 810 pr_warn("use specified mode:%s in %s,with an ignored refresh rate\n", 81dee67e215b23 Sudip Mukherjee 2015-03-03 811 g_fbmode[index], 81dee67e215b23 Sudip Mukherjee 2015-03-03 812 mdb_desc[i]); 81dee67e215b23 Sudip Mukherjee 2015-03-03 813 break; 81dee67e215b23 Sudip Mukherjee 2015-03-03 814 } else if (ret == 3) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 815 pr_warn("wanna use default mode\n"); 4bd9503d0becdb Michel von Czettritz 2015-03-26 816 /*break;*/ 81dee67e215b23 Sudip Mukherjee 2015-03-03 817 } else if (ret == 4) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 818 pr_warn("fall back to any valid mode\n"); 81dee67e215b23 Sudip Mukherjee 2015-03-03 819 } else { 3318bb5e945f70 Michel von Czettritz 2015-03-26 820 pr_warn("ret = %d,fb_find_mode failed,with %s\n", 3318bb5e945f70 Michel von Czettritz 2015-03-26 821 ret, 3318bb5e945f70 Michel von Czettritz 2015-03-26 822 mdb_desc[i]); 81dee67e215b23 Sudip Mukherjee 2015-03-03 823 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 824 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 825 81dee67e215b23 Sudip Mukherjee 2015-03-03 826 /* some member of info->var had been set by fb_find_mode */ 81dee67e215b23 Sudip Mukherjee 2015-03-03 827 271dbae3c6a1da Prasant Jalan 2017-04-01 828 pr_info("Member of info->var is :\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 829 "xres=%d\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 830 "yres=%d\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 831 "xres_virtual=%d\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 832 "yres_virtual=%d\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 833 "xoffset=%d\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 834 "yoffset=%d\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 835 "bits_per_pixel=%d\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 836 " ...\n", 3318bb5e945f70 Michel von Czettritz 2015-03-26 837 var->xres, 3318bb5e945f70 Michel von Czettritz 2015-03-26 838 var->yres, 3318bb5e945f70 Michel von Czettritz 2015-03-26 839 var->xres_virtual, 3318bb5e945f70 Michel von Czettritz 2015-03-26 840 var->yres_virtual, 3318bb5e945f70 Michel von Czettritz 2015-03-26 841 var->xoffset, 3318bb5e945f70 Michel von Czettritz 2015-03-26 842 var->yoffset, 3318bb5e945f70 Michel von Czettritz 2015-03-26 843 var->bits_per_pixel); 81dee67e215b23 Sudip Mukherjee 2015-03-03 844 81dee67e215b23 Sudip Mukherjee 2015-03-03 845 /* set par */ 81dee67e215b23 Sudip Mukherjee 2015-03-03 846 par->info = info; 81dee67e215b23 Sudip Mukherjee 2015-03-03 847 81dee67e215b23 Sudip Mukherjee 2015-03-03 848 /* set info */ e3a3f9f5123683 Mike Rapoport 2015-10-26 849 line_length = ALIGN((var->xres_virtual * var->bits_per_pixel / 8), e3a3f9f5123683 Mike Rapoport 2015-10-26 850 crtc->line_pad); 81dee67e215b23 Sudip Mukherjee 2015-03-03 851 81dee67e215b23 Sudip Mukherjee 2015-03-03 852 info->pseudo_palette = &par->pseudo_palette[0]; cc59bde1c920ab Benjamin Philip 2021-07-28 853 info->screen_base = crtc->v_screen; 81dee67e215b23 Sudip Mukherjee 2015-03-03 854 pr_debug("screen_base vaddr = %p\n", info->screen_base); 81dee67e215b23 Sudip Mukherjee 2015-03-03 855 info->screen_size = line_length * var->yres_virtual; 81dee67e215b23 Sudip Mukherjee 2015-03-03 856 81dee67e215b23 Sudip Mukherjee 2015-03-03 857 /* set info->fix */ 81dee67e215b23 Sudip Mukherjee 2015-03-03 858 fix->type = FB_TYPE_PACKED_PIXELS; 81dee67e215b23 Sudip Mukherjee 2015-03-03 859 fix->type_aux = 0; 81dee67e215b23 Sudip Mukherjee 2015-03-03 860 fix->xpanstep = crtc->xpanstep; 81dee67e215b23 Sudip Mukherjee 2015-03-03 861 fix->ypanstep = crtc->ypanstep; 81dee67e215b23 Sudip Mukherjee 2015-03-03 862 fix->ywrapstep = crtc->ywrapstep; 81dee67e215b23 Sudip Mukherjee 2015-03-03 863 fix->accel = FB_ACCEL_SMI; 81dee67e215b23 Sudip Mukherjee 2015-03-03 864 8c475735085a7d Tim Wassink 2025-12-21 865 strscpy(fix->id, fix_id[index], sizeof(fix->id)); 81dee67e215b23 Sudip Mukherjee 2015-03-03 866 fdc234d85210d9 Benjamin Philip 2021-07-28 867 fix->smem_start = crtc->o_screen + sm750_dev->vidmem_start; 81dee67e215b23 Sudip Mukherjee 2015-03-03 868 pr_info("fix->smem_start = %lx\n", fix->smem_start); d11ac7cbcc266c Sudip Mukherjee 2015-08-07 869 /* d11ac7cbcc266c Sudip Mukherjee 2015-08-07 870 * according to mmap experiment from user space application, 81dee67e215b23 Sudip Mukherjee 2015-03-03 871 * fix->mmio_len should not larger than virtual size 81dee67e215b23 Sudip Mukherjee 2015-03-03 872 * (xres_virtual x yres_virtual x ByPP) 81dee67e215b23 Sudip Mukherjee 2015-03-03 873 * Below line maybe buggy when user mmap fb dev node and write 81dee67e215b23 Sudip Mukherjee 2015-03-03 874 * data into the bound over virtual size d11ac7cbcc266c Sudip Mukherjee 2015-08-07 875 */ 81dee67e215b23 Sudip Mukherjee 2015-03-03 876 fix->smem_len = crtc->vidmem_size; 81dee67e215b23 Sudip Mukherjee 2015-03-03 877 pr_info("fix->smem_len = %x\n", fix->smem_len); 81dee67e215b23 Sudip Mukherjee 2015-03-03 878 info->screen_size = fix->smem_len; 81dee67e215b23 Sudip Mukherjee 2015-03-03 879 fix->line_length = line_length; e359b6a863e19f Mike Rapoport 2015-10-26 880 fix->mmio_start = sm750_dev->vidreg_start; 81dee67e215b23 Sudip Mukherjee 2015-03-03 881 pr_info("fix->mmio_start = %lx\n", fix->mmio_start); e359b6a863e19f Mike Rapoport 2015-10-26 882 fix->mmio_len = sm750_dev->vidreg_size; 81dee67e215b23 Sudip Mukherjee 2015-03-03 883 pr_info("fix->mmio_len = %x\n", fix->mmio_len); b610e1193a917f Matej Dujava 2020-04-30 884 b610e1193a917f Matej Dujava 2020-04-30 885 lynxfb_set_visual_mode(info); 81dee67e215b23 Sudip Mukherjee 2015-03-03 886 81dee67e215b23 Sudip Mukherjee 2015-03-03 887 /* set var */ 81dee67e215b23 Sudip Mukherjee 2015-03-03 888 var->activate = FB_ACTIVATE_NOW; 81dee67e215b23 Sudip Mukherjee 2015-03-03 889 var->accel_flags = 0; 81dee67e215b23 Sudip Mukherjee 2015-03-03 890 var->vmode = FB_VMODE_NONINTERLACED; 81dee67e215b23 Sudip Mukherjee 2015-03-03 891 81dee67e215b23 Sudip Mukherjee 2015-03-03 892 pr_debug("#1 show info->cmap :\nstart=%d,len=%d,red=%p,green=%p,blue=%p,transp=%p\n", 81dee67e215b23 Sudip Mukherjee 2015-03-03 893 info->cmap.start, info->cmap.len, 81dee67e215b23 Sudip Mukherjee 2015-03-03 894 info->cmap.red, info->cmap.green, info->cmap.blue, 81dee67e215b23 Sudip Mukherjee 2015-03-03 895 info->cmap.transp); 81dee67e215b23 Sudip Mukherjee 2015-03-03 896 61c507cf652da1 Michel von Czettritz 2015-03-26 897 ret = fb_alloc_cmap(&info->cmap, 256, 0); 61c507cf652da1 Michel von Czettritz 2015-03-26 898 if (ret < 0) { 008272072d61a8 Masanari Iida 2015-05-28 899 pr_err("Could not allocate memory for cmap.\n"); 81dee67e215b23 Sudip Mukherjee 2015-03-03 900 goto exit; 81dee67e215b23 Sudip Mukherjee 2015-03-03 901 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 902 81dee67e215b23 Sudip Mukherjee 2015-03-03 903 pr_debug("#2 show info->cmap :\nstart=%d,len=%d,red=%p,green=%p,blue=%p,transp=%p\n", 81dee67e215b23 Sudip Mukherjee 2015-03-03 904 info->cmap.start, info->cmap.len, 81dee67e215b23 Sudip Mukherjee 2015-03-03 905 info->cmap.red, info->cmap.green, info->cmap.blue, 81dee67e215b23 Sudip Mukherjee 2015-03-03 906 info->cmap.transp); 81dee67e215b23 Sudip Mukherjee 2015-03-03 907 81dee67e215b23 Sudip Mukherjee 2015-03-03 908 exit: 81dee67e215b23 Sudip Mukherjee 2015-03-03 909 lynxfb_ops_check_var(var, info); 81dee67e215b23 Sudip Mukherjee 2015-03-03 910 return ret; 81dee67e215b23 Sudip Mukherjee 2015-03-03 911 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 912 81dee67e215b23 Sudip Mukherjee 2015-03-03 913 /* chip specific g_option configuration routine */ 700591a9adc8b1 Mike Rapoport 2015-10-26 914 static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src) 81dee67e215b23 Sudip Mukherjee 2015-03-03 915 { 81dee67e215b23 Sudip Mukherjee 2015-03-03 916 char *opt; 81dee67e215b23 Sudip Mukherjee 2015-03-03 917 int swap; 81dee67e215b23 Sudip Mukherjee 2015-03-03 918 81dee67e215b23 Sudip Mukherjee 2015-03-03 919 swap = 0; 81dee67e215b23 Sudip Mukherjee 2015-03-03 920 cc34db609ff98c Madhumitha Sundar 2026-01-27 921 sm750_dev->init_parm.chip_clk = 0; cc34db609ff98c Madhumitha Sundar 2026-01-27 922 sm750_dev->init_parm.mem_clk = 0; cc34db609ff98c Madhumitha Sundar 2026-01-27 923 sm750_dev->init_parm.master_clk = 0; cc34db609ff98c Madhumitha Sundar 2026-01-27 924 sm750_dev->init_parm.powerMode = 0; cc34db609ff98c Madhumitha Sundar 2026-01-27 925 sm750_dev->init_parm.setAllEngOff = 0; cc34db609ff98c Madhumitha Sundar 2026-01-27 926 sm750_dev->init_parm.resetMemory = 1; 81dee67e215b23 Sudip Mukherjee 2015-03-03 927 81dee67e215b23 Sudip Mukherjee 2015-03-03 928 /* defaultly turn g_hwcursor on for both view */ 81dee67e215b23 Sudip Mukherjee 2015-03-03 929 g_hwcursor = 3; 81dee67e215b23 Sudip Mukherjee 2015-03-03 930 81dee67e215b23 Sudip Mukherjee 2015-03-03 931 if (!src || !*src) { c56de0967a658c Elise Lennion 2016-10-31 932 dev_warn(&sm750_dev->pdev->dev, "no specific g_option.\n"); 81dee67e215b23 Sudip Mukherjee 2015-03-03 933 goto NO_PARAM; 81dee67e215b23 Sudip Mukherjee 2015-03-03 934 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 935 0fa96e39279988 Sudip Mukherjee 2015-03-10 936 while ((opt = strsep(&src, ":")) != NULL && *opt != 0) { c56de0967a658c Elise Lennion 2016-10-31 937 dev_info(&sm750_dev->pdev->dev, "opt=%s\n", opt); c56de0967a658c Elise Lennion 2016-10-31 938 dev_info(&sm750_dev->pdev->dev, "src=%s\n", src); 81dee67e215b23 Sudip Mukherjee 2015-03-03 939 144634a6b42146 Katie Dunne 2017-02-19 940 if (!strncmp(opt, "swap", strlen("swap"))) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 941 swap = 1; 144634a6b42146 Katie Dunne 2017-02-19 942 } else if (!strncmp(opt, "nocrt", strlen("nocrt"))) { 1757d106a9ce8c Mike Rapoport 2015-10-26 943 sm750_dev->nocrt = 1; 144634a6b42146 Katie Dunne 2017-02-19 944 } else if (!strncmp(opt, "36bit", strlen("36bit"))) { 1757d106a9ce8c Mike Rapoport 2015-10-26 945 sm750_dev->pnltype = sm750_doubleTFT; 144634a6b42146 Katie Dunne 2017-02-19 946 } else if (!strncmp(opt, "18bit", strlen("18bit"))) { 1757d106a9ce8c Mike Rapoport 2015-10-26 947 sm750_dev->pnltype = sm750_dualTFT; 144634a6b42146 Katie Dunne 2017-02-19 948 } else if (!strncmp(opt, "24bit", strlen("24bit"))) { 1757d106a9ce8c Mike Rapoport 2015-10-26 949 sm750_dev->pnltype = sm750_24TFT; 144634a6b42146 Katie Dunne 2017-02-19 950 } else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 951 g_hwcursor &= ~0x1; 144634a6b42146 Katie Dunne 2017-02-19 952 } else if (!strncmp(opt, "nohwc1", strlen("nohwc1"))) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 953 g_hwcursor &= ~0x2; 144634a6b42146 Katie Dunne 2017-02-19 954 } else if (!strncmp(opt, "nohwc", strlen("nohwc"))) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 955 g_hwcursor = 0; 144634a6b42146 Katie Dunne 2017-02-19 956 } else { 81dee67e215b23 Sudip Mukherjee 2015-03-03 957 if (!g_fbmode[0]) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 @958 g_fbmode[0] = opt; cee9ba1c30d051 Abdul Rauf 2017-01-08 959 dev_info(&sm750_dev->pdev->dev, cee9ba1c30d051 Abdul Rauf 2017-01-08 960 "find fbmode0 : %s\n", g_fbmode[0]); 81dee67e215b23 Sudip Mukherjee 2015-03-03 961 } else if (!g_fbmode[1]) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 962 g_fbmode[1] = opt; cee9ba1c30d051 Abdul Rauf 2017-01-08 963 dev_info(&sm750_dev->pdev->dev, cee9ba1c30d051 Abdul Rauf 2017-01-08 964 "find fbmode1 : %s\n", g_fbmode[1]); 81dee67e215b23 Sudip Mukherjee 2015-03-03 965 } else { c56de0967a658c Elise Lennion 2016-10-31 966 dev_warn(&sm750_dev->pdev->dev, "How many view you wann set?\n"); 81dee67e215b23 Sudip Mukherjee 2015-03-03 967 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 968 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 969 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 970 81dee67e215b23 Sudip Mukherjee 2015-03-03 971 NO_PARAM: e359b6a863e19f Mike Rapoport 2015-10-26 972 if (sm750_dev->revid != SM750LE_REVISION_ID) { a3f92cc94c6126 Mike Rapoport 2016-01-17 973 if (sm750_dev->fb_count > 1) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 974 if (swap) 1757d106a9ce8c Mike Rapoport 2015-10-26 975 sm750_dev->dataflow = sm750_dual_swap; 81dee67e215b23 Sudip Mukherjee 2015-03-03 976 else 1757d106a9ce8c Mike Rapoport 2015-10-26 977 sm750_dev->dataflow = sm750_dual_normal; 81dee67e215b23 Sudip Mukherjee 2015-03-03 978 } else { 81dee67e215b23 Sudip Mukherjee 2015-03-03 979 if (swap) 1757d106a9ce8c Mike Rapoport 2015-10-26 980 sm750_dev->dataflow = sm750_simul_sec; 81dee67e215b23 Sudip Mukherjee 2015-03-03 981 else 1757d106a9ce8c Mike Rapoport 2015-10-26 982 sm750_dev->dataflow = sm750_simul_pri; 81dee67e215b23 Sudip Mukherjee 2015-03-03 983 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 984 } else { 81dee67e215b23 Sudip Mukherjee 2015-03-03 985 /* SM750LE only have one crt channel */ 1757d106a9ce8c Mike Rapoport 2015-10-26 986 sm750_dev->dataflow = sm750_simul_sec; 81dee67e215b23 Sudip Mukherjee 2015-03-03 987 /* sm750le do not have complex attributes */ 1757d106a9ce8c Mike Rapoport 2015-10-26 988 sm750_dev->nocrt = 0; 81dee67e215b23 Sudip Mukherjee 2015-03-03 989 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 990 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 991 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] staging: sm750fb: make g_fbmode array const 2026-02-02 2:32 James 2026-02-02 7:50 ` kernel test robot @ 2026-02-02 9:02 ` kernel test robot 1 sibling, 0 replies; 12+ messages in thread From: kernel test robot @ 2026-02-02 9:02 UTC (permalink / raw) To: James, sudipm.mukherjee Cc: llvm, oe-kbuild-all, teddy.wang, linux-fbdev, linux-staging, gregkh, James Hi James, kernel test robot noticed the following build errors: [auto build test ERROR on staging/staging-testing] url: https://github.com/intel-lab-lkp/linux/commits/James/staging-sm750fb-make-g_fbmode-array-const/20260202-103616 base: staging/staging-testing patch link: https://lore.kernel.org/r/20260202023253.67552-1-supernitsuasnowpee%40gmail.com patch subject: [PATCH] staging: sm750fb: make g_fbmode array const config: riscv-allmodconfig (https://download.01.org/0day-ci/archive/20260202/202602021649.9bGhL8np-lkp@intel.com/config) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9b8addffa70cee5b2acc5454712d9cf78ce45710) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260202/202602021649.9bGhL8np-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202602021649.9bGhL8np-lkp@intel.com/ All errors (new ones prefixed by >>): >> drivers/staging/sm750fb/sm750.c:795:19: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]' 795 | g_fbmode[index] = g_def_fbmode; | ~~~~~~~~~~~~~~~ ^ drivers/staging/sm750fb/sm750.c:36:27: note: variable 'g_fbmode' declared const here 36 | static const char * const g_fbmode[] = {NULL, NULL}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/staging/sm750fb/sm750.c:797:20: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]' 797 | g_fbmode[index] = g_fbmode[0]; | ~~~~~~~~~~~~~~~ ^ drivers/staging/sm750fb/sm750.c:36:27: note: variable 'g_fbmode' declared const here 36 | static const char * const g_fbmode[] = {NULL, NULL}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/staging/sm750fb/sm750.c:958:17: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]' 958 | g_fbmode[0] = opt; | ~~~~~~~~~~~ ^ drivers/staging/sm750fb/sm750.c:36:27: note: variable 'g_fbmode' declared const here 36 | static const char * const g_fbmode[] = {NULL, NULL}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/staging/sm750fb/sm750.c:962:17: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]' 962 | g_fbmode[1] = opt; | ~~~~~~~~~~~ ^ drivers/staging/sm750fb/sm750.c:36:27: note: variable 'g_fbmode' declared const here 36 | static const char * const g_fbmode[] = {NULL, NULL}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 4 errors generated. vim +795 drivers/staging/sm750fb/sm750.c 81dee67e215b23 Sudip Mukherjee 2015-03-03 722 81dee67e215b23 Sudip Mukherjee 2015-03-03 723 static int lynxfb_set_fbinfo(struct fb_info *info, int index) 81dee67e215b23 Sudip Mukherjee 2015-03-03 724 { 81dee67e215b23 Sudip Mukherjee 2015-03-03 725 int i; 81dee67e215b23 Sudip Mukherjee 2015-03-03 726 struct lynxfb_par *par; e359b6a863e19f Mike Rapoport 2015-10-26 727 struct sm750_dev *sm750_dev; 81dee67e215b23 Sudip Mukherjee 2015-03-03 728 struct lynxfb_crtc *crtc; 81dee67e215b23 Sudip Mukherjee 2015-03-03 729 struct lynxfb_output *output; 81dee67e215b23 Sudip Mukherjee 2015-03-03 730 struct fb_var_screeninfo *var; 81dee67e215b23 Sudip Mukherjee 2015-03-03 731 struct fb_fix_screeninfo *fix; 81dee67e215b23 Sudip Mukherjee 2015-03-03 732 81dee67e215b23 Sudip Mukherjee 2015-03-03 733 const struct fb_videomode *pdb[] = { 81dee67e215b23 Sudip Mukherjee 2015-03-03 734 lynx750_ext, NULL, vesa_modes, 81dee67e215b23 Sudip Mukherjee 2015-03-03 735 }; 81dee67e215b23 Sudip Mukherjee 2015-03-03 736 int cdb[] = {ARRAY_SIZE(lynx750_ext), 0, VESA_MODEDB_SIZE}; d5d66cfea2ca28 Kelsey Skunberg 2019-04-27 737 static const char * const mdb_desc[] = { 81dee67e215b23 Sudip Mukherjee 2015-03-03 738 "driver prepared modes", 81dee67e215b23 Sudip Mukherjee 2015-03-03 739 "kernel prepared default modedb", 81dee67e215b23 Sudip Mukherjee 2015-03-03 740 "kernel HELPERS prepared vesa_modes", 81dee67e215b23 Sudip Mukherjee 2015-03-03 741 }; 81dee67e215b23 Sudip Mukherjee 2015-03-03 742 8c475735085a7d Tim Wassink 2025-12-21 743 static const char *fix_id[2] = { 81dee67e215b23 Sudip Mukherjee 2015-03-03 744 "sm750_fb1", "sm750_fb2", 81dee67e215b23 Sudip Mukherjee 2015-03-03 745 }; 81dee67e215b23 Sudip Mukherjee 2015-03-03 746 81dee67e215b23 Sudip Mukherjee 2015-03-03 747 int ret, line_length; 81dee67e215b23 Sudip Mukherjee 2015-03-03 748 81dee67e215b23 Sudip Mukherjee 2015-03-03 749 ret = 0; 81dee67e215b23 Sudip Mukherjee 2015-03-03 750 par = (struct lynxfb_par *)info->par; e359b6a863e19f Mike Rapoport 2015-10-26 751 sm750_dev = par->dev; 81dee67e215b23 Sudip Mukherjee 2015-03-03 752 crtc = &par->crtc; 81dee67e215b23 Sudip Mukherjee 2015-03-03 753 output = &par->output; 81dee67e215b23 Sudip Mukherjee 2015-03-03 754 var = &info->var; 81dee67e215b23 Sudip Mukherjee 2015-03-03 755 fix = &info->fix; 81dee67e215b23 Sudip Mukherjee 2015-03-03 756 81dee67e215b23 Sudip Mukherjee 2015-03-03 757 /* set index */ 81dee67e215b23 Sudip Mukherjee 2015-03-03 758 par->index = index; 81dee67e215b23 Sudip Mukherjee 2015-03-03 759 output->channel = &crtc->channel; 81dee67e215b23 Sudip Mukherjee 2015-03-03 760 sm750fb_set_drv(par); 81dee67e215b23 Sudip Mukherjee 2015-03-03 761 d11ac7cbcc266c Sudip Mukherjee 2015-08-07 762 /* d11ac7cbcc266c Sudip Mukherjee 2015-08-07 763 * set current cursor variable and proc pointer, d11ac7cbcc266c Sudip Mukherjee 2015-08-07 764 * must be set after crtc member initialized d11ac7cbcc266c Sudip Mukherjee 2015-08-07 765 */ fdc234d85210d9 Benjamin Philip 2021-07-28 766 crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024; e359b6a863e19f Mike Rapoport 2015-10-26 767 crtc->cursor.mmio = sm750_dev->pvReg + e359b6a863e19f Mike Rapoport 2015-10-26 768 0x800f0 + (int)crtc->channel * 0x140; 81dee67e215b23 Sudip Mukherjee 2015-03-03 769 81dee67e215b23 Sudip Mukherjee 2015-03-03 770 pr_info("crtc->cursor.mmio = %p\n", crtc->cursor.mmio); cd33da26036ea5 Christopher Carbone 2022-08-23 771 crtc->cursor.max_h = 64; cd33da26036ea5 Christopher Carbone 2022-08-23 772 crtc->cursor.max_w = 64; 39f9137268ee3d Benjamin Philip 2021-07-26 773 crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8; e359b6a863e19f Mike Rapoport 2015-10-26 774 crtc->cursor.vstart = sm750_dev->pvMem + crtc->cursor.offset; 81dee67e215b23 Sudip Mukherjee 2015-03-03 775 3de08a2d14ff8c Lorenzo Stoakes 2015-03-20 776 memset_io(crtc->cursor.vstart, 0, crtc->cursor.size); f7c8a046577e09 Thomas Zimmermann 2023-11-27 777 if (!g_hwcursor) 52d0744d751d8f Arnd Bergmann 2016-11-09 778 sm750_hw_cursor_disable(&crtc->cursor); 81dee67e215b23 Sudip Mukherjee 2015-03-03 779 81dee67e215b23 Sudip Mukherjee 2015-03-03 780 /* set info->fbops, must be set before fb_find_mode */ e359b6a863e19f Mike Rapoport 2015-10-26 781 if (!sm750_dev->accel_off) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 782 /* use 2d acceleration */ f7c8a046577e09 Thomas Zimmermann 2023-11-27 783 if (!g_hwcursor) f7c8a046577e09 Thomas Zimmermann 2023-11-27 784 info->fbops = &lynxfb_ops_accel; f7c8a046577e09 Thomas Zimmermann 2023-11-27 785 else f7c8a046577e09 Thomas Zimmermann 2023-11-27 786 info->fbops = &lynxfb_ops_accel_with_cursor; f7c8a046577e09 Thomas Zimmermann 2023-11-27 787 } else { f7c8a046577e09 Thomas Zimmermann 2023-11-27 788 if (!g_hwcursor) 81dee67e215b23 Sudip Mukherjee 2015-03-03 789 info->fbops = &lynxfb_ops; f7c8a046577e09 Thomas Zimmermann 2023-11-27 790 else f7c8a046577e09 Thomas Zimmermann 2023-11-27 791 info->fbops = &lynxfb_ops_with_cursor; f7c8a046577e09 Thomas Zimmermann 2023-11-27 792 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 793 81dee67e215b23 Sudip Mukherjee 2015-03-03 794 if (!g_fbmode[index]) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 @795 g_fbmode[index] = g_def_fbmode; 81dee67e215b23 Sudip Mukherjee 2015-03-03 796 if (index) 81dee67e215b23 Sudip Mukherjee 2015-03-03 797 g_fbmode[index] = g_fbmode[0]; 81dee67e215b23 Sudip Mukherjee 2015-03-03 798 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 799 81dee67e215b23 Sudip Mukherjee 2015-03-03 800 for (i = 0; i < 3; i++) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 801 ret = fb_find_mode(var, info, g_fbmode[index], 81dee67e215b23 Sudip Mukherjee 2015-03-03 802 pdb[i], cdb[i], NULL, 8); 81dee67e215b23 Sudip Mukherjee 2015-03-03 803 81dee67e215b23 Sudip Mukherjee 2015-03-03 804 if (ret == 1) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 805 pr_info("success! use specified mode:%s in %s\n", 81dee67e215b23 Sudip Mukherjee 2015-03-03 806 g_fbmode[index], 81dee67e215b23 Sudip Mukherjee 2015-03-03 807 mdb_desc[i]); 81dee67e215b23 Sudip Mukherjee 2015-03-03 808 break; 81dee67e215b23 Sudip Mukherjee 2015-03-03 809 } else if (ret == 2) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 810 pr_warn("use specified mode:%s in %s,with an ignored refresh rate\n", 81dee67e215b23 Sudip Mukherjee 2015-03-03 811 g_fbmode[index], 81dee67e215b23 Sudip Mukherjee 2015-03-03 812 mdb_desc[i]); 81dee67e215b23 Sudip Mukherjee 2015-03-03 813 break; 81dee67e215b23 Sudip Mukherjee 2015-03-03 814 } else if (ret == 3) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 815 pr_warn("wanna use default mode\n"); 4bd9503d0becdb Michel von Czettritz 2015-03-26 816 /*break;*/ 81dee67e215b23 Sudip Mukherjee 2015-03-03 817 } else if (ret == 4) { 81dee67e215b23 Sudip Mukherjee 2015-03-03 818 pr_warn("fall back to any valid mode\n"); 81dee67e215b23 Sudip Mukherjee 2015-03-03 819 } else { 3318bb5e945f70 Michel von Czettritz 2015-03-26 820 pr_warn("ret = %d,fb_find_mode failed,with %s\n", 3318bb5e945f70 Michel von Czettritz 2015-03-26 821 ret, 3318bb5e945f70 Michel von Czettritz 2015-03-26 822 mdb_desc[i]); 81dee67e215b23 Sudip Mukherjee 2015-03-03 823 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 824 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 825 81dee67e215b23 Sudip Mukherjee 2015-03-03 826 /* some member of info->var had been set by fb_find_mode */ 81dee67e215b23 Sudip Mukherjee 2015-03-03 827 271dbae3c6a1da Prasant Jalan 2017-04-01 828 pr_info("Member of info->var is :\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 829 "xres=%d\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 830 "yres=%d\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 831 "xres_virtual=%d\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 832 "yres_virtual=%d\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 833 "xoffset=%d\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 834 "yoffset=%d\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 835 "bits_per_pixel=%d\n" 271dbae3c6a1da Prasant Jalan 2017-04-01 836 " ...\n", 3318bb5e945f70 Michel von Czettritz 2015-03-26 837 var->xres, 3318bb5e945f70 Michel von Czettritz 2015-03-26 838 var->yres, 3318bb5e945f70 Michel von Czettritz 2015-03-26 839 var->xres_virtual, 3318bb5e945f70 Michel von Czettritz 2015-03-26 840 var->yres_virtual, 3318bb5e945f70 Michel von Czettritz 2015-03-26 841 var->xoffset, 3318bb5e945f70 Michel von Czettritz 2015-03-26 842 var->yoffset, 3318bb5e945f70 Michel von Czettritz 2015-03-26 843 var->bits_per_pixel); 81dee67e215b23 Sudip Mukherjee 2015-03-03 844 81dee67e215b23 Sudip Mukherjee 2015-03-03 845 /* set par */ 81dee67e215b23 Sudip Mukherjee 2015-03-03 846 par->info = info; 81dee67e215b23 Sudip Mukherjee 2015-03-03 847 81dee67e215b23 Sudip Mukherjee 2015-03-03 848 /* set info */ e3a3f9f5123683 Mike Rapoport 2015-10-26 849 line_length = ALIGN((var->xres_virtual * var->bits_per_pixel / 8), e3a3f9f5123683 Mike Rapoport 2015-10-26 850 crtc->line_pad); 81dee67e215b23 Sudip Mukherjee 2015-03-03 851 81dee67e215b23 Sudip Mukherjee 2015-03-03 852 info->pseudo_palette = &par->pseudo_palette[0]; cc59bde1c920ab Benjamin Philip 2021-07-28 853 info->screen_base = crtc->v_screen; 81dee67e215b23 Sudip Mukherjee 2015-03-03 854 pr_debug("screen_base vaddr = %p\n", info->screen_base); 81dee67e215b23 Sudip Mukherjee 2015-03-03 855 info->screen_size = line_length * var->yres_virtual; 81dee67e215b23 Sudip Mukherjee 2015-03-03 856 81dee67e215b23 Sudip Mukherjee 2015-03-03 857 /* set info->fix */ 81dee67e215b23 Sudip Mukherjee 2015-03-03 858 fix->type = FB_TYPE_PACKED_PIXELS; 81dee67e215b23 Sudip Mukherjee 2015-03-03 859 fix->type_aux = 0; 81dee67e215b23 Sudip Mukherjee 2015-03-03 860 fix->xpanstep = crtc->xpanstep; 81dee67e215b23 Sudip Mukherjee 2015-03-03 861 fix->ypanstep = crtc->ypanstep; 81dee67e215b23 Sudip Mukherjee 2015-03-03 862 fix->ywrapstep = crtc->ywrapstep; 81dee67e215b23 Sudip Mukherjee 2015-03-03 863 fix->accel = FB_ACCEL_SMI; 81dee67e215b23 Sudip Mukherjee 2015-03-03 864 8c475735085a7d Tim Wassink 2025-12-21 865 strscpy(fix->id, fix_id[index], sizeof(fix->id)); 81dee67e215b23 Sudip Mukherjee 2015-03-03 866 fdc234d85210d9 Benjamin Philip 2021-07-28 867 fix->smem_start = crtc->o_screen + sm750_dev->vidmem_start; 81dee67e215b23 Sudip Mukherjee 2015-03-03 868 pr_info("fix->smem_start = %lx\n", fix->smem_start); d11ac7cbcc266c Sudip Mukherjee 2015-08-07 869 /* d11ac7cbcc266c Sudip Mukherjee 2015-08-07 870 * according to mmap experiment from user space application, 81dee67e215b23 Sudip Mukherjee 2015-03-03 871 * fix->mmio_len should not larger than virtual size 81dee67e215b23 Sudip Mukherjee 2015-03-03 872 * (xres_virtual x yres_virtual x ByPP) 81dee67e215b23 Sudip Mukherjee 2015-03-03 873 * Below line maybe buggy when user mmap fb dev node and write 81dee67e215b23 Sudip Mukherjee 2015-03-03 874 * data into the bound over virtual size d11ac7cbcc266c Sudip Mukherjee 2015-08-07 875 */ 81dee67e215b23 Sudip Mukherjee 2015-03-03 876 fix->smem_len = crtc->vidmem_size; 81dee67e215b23 Sudip Mukherjee 2015-03-03 877 pr_info("fix->smem_len = %x\n", fix->smem_len); 81dee67e215b23 Sudip Mukherjee 2015-03-03 878 info->screen_size = fix->smem_len; 81dee67e215b23 Sudip Mukherjee 2015-03-03 879 fix->line_length = line_length; e359b6a863e19f Mike Rapoport 2015-10-26 880 fix->mmio_start = sm750_dev->vidreg_start; 81dee67e215b23 Sudip Mukherjee 2015-03-03 881 pr_info("fix->mmio_start = %lx\n", fix->mmio_start); e359b6a863e19f Mike Rapoport 2015-10-26 882 fix->mmio_len = sm750_dev->vidreg_size; 81dee67e215b23 Sudip Mukherjee 2015-03-03 883 pr_info("fix->mmio_len = %x\n", fix->mmio_len); b610e1193a917f Matej Dujava 2020-04-30 884 b610e1193a917f Matej Dujava 2020-04-30 885 lynxfb_set_visual_mode(info); 81dee67e215b23 Sudip Mukherjee 2015-03-03 886 81dee67e215b23 Sudip Mukherjee 2015-03-03 887 /* set var */ 81dee67e215b23 Sudip Mukherjee 2015-03-03 888 var->activate = FB_ACTIVATE_NOW; 81dee67e215b23 Sudip Mukherjee 2015-03-03 889 var->accel_flags = 0; 81dee67e215b23 Sudip Mukherjee 2015-03-03 890 var->vmode = FB_VMODE_NONINTERLACED; 81dee67e215b23 Sudip Mukherjee 2015-03-03 891 81dee67e215b23 Sudip Mukherjee 2015-03-03 892 pr_debug("#1 show info->cmap :\nstart=%d,len=%d,red=%p,green=%p,blue=%p,transp=%p\n", 81dee67e215b23 Sudip Mukherjee 2015-03-03 893 info->cmap.start, info->cmap.len, 81dee67e215b23 Sudip Mukherjee 2015-03-03 894 info->cmap.red, info->cmap.green, info->cmap.blue, 81dee67e215b23 Sudip Mukherjee 2015-03-03 895 info->cmap.transp); 81dee67e215b23 Sudip Mukherjee 2015-03-03 896 61c507cf652da1 Michel von Czettritz 2015-03-26 897 ret = fb_alloc_cmap(&info->cmap, 256, 0); 61c507cf652da1 Michel von Czettritz 2015-03-26 898 if (ret < 0) { 008272072d61a8 Masanari Iida 2015-05-28 899 pr_err("Could not allocate memory for cmap.\n"); 81dee67e215b23 Sudip Mukherjee 2015-03-03 900 goto exit; 81dee67e215b23 Sudip Mukherjee 2015-03-03 901 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 902 81dee67e215b23 Sudip Mukherjee 2015-03-03 903 pr_debug("#2 show info->cmap :\nstart=%d,len=%d,red=%p,green=%p,blue=%p,transp=%p\n", 81dee67e215b23 Sudip Mukherjee 2015-03-03 904 info->cmap.start, info->cmap.len, 81dee67e215b23 Sudip Mukherjee 2015-03-03 905 info->cmap.red, info->cmap.green, info->cmap.blue, 81dee67e215b23 Sudip Mukherjee 2015-03-03 906 info->cmap.transp); 81dee67e215b23 Sudip Mukherjee 2015-03-03 907 81dee67e215b23 Sudip Mukherjee 2015-03-03 908 exit: 81dee67e215b23 Sudip Mukherjee 2015-03-03 909 lynxfb_ops_check_var(var, info); 81dee67e215b23 Sudip Mukherjee 2015-03-03 910 return ret; 81dee67e215b23 Sudip Mukherjee 2015-03-03 911 } 81dee67e215b23 Sudip Mukherjee 2015-03-03 912 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2026-07-03 14:39 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-01 4:14 [PATCH] staging: sm750fb: make g_fbmode array const Ruziev Miraly
2026-07-01 5:06 ` Dan Carpenter
[not found] ` <CAOW+FoFQVdBXMVfF2n2eV0_2u71apaQM8fV+uO1JVasqcqq-vQ@mail.gmail.com>
2026-07-01 7:26 ` Greg KH
2026-07-03 4:12 ` kernel test robot
2026-07-03 14:39 ` kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2026-06-21 4:44 Arnav Kapoor
2026-06-09 1:17 Brock Haftner
2026-06-09 6:12 ` Ahmet Sezgin Duran
2026-06-10 0:58 ` Brock Haftner
2026-02-02 2:32 James
2026-02-02 7:50 ` kernel test robot
2026-02-02 9:02 ` kernel 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.