The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH] staging: sm750fb: add const to g_fbmode array
@ 2026-05-06  3:56 Chaitanya Sabnis
  2026-05-06  6:27 ` Ahmet Sezgin Duran
  2026-05-11 20:42 ` kernel test robot
  0 siblings, 2 replies; 11+ messages in thread
From: Chaitanya Sabnis @ 2026-05-06  3:56 UTC (permalink / raw)
  To: sudipm.mukherjee, teddy.wang, gregkh
  Cc: linux-fbdev, linux-staging, linux-kernel, Chaitanya Sabnis

Fix a checkpatch warning by changing the `g_fbmode` array of
pointers to be `static const char * const`. This ensures that both
the strings and the array of pointers are placed in read-only memory,
preventing unintended modifications and improving security.

Signed-off-by: Chaitanya Sabnis <chaitanya.msabnis@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 dec1f6b88a7d..08d4979c6755 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.43.0


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

* Re: [PATCH] staging: sm750fb: add const to g_fbmode array
  2026-05-06  3:56 [PATCH] staging: sm750fb: add const to g_fbmode array Chaitanya Sabnis
@ 2026-05-06  6:27 ` Ahmet Sezgin Duran
  2026-05-06  7:14   ` Chaitanya Sabnis
  2026-05-11 20:42 ` kernel test robot
  1 sibling, 1 reply; 11+ messages in thread
From: Ahmet Sezgin Duran @ 2026-05-06  6:27 UTC (permalink / raw)
  To: Chaitanya Sabnis, sudipm.mukherjee, teddy.wang, gregkh
  Cc: linux-fbdev, linux-staging, linux-kernel

On 5/6/26 6:56 AM, Chaitanya Sabnis wrote:
> Fix a checkpatch warning by changing the `g_fbmode` array of
> pointers to be `static const char * const`. This ensures that both
> the strings and the array of pointers are placed in read-only memory,
> preventing unintended modifications and improving security.
> 
> Signed-off-by: Chaitanya Sabnis <chaitanya.msabnis@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 dec1f6b88a7d..08d4979c6755 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;

Did you compile these changes?

Regards,
Ahmet Sezgin Duran

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

* Re: [PATCH] staging: sm750fb: add const to g_fbmode array
  2026-05-06  6:27 ` Ahmet Sezgin Duran
@ 2026-05-06  7:14   ` Chaitanya Sabnis
  2026-05-06 10:36     ` Ahmet Sezgin Duran
  0 siblings, 1 reply; 11+ messages in thread
From: Chaitanya Sabnis @ 2026-05-06  7:14 UTC (permalink / raw)
  To: Ahmet Sezgin Duran
  Cc: sudipm.mukherjee, teddy.wang, gregkh, linux-fbdev, linux-staging,
	linux-kernel

On Wed, May 6, 2026 at 11:57 AM Ahmet Sezgin Duran ahmet@sezginduran.net wrote:

Did you compile these changes?

Yes, I have verified the changes by compiling the driver with: make
M=drivers/staging/sm750fb/

The build completed successfully without errors.

Regards,
Chaitanya

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

* Re: [PATCH] staging: sm750fb: add const to g_fbmode array
  2026-05-06  7:14   ` Chaitanya Sabnis
@ 2026-05-06 10:36     ` Ahmet Sezgin Duran
  2026-05-06 10:44       ` Chaitanya Sabnis
  0 siblings, 1 reply; 11+ messages in thread
From: Ahmet Sezgin Duran @ 2026-05-06 10:36 UTC (permalink / raw)
  To: Chaitanya Sabnis
  Cc: sudipm.mukherjee, teddy.wang, gregkh, linux-fbdev, linux-staging,
	linux-kernel

On 5/6/26 10:14 AM, Chaitanya Sabnis wrote:
> On Wed, May 6, 2026 at 11:57 AM Ahmet Sezgin Duran ahmet@sezginduran.net wrote:
> 
> Did you compile these changes?
> 
> Yes, I have verified the changes by compiling the driver with: make
> M=drivers/staging/sm750fb/
> 
> The build completed successfully without errors.
> 
> Regards,
> Chaitanya

Are you sure that you had enabled the module? When I apply and try to 
compile your patch, I get these errors:

 >
 >   CC [M]  drivers/staging/sm750fb/sm750.o
 > drivers/staging/sm750fb/sm750.c: In function ‘lynxfb_set_fbinfo’:
 > drivers/staging/sm750fb/sm750.c:785:33: error: assignment of 
read-only location ‘g_fbmode[index]’
 >   785 |                 g_fbmode[index] = g_def_fbmode;
 >       |                                 ^
 > drivers/staging/sm750fb/sm750.c:787:41: error: assignment of 
read-only location ‘g_fbmode[index]’
 >   787 |                         g_fbmode[index] = g_fbmode[0];
 >       |                                         ^
 > drivers/staging/sm750fb/sm750.c: In function ‘sm750fb_setup’:
 > drivers/staging/sm750fb/sm750.c:896:45: error: assignment of 
read-only location ‘g_fbmode[0]’
 >   896 |                                 g_fbmode[0] = opt;
 >       |                                             ^
 > drivers/staging/sm750fb/sm750.c:900:45: error: assignment of 
read-only location ‘g_fbmode[1]’
 >   900 |                                 g_fbmode[1] = opt;
 >       |                                             ^

Regards,
Ahmet Sezgin Duran

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

* Re: [PATCH] staging: sm750fb: add const to g_fbmode array
  2026-05-06 10:36     ` Ahmet Sezgin Duran
@ 2026-05-06 10:44       ` Chaitanya Sabnis
  0 siblings, 0 replies; 11+ messages in thread
From: Chaitanya Sabnis @ 2026-05-06 10:44 UTC (permalink / raw)
  To: Ahmet Sezgin Duran
  Cc: sudipm.mukherjee, teddy.wang, gregkh, linux-fbdev, linux-staging,
	linux-kernel

On Wed, May 6, 2026 Ahmet Sezgin Duran wrote:

Are you sure that you had enabled the module? When I apply and try to
compile your patch, I get these errors:

Hi Ahmet,

You are completely right, and I apologize. I fell into the trap of
running make M=drivers/staging/sm750fb/ without verifying that
CONFIG_FB_SM750 was actually enabled in my .config first. My local
build silently skipped the compilation, which led me to falsely
believe the syntax was valid.

Looking at the errors you provided, it is clear that g_fbmode is
dynamically assigned during module setup (lines 896, 900), meaning the
checkpatch suggestion to make it const conflicts with the driver's
logic.

Please drop this patch. I will ensure my .config is properly set to
build the specific modules I am touching before submitting in the
future.

Thank you for catching this and for your time reviewing it.

Regards,
Chaitanya

On Wed, May 6, 2026 at 4:06 PM Ahmet Sezgin Duran <ahmet@sezginduran.net> wrote:
>
> On 5/6/26 10:14 AM, Chaitanya Sabnis wrote:
> > On Wed, May 6, 2026 at 11:57 AM Ahmet Sezgin Duran ahmet@sezginduran.net wrote:
> >
> > Did you compile these changes?
> >
> > Yes, I have verified the changes by compiling the driver with: make
> > M=drivers/staging/sm750fb/
> >
> > The build completed successfully without errors.
> >
> > Regards,
> > Chaitanya
>
> Are you sure that you had enabled the module? When I apply and try to
> compile your patch, I get these errors:
>
>  >
>  >   CC [M]  drivers/staging/sm750fb/sm750.o
>  > drivers/staging/sm750fb/sm750.c: In function ‘lynxfb_set_fbinfo’:
>  > drivers/staging/sm750fb/sm750.c:785:33: error: assignment of
> read-only location ‘g_fbmode[index]’
>  >   785 |                 g_fbmode[index] = g_def_fbmode;
>  >       |                                 ^
>  > drivers/staging/sm750fb/sm750.c:787:41: error: assignment of
> read-only location ‘g_fbmode[index]’
>  >   787 |                         g_fbmode[index] = g_fbmode[0];
>  >       |                                         ^
>  > drivers/staging/sm750fb/sm750.c: In function ‘sm750fb_setup’:
>  > drivers/staging/sm750fb/sm750.c:896:45: error: assignment of
> read-only location ‘g_fbmode[0]’
>  >   896 |                                 g_fbmode[0] = opt;
>  >       |                                             ^
>  > drivers/staging/sm750fb/sm750.c:900:45: error: assignment of
> read-only location ‘g_fbmode[1]’
>  >   900 |                                 g_fbmode[1] = opt;
>  >       |                                             ^
>
> Regards,
> Ahmet Sezgin Duran

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

* [PATCH] staging: sm750fb: Add const to g_fbmode array
@ 2026-05-09 16:40 Alone
  2026-05-11  7:57 ` Greg Kroah-Hartman
  2026-05-11 15:37 ` kernel test robot
  0 siblings, 2 replies; 11+ messages in thread
From: Alone @ 2026-05-09 16:40 UTC (permalink / raw)
  To: Sudip Mukherjee, Teddy Wang, Greg Kroah-Hartman
  Cc: linux-fbdev, linux-staging, linux-kernel, Chhabilal Dangal

From: Chhabilal Dangal <yogeshdangal66@gmail.com>

Add const qualifier to g_fbmode array since the array
itself is not modified after initialization.

Signed-off-by: Chhabilal Dangal <yogeshdangal66@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.54.0


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

* Re: [PATCH] staging: sm750fb: Add const to g_fbmode array
  2026-05-09 16:40 [PATCH] staging: sm750fb: Add " Alone
@ 2026-05-11  7:57 ` Greg Kroah-Hartman
       [not found]   ` <CAF9nfaDEys+8bcnFRVWWoAvyrvPgXmENbASABG+4dBjMinaP5A@mail.gmail.com>
  2026-05-11 15:37 ` kernel test robot
  1 sibling, 1 reply; 11+ messages in thread
From: Greg Kroah-Hartman @ 2026-05-11  7:57 UTC (permalink / raw)
  To: Alone; +Cc: Sudip Mukherjee, Teddy Wang, linux-fbdev, linux-staging,
	linux-kernel

On Sat, May 09, 2026 at 10:25:57PM +0545, Alone wrote:
> From: Chhabilal Dangal <yogeshdangal66@gmail.com>
> 
> Add const qualifier to g_fbmode array since the array
> itself is not modified after initialization.
> 
> Signed-off-by: Chhabilal Dangal <yogeshdangal66@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.54.0
> 
> 

Please always test-build your patches :(

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

* Re: [PATCH] staging: sm750fb: Add const to g_fbmode array
       [not found]   ` <CAF9nfaDEys+8bcnFRVWWoAvyrvPgXmENbASABG+4dBjMinaP5A@mail.gmail.com>
@ 2026-05-11 10:23     ` Greg Kroah-Hartman
  0 siblings, 0 replies; 11+ messages in thread
From: Greg Kroah-Hartman @ 2026-05-11 10:23 UTC (permalink / raw)
  To: Alone; +Cc: Sudip Mukherjee, Teddy Wang, linux-fbdev, linux-staging,
	linux-kernel

On Mon, May 11, 2026 at 04:04:40PM +0545, Alone wrote:
> Thanks for the feedback. I verified the patch with:
> 
> make M=drivers/staging/sm750fb
> 
> and it builds successfully. I’ll make sure to compile-test patches before
> submission next time.

I don't think you actually built the file you modified.  Be sure the
correct config option is also enabled.  Try it yourself and see!

Also, please don't top-post or send html email, the mailing lists reject
that.

thanks,

greg k-h

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

* Re: [PATCH] staging: sm750fb: Add const to g_fbmode array
@ 2026-05-11 10:52 Chhabilal Dangal
  0 siblings, 0 replies; 11+ messages in thread
From: Chhabilal Dangal @ 2026-05-11 10:52 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Sudip Mukherjee, Teddy Wang, linux-fbdev, linux-staging,
	linux-kernel

Thanks for catching that! I've now properly configured the kernel:

CONFIG_FB_SM750=m
CONFIG_STAGING=y
CONFIG_FB=y

Ran: make oldconfig
Verified configuration with: cat .config | grep CONFIG_FB_SM750

The patch should compile with these settings enabled. The changes are
minimal (adding const to g_fbmode array) and don't require additional
setup beyond proper kernel configuration.

Thanks for the guidance!

Chhabilal Dangal

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

* Re: [PATCH] staging: sm750fb: Add const to g_fbmode array
  2026-05-09 16:40 [PATCH] staging: sm750fb: Add " Alone
  2026-05-11  7:57 ` Greg Kroah-Hartman
@ 2026-05-11 15:37 ` kernel test robot
  1 sibling, 0 replies; 11+ messages in thread
From: kernel test robot @ 2026-05-11 15:37 UTC (permalink / raw)
  To: Alone, Sudip Mukherjee, Teddy Wang, Greg Kroah-Hartman
  Cc: llvm, oe-kbuild-all, linux-fbdev, linux-staging, linux-kernel,
	Chhabilal Dangal

Hi Alone,

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/Alone/staging-sm750fb-Add-const-to-g_fbmode-array/20260511-155715
base:   staging/staging-testing
patch link:    https://lore.kernel.org/r/20260509164057.71722-1-yogeshdangal66%40gmail.com
patch subject: [PATCH] staging: sm750fb: Add const to g_fbmode array
config: arm64-randconfig-003-20260511 (https://download.01.org/0day-ci/archive/20260511/202605112333.ORNyLXKe-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260511/202605112333.ORNyLXKe-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/202605112333.ORNyLXKe-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/staging/sm750fb/sm750.c:785:19: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]'
     785 |                 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:787:20: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]'
     787 |                         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:896:17: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]'
     896 |                                 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:900:17: error: cannot assign to variable 'g_fbmode' with const-qualified type 'const char *const[2]'
     900 |                                 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 +785 drivers/staging/sm750fb/sm750.c

81dee67e215b23f Sudip Mukherjee      2015-03-03  719  
81dee67e215b23f Sudip Mukherjee      2015-03-03  720  static int lynxfb_set_fbinfo(struct fb_info *info, int index)
81dee67e215b23f Sudip Mukherjee      2015-03-03  721  {
81dee67e215b23f Sudip Mukherjee      2015-03-03  722  	int i;
81dee67e215b23f Sudip Mukherjee      2015-03-03  723  	struct lynxfb_par *par;
e359b6a863e19f2 Mike Rapoport        2015-10-26  724  	struct sm750_dev *sm750_dev;
81dee67e215b23f Sudip Mukherjee      2015-03-03  725  	struct lynxfb_crtc *crtc;
81dee67e215b23f Sudip Mukherjee      2015-03-03  726  	struct lynxfb_output *output;
81dee67e215b23f Sudip Mukherjee      2015-03-03  727  	struct fb_var_screeninfo *var;
81dee67e215b23f Sudip Mukherjee      2015-03-03  728  	struct fb_fix_screeninfo *fix;
81dee67e215b23f Sudip Mukherjee      2015-03-03  729  
81dee67e215b23f Sudip Mukherjee      2015-03-03  730  	const struct fb_videomode *pdb[] = {
81dee67e215b23f Sudip Mukherjee      2015-03-03  731  		lynx750_ext, NULL, vesa_modes,
81dee67e215b23f Sudip Mukherjee      2015-03-03  732  	};
81dee67e215b23f Sudip Mukherjee      2015-03-03  733  	int cdb[] = {ARRAY_SIZE(lynx750_ext), 0, VESA_MODEDB_SIZE};
d0856045f0e9fc9 Hungyu Lin           2026-04-01  734  	static const char * const fix_id[2] = {
81dee67e215b23f Sudip Mukherjee      2015-03-03  735  		"sm750_fb1", "sm750_fb2",
81dee67e215b23f Sudip Mukherjee      2015-03-03  736  	};
81dee67e215b23f Sudip Mukherjee      2015-03-03  737  
81dee67e215b23f Sudip Mukherjee      2015-03-03  738  	int ret, line_length;
81dee67e215b23f Sudip Mukherjee      2015-03-03  739  
81dee67e215b23f Sudip Mukherjee      2015-03-03  740  	ret = 0;
81dee67e215b23f Sudip Mukherjee      2015-03-03  741  	par = (struct lynxfb_par *)info->par;
e359b6a863e19f2 Mike Rapoport        2015-10-26  742  	sm750_dev = par->dev;
81dee67e215b23f Sudip Mukherjee      2015-03-03  743  	crtc = &par->crtc;
81dee67e215b23f Sudip Mukherjee      2015-03-03  744  	output = &par->output;
81dee67e215b23f Sudip Mukherjee      2015-03-03  745  	var = &info->var;
81dee67e215b23f Sudip Mukherjee      2015-03-03  746  	fix = &info->fix;
81dee67e215b23f Sudip Mukherjee      2015-03-03  747  
81dee67e215b23f Sudip Mukherjee      2015-03-03  748  	/* set index */
81dee67e215b23f Sudip Mukherjee      2015-03-03  749  	par->index = index;
81dee67e215b23f Sudip Mukherjee      2015-03-03  750  	output->channel = &crtc->channel;
81dee67e215b23f Sudip Mukherjee      2015-03-03  751  	sm750fb_set_drv(par);
81dee67e215b23f Sudip Mukherjee      2015-03-03  752  
d11ac7cbcc266c6 Sudip Mukherjee      2015-08-07  753  	/*
d11ac7cbcc266c6 Sudip Mukherjee      2015-08-07  754  	 * set current cursor variable and proc pointer,
d11ac7cbcc266c6 Sudip Mukherjee      2015-08-07  755  	 * must be set after crtc member initialized
d11ac7cbcc266c6 Sudip Mukherjee      2015-08-07  756  	 */
fdc234d85210d91 Benjamin Philip      2021-07-28  757  	crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024;
e359b6a863e19f2 Mike Rapoport        2015-10-26  758  	crtc->cursor.mmio = sm750_dev->pvReg +
e359b6a863e19f2 Mike Rapoport        2015-10-26  759  		0x800f0 + (int)crtc->channel * 0x140;
81dee67e215b23f Sudip Mukherjee      2015-03-03  760  
cd33da26036ea54 Christopher Carbone  2022-08-23  761  	crtc->cursor.max_h = 64;
cd33da26036ea54 Christopher Carbone  2022-08-23  762  	crtc->cursor.max_w = 64;
39f9137268ee3df Benjamin Philip      2021-07-26  763  	crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8;
e359b6a863e19f2 Mike Rapoport        2015-10-26  764  	crtc->cursor.vstart = sm750_dev->pvMem + crtc->cursor.offset;
81dee67e215b23f Sudip Mukherjee      2015-03-03  765  
3de08a2d14ff8c7 Lorenzo Stoakes      2015-03-20  766  	memset_io(crtc->cursor.vstart, 0, crtc->cursor.size);
f7c8a046577e09d Thomas Zimmermann    2023-11-27  767  	if (!g_hwcursor)
52d0744d751d8f1 Arnd Bergmann        2016-11-09  768  		sm750_hw_cursor_disable(&crtc->cursor);
81dee67e215b23f Sudip Mukherjee      2015-03-03  769  
81dee67e215b23f Sudip Mukherjee      2015-03-03  770  	/* set info->fbops, must be set before fb_find_mode */
e359b6a863e19f2 Mike Rapoport        2015-10-26  771  	if (!sm750_dev->accel_off) {
81dee67e215b23f Sudip Mukherjee      2015-03-03  772  		/* use 2d acceleration */
f7c8a046577e09d Thomas Zimmermann    2023-11-27  773  		if (!g_hwcursor)
f7c8a046577e09d Thomas Zimmermann    2023-11-27  774  			info->fbops = &lynxfb_ops_accel;
f7c8a046577e09d Thomas Zimmermann    2023-11-27  775  		else
f7c8a046577e09d Thomas Zimmermann    2023-11-27  776  			info->fbops = &lynxfb_ops_accel_with_cursor;
f7c8a046577e09d Thomas Zimmermann    2023-11-27  777  	} else {
f7c8a046577e09d Thomas Zimmermann    2023-11-27  778  		if (!g_hwcursor)
81dee67e215b23f Sudip Mukherjee      2015-03-03  779  			info->fbops = &lynxfb_ops;
f7c8a046577e09d Thomas Zimmermann    2023-11-27  780  		else
f7c8a046577e09d Thomas Zimmermann    2023-11-27  781  			info->fbops = &lynxfb_ops_with_cursor;
f7c8a046577e09d Thomas Zimmermann    2023-11-27  782  	}
81dee67e215b23f Sudip Mukherjee      2015-03-03  783  
81dee67e215b23f Sudip Mukherjee      2015-03-03  784  	if (!g_fbmode[index]) {
81dee67e215b23f Sudip Mukherjee      2015-03-03 @785  		g_fbmode[index] = g_def_fbmode;
81dee67e215b23f Sudip Mukherjee      2015-03-03  786  		if (index)
81dee67e215b23f Sudip Mukherjee      2015-03-03  787  			g_fbmode[index] = g_fbmode[0];
81dee67e215b23f Sudip Mukherjee      2015-03-03  788  	}
81dee67e215b23f Sudip Mukherjee      2015-03-03  789  
81dee67e215b23f Sudip Mukherjee      2015-03-03  790  	for (i = 0; i < 3; i++) {
81dee67e215b23f Sudip Mukherjee      2015-03-03  791  		ret = fb_find_mode(var, info, g_fbmode[index],
81dee67e215b23f Sudip Mukherjee      2015-03-03  792  				   pdb[i], cdb[i], NULL, 8);
81dee67e215b23f Sudip Mukherjee      2015-03-03  793  
db7fb3588ab4920 Artem Lytkin         2026-02-23  794  		if (ret == 1 || ret == 2)
81dee67e215b23f Sudip Mukherjee      2015-03-03  795  			break;
81dee67e215b23f Sudip Mukherjee      2015-03-03  796  	}
81dee67e215b23f Sudip Mukherjee      2015-03-03  797  
81dee67e215b23f Sudip Mukherjee      2015-03-03  798  	/* set par */
81dee67e215b23f Sudip Mukherjee      2015-03-03  799  	par->info = info;
81dee67e215b23f Sudip Mukherjee      2015-03-03  800  
81dee67e215b23f Sudip Mukherjee      2015-03-03  801  	/* set info */
e3a3f9f5123683b Mike Rapoport        2015-10-26  802  	line_length = ALIGN((var->xres_virtual * var->bits_per_pixel / 8),
e3a3f9f5123683b Mike Rapoport        2015-10-26  803  			    crtc->line_pad);
81dee67e215b23f Sudip Mukherjee      2015-03-03  804  
81dee67e215b23f Sudip Mukherjee      2015-03-03  805  	info->pseudo_palette = &par->pseudo_palette[0];
cc59bde1c920ab6 Benjamin Philip      2021-07-28  806  	info->screen_base = crtc->v_screen;
81dee67e215b23f Sudip Mukherjee      2015-03-03  807  	info->screen_size = line_length * var->yres_virtual;
81dee67e215b23f Sudip Mukherjee      2015-03-03  808  
81dee67e215b23f Sudip Mukherjee      2015-03-03  809  	/* set info->fix */
81dee67e215b23f Sudip Mukherjee      2015-03-03  810  	fix->type = FB_TYPE_PACKED_PIXELS;
81dee67e215b23f Sudip Mukherjee      2015-03-03  811  	fix->type_aux = 0;
81dee67e215b23f Sudip Mukherjee      2015-03-03  812  	fix->xpanstep = crtc->xpanstep;
81dee67e215b23f Sudip Mukherjee      2015-03-03  813  	fix->ypanstep = crtc->ypanstep;
81dee67e215b23f Sudip Mukherjee      2015-03-03  814  	fix->ywrapstep = crtc->ywrapstep;
81dee67e215b23f Sudip Mukherjee      2015-03-03  815  	fix->accel = FB_ACCEL_SMI;
81dee67e215b23f Sudip Mukherjee      2015-03-03  816  
8c475735085a7db Tim Wassink          2025-12-21  817  	strscpy(fix->id, fix_id[index], sizeof(fix->id));
81dee67e215b23f Sudip Mukherjee      2015-03-03  818  
fdc234d85210d91 Benjamin Philip      2021-07-28  819  	fix->smem_start = crtc->o_screen + sm750_dev->vidmem_start;
d11ac7cbcc266c6 Sudip Mukherjee      2015-08-07  820  	/*
d11ac7cbcc266c6 Sudip Mukherjee      2015-08-07  821  	 * according to mmap experiment from user space application,
81dee67e215b23f Sudip Mukherjee      2015-03-03  822  	 * fix->mmio_len should not larger than virtual size
81dee67e215b23f Sudip Mukherjee      2015-03-03  823  	 * (xres_virtual x yres_virtual x ByPP)
81dee67e215b23f Sudip Mukherjee      2015-03-03  824  	 * Below line maybe buggy when user mmap fb dev node and write
81dee67e215b23f Sudip Mukherjee      2015-03-03  825  	 * data into the bound over virtual size
d11ac7cbcc266c6 Sudip Mukherjee      2015-08-07  826  	 */
81dee67e215b23f Sudip Mukherjee      2015-03-03  827  	fix->smem_len = crtc->vidmem_size;
81dee67e215b23f Sudip Mukherjee      2015-03-03  828  	info->screen_size = fix->smem_len;
81dee67e215b23f Sudip Mukherjee      2015-03-03  829  	fix->line_length = line_length;
e359b6a863e19f2 Mike Rapoport        2015-10-26  830  	fix->mmio_start = sm750_dev->vidreg_start;
e359b6a863e19f2 Mike Rapoport        2015-10-26  831  	fix->mmio_len = sm750_dev->vidreg_size;
b610e1193a917f4 Matej Dujava         2020-04-30  832  
b610e1193a917f4 Matej Dujava         2020-04-30  833  	lynxfb_set_visual_mode(info);
81dee67e215b23f Sudip Mukherjee      2015-03-03  834  
81dee67e215b23f Sudip Mukherjee      2015-03-03  835  	/* set var */
81dee67e215b23f Sudip Mukherjee      2015-03-03  836  	var->activate = FB_ACTIVATE_NOW;
81dee67e215b23f Sudip Mukherjee      2015-03-03  837  	var->accel_flags = 0;
81dee67e215b23f Sudip Mukherjee      2015-03-03  838  	var->vmode = FB_VMODE_NONINTERLACED;
81dee67e215b23f Sudip Mukherjee      2015-03-03  839  
61c507cf652da1b Michel von Czettritz 2015-03-26  840  	ret = fb_alloc_cmap(&info->cmap, 256, 0);
61c507cf652da1b Michel von Czettritz 2015-03-26  841  	if (ret < 0) {
fbab250eb51d6d6 Artem Lytkin         2026-02-07  842  		dev_err(info->device, "Could not allocate memory for cmap.\n");
81dee67e215b23f Sudip Mukherjee      2015-03-03  843  		goto exit;
81dee67e215b23f Sudip Mukherjee      2015-03-03  844  	}
81dee67e215b23f Sudip Mukherjee      2015-03-03  845  
81dee67e215b23f Sudip Mukherjee      2015-03-03  846  exit:
81dee67e215b23f Sudip Mukherjee      2015-03-03  847  	lynxfb_ops_check_var(var, info);
81dee67e215b23f Sudip Mukherjee      2015-03-03  848  	return ret;
81dee67e215b23f Sudip Mukherjee      2015-03-03  849  }
81dee67e215b23f Sudip Mukherjee      2015-03-03  850  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH] staging: sm750fb: add const to g_fbmode array
  2026-05-06  3:56 [PATCH] staging: sm750fb: add const to g_fbmode array Chaitanya Sabnis
  2026-05-06  6:27 ` Ahmet Sezgin Duran
@ 2026-05-11 20:42 ` kernel test robot
  1 sibling, 0 replies; 11+ messages in thread
From: kernel test robot @ 2026-05-11 20:42 UTC (permalink / raw)
  To: Chaitanya Sabnis, sudipm.mukherjee, teddy.wang, gregkh
  Cc: oe-kbuild-all, linux-fbdev, linux-staging, linux-kernel,
	Chaitanya Sabnis

Hi Chaitanya,

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/Chaitanya-Sabnis/staging-sm750fb-add-const-to-g_fbmode-array/20260509-141744
base:   staging/staging-testing
patch link:    https://lore.kernel.org/r/20260506035641.5060-1-chaitanya.msabnis%40gmail.com
patch subject: [PATCH] staging: sm750fb: add const to g_fbmode array
config: i386-randconfig-053-20260511 (https://download.01.org/0day-ci/archive/20260512/202605120426.9EKM6cs7-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/20260512/202605120426.9EKM6cs7-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/202605120426.9EKM6cs7-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/staging/sm750fb/sm750.c: In function 'lynxfb_set_fbinfo':
>> drivers/staging/sm750fb/sm750.c:785:33: error: assignment of read-only location 'g_fbmode[index]'
     785 |                 g_fbmode[index] = g_def_fbmode;
         |                                 ^
   drivers/staging/sm750fb/sm750.c:787:41: error: assignment of read-only location 'g_fbmode[index]'
     787 |                         g_fbmode[index] = g_fbmode[0];
         |                                         ^
   drivers/staging/sm750fb/sm750.c: In function 'sm750fb_setup':
>> drivers/staging/sm750fb/sm750.c:896:45: error: assignment of read-only location 'g_fbmode[0]'
     896 |                                 g_fbmode[0] = opt;
         |                                             ^
   drivers/staging/sm750fb/sm750.c:900:45: error: assignment of read-only location 'g_fbmode[1]'
     900 |                                 g_fbmode[1] = opt;
         |                                             ^


vim +785 drivers/staging/sm750fb/sm750.c

81dee67e215b23f Sudip Mukherjee      2015-03-03  719  
81dee67e215b23f Sudip Mukherjee      2015-03-03  720  static int lynxfb_set_fbinfo(struct fb_info *info, int index)
81dee67e215b23f Sudip Mukherjee      2015-03-03  721  {
81dee67e215b23f Sudip Mukherjee      2015-03-03  722  	int i;
81dee67e215b23f Sudip Mukherjee      2015-03-03  723  	struct lynxfb_par *par;
e359b6a863e19f2 Mike Rapoport        2015-10-26  724  	struct sm750_dev *sm750_dev;
81dee67e215b23f Sudip Mukherjee      2015-03-03  725  	struct lynxfb_crtc *crtc;
81dee67e215b23f Sudip Mukherjee      2015-03-03  726  	struct lynxfb_output *output;
81dee67e215b23f Sudip Mukherjee      2015-03-03  727  	struct fb_var_screeninfo *var;
81dee67e215b23f Sudip Mukherjee      2015-03-03  728  	struct fb_fix_screeninfo *fix;
81dee67e215b23f Sudip Mukherjee      2015-03-03  729  
81dee67e215b23f Sudip Mukherjee      2015-03-03  730  	const struct fb_videomode *pdb[] = {
81dee67e215b23f Sudip Mukherjee      2015-03-03  731  		lynx750_ext, NULL, vesa_modes,
81dee67e215b23f Sudip Mukherjee      2015-03-03  732  	};
81dee67e215b23f Sudip Mukherjee      2015-03-03  733  	int cdb[] = {ARRAY_SIZE(lynx750_ext), 0, VESA_MODEDB_SIZE};
d0856045f0e9fc9 Hungyu Lin           2026-04-01  734  	static const char * const fix_id[2] = {
81dee67e215b23f Sudip Mukherjee      2015-03-03  735  		"sm750_fb1", "sm750_fb2",
81dee67e215b23f Sudip Mukherjee      2015-03-03  736  	};
81dee67e215b23f Sudip Mukherjee      2015-03-03  737  
81dee67e215b23f Sudip Mukherjee      2015-03-03  738  	int ret, line_length;
81dee67e215b23f Sudip Mukherjee      2015-03-03  739  
81dee67e215b23f Sudip Mukherjee      2015-03-03  740  	ret = 0;
81dee67e215b23f Sudip Mukherjee      2015-03-03  741  	par = (struct lynxfb_par *)info->par;
e359b6a863e19f2 Mike Rapoport        2015-10-26  742  	sm750_dev = par->dev;
81dee67e215b23f Sudip Mukherjee      2015-03-03  743  	crtc = &par->crtc;
81dee67e215b23f Sudip Mukherjee      2015-03-03  744  	output = &par->output;
81dee67e215b23f Sudip Mukherjee      2015-03-03  745  	var = &info->var;
81dee67e215b23f Sudip Mukherjee      2015-03-03  746  	fix = &info->fix;
81dee67e215b23f Sudip Mukherjee      2015-03-03  747  
81dee67e215b23f Sudip Mukherjee      2015-03-03  748  	/* set index */
81dee67e215b23f Sudip Mukherjee      2015-03-03  749  	par->index = index;
81dee67e215b23f Sudip Mukherjee      2015-03-03  750  	output->channel = &crtc->channel;
81dee67e215b23f Sudip Mukherjee      2015-03-03  751  	sm750fb_set_drv(par);
81dee67e215b23f Sudip Mukherjee      2015-03-03  752  
d11ac7cbcc266c6 Sudip Mukherjee      2015-08-07  753  	/*
d11ac7cbcc266c6 Sudip Mukherjee      2015-08-07  754  	 * set current cursor variable and proc pointer,
d11ac7cbcc266c6 Sudip Mukherjee      2015-08-07  755  	 * must be set after crtc member initialized
d11ac7cbcc266c6 Sudip Mukherjee      2015-08-07  756  	 */
fdc234d85210d91 Benjamin Philip      2021-07-28  757  	crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024;
e359b6a863e19f2 Mike Rapoport        2015-10-26  758  	crtc->cursor.mmio = sm750_dev->pvReg +
e359b6a863e19f2 Mike Rapoport        2015-10-26  759  		0x800f0 + (int)crtc->channel * 0x140;
81dee67e215b23f Sudip Mukherjee      2015-03-03  760  
cd33da26036ea54 Christopher Carbone  2022-08-23  761  	crtc->cursor.max_h = 64;
cd33da26036ea54 Christopher Carbone  2022-08-23  762  	crtc->cursor.max_w = 64;
39f9137268ee3df Benjamin Philip      2021-07-26  763  	crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8;
e359b6a863e19f2 Mike Rapoport        2015-10-26  764  	crtc->cursor.vstart = sm750_dev->pvMem + crtc->cursor.offset;
81dee67e215b23f Sudip Mukherjee      2015-03-03  765  
3de08a2d14ff8c7 Lorenzo Stoakes      2015-03-20  766  	memset_io(crtc->cursor.vstart, 0, crtc->cursor.size);
f7c8a046577e09d Thomas Zimmermann    2023-11-27  767  	if (!g_hwcursor)
52d0744d751d8f1 Arnd Bergmann        2016-11-09  768  		sm750_hw_cursor_disable(&crtc->cursor);
81dee67e215b23f Sudip Mukherjee      2015-03-03  769  
81dee67e215b23f Sudip Mukherjee      2015-03-03  770  	/* set info->fbops, must be set before fb_find_mode */
e359b6a863e19f2 Mike Rapoport        2015-10-26  771  	if (!sm750_dev->accel_off) {
81dee67e215b23f Sudip Mukherjee      2015-03-03  772  		/* use 2d acceleration */
f7c8a046577e09d Thomas Zimmermann    2023-11-27  773  		if (!g_hwcursor)
f7c8a046577e09d Thomas Zimmermann    2023-11-27  774  			info->fbops = &lynxfb_ops_accel;
f7c8a046577e09d Thomas Zimmermann    2023-11-27  775  		else
f7c8a046577e09d Thomas Zimmermann    2023-11-27  776  			info->fbops = &lynxfb_ops_accel_with_cursor;
f7c8a046577e09d Thomas Zimmermann    2023-11-27  777  	} else {
f7c8a046577e09d Thomas Zimmermann    2023-11-27  778  		if (!g_hwcursor)
81dee67e215b23f Sudip Mukherjee      2015-03-03  779  			info->fbops = &lynxfb_ops;
f7c8a046577e09d Thomas Zimmermann    2023-11-27  780  		else
f7c8a046577e09d Thomas Zimmermann    2023-11-27  781  			info->fbops = &lynxfb_ops_with_cursor;
f7c8a046577e09d Thomas Zimmermann    2023-11-27  782  	}
81dee67e215b23f Sudip Mukherjee      2015-03-03  783  
81dee67e215b23f Sudip Mukherjee      2015-03-03  784  	if (!g_fbmode[index]) {
81dee67e215b23f Sudip Mukherjee      2015-03-03 @785  		g_fbmode[index] = g_def_fbmode;
81dee67e215b23f Sudip Mukherjee      2015-03-03  786  		if (index)
81dee67e215b23f Sudip Mukherjee      2015-03-03  787  			g_fbmode[index] = g_fbmode[0];
81dee67e215b23f Sudip Mukherjee      2015-03-03  788  	}
81dee67e215b23f Sudip Mukherjee      2015-03-03  789  
81dee67e215b23f Sudip Mukherjee      2015-03-03  790  	for (i = 0; i < 3; i++) {
81dee67e215b23f Sudip Mukherjee      2015-03-03  791  		ret = fb_find_mode(var, info, g_fbmode[index],
81dee67e215b23f Sudip Mukherjee      2015-03-03  792  				   pdb[i], cdb[i], NULL, 8);
81dee67e215b23f Sudip Mukherjee      2015-03-03  793  
db7fb3588ab4920 Artem Lytkin         2026-02-23  794  		if (ret == 1 || ret == 2)
81dee67e215b23f Sudip Mukherjee      2015-03-03  795  			break;
81dee67e215b23f Sudip Mukherjee      2015-03-03  796  	}
81dee67e215b23f Sudip Mukherjee      2015-03-03  797  
81dee67e215b23f Sudip Mukherjee      2015-03-03  798  	/* set par */
81dee67e215b23f Sudip Mukherjee      2015-03-03  799  	par->info = info;
81dee67e215b23f Sudip Mukherjee      2015-03-03  800  
81dee67e215b23f Sudip Mukherjee      2015-03-03  801  	/* set info */
e3a3f9f5123683b Mike Rapoport        2015-10-26  802  	line_length = ALIGN((var->xres_virtual * var->bits_per_pixel / 8),
e3a3f9f5123683b Mike Rapoport        2015-10-26  803  			    crtc->line_pad);
81dee67e215b23f Sudip Mukherjee      2015-03-03  804  
81dee67e215b23f Sudip Mukherjee      2015-03-03  805  	info->pseudo_palette = &par->pseudo_palette[0];
cc59bde1c920ab6 Benjamin Philip      2021-07-28  806  	info->screen_base = crtc->v_screen;
81dee67e215b23f Sudip Mukherjee      2015-03-03  807  	info->screen_size = line_length * var->yres_virtual;
81dee67e215b23f Sudip Mukherjee      2015-03-03  808  
81dee67e215b23f Sudip Mukherjee      2015-03-03  809  	/* set info->fix */
81dee67e215b23f Sudip Mukherjee      2015-03-03  810  	fix->type = FB_TYPE_PACKED_PIXELS;
81dee67e215b23f Sudip Mukherjee      2015-03-03  811  	fix->type_aux = 0;
81dee67e215b23f Sudip Mukherjee      2015-03-03  812  	fix->xpanstep = crtc->xpanstep;
81dee67e215b23f Sudip Mukherjee      2015-03-03  813  	fix->ypanstep = crtc->ypanstep;
81dee67e215b23f Sudip Mukherjee      2015-03-03  814  	fix->ywrapstep = crtc->ywrapstep;
81dee67e215b23f Sudip Mukherjee      2015-03-03  815  	fix->accel = FB_ACCEL_SMI;
81dee67e215b23f Sudip Mukherjee      2015-03-03  816  
8c475735085a7db Tim Wassink          2025-12-21  817  	strscpy(fix->id, fix_id[index], sizeof(fix->id));
81dee67e215b23f Sudip Mukherjee      2015-03-03  818  
fdc234d85210d91 Benjamin Philip      2021-07-28  819  	fix->smem_start = crtc->o_screen + sm750_dev->vidmem_start;
d11ac7cbcc266c6 Sudip Mukherjee      2015-08-07  820  	/*
d11ac7cbcc266c6 Sudip Mukherjee      2015-08-07  821  	 * according to mmap experiment from user space application,
81dee67e215b23f Sudip Mukherjee      2015-03-03  822  	 * fix->mmio_len should not larger than virtual size
81dee67e215b23f Sudip Mukherjee      2015-03-03  823  	 * (xres_virtual x yres_virtual x ByPP)
81dee67e215b23f Sudip Mukherjee      2015-03-03  824  	 * Below line maybe buggy when user mmap fb dev node and write
81dee67e215b23f Sudip Mukherjee      2015-03-03  825  	 * data into the bound over virtual size
d11ac7cbcc266c6 Sudip Mukherjee      2015-08-07  826  	 */
81dee67e215b23f Sudip Mukherjee      2015-03-03  827  	fix->smem_len = crtc->vidmem_size;
81dee67e215b23f Sudip Mukherjee      2015-03-03  828  	info->screen_size = fix->smem_len;
81dee67e215b23f Sudip Mukherjee      2015-03-03  829  	fix->line_length = line_length;
e359b6a863e19f2 Mike Rapoport        2015-10-26  830  	fix->mmio_start = sm750_dev->vidreg_start;
e359b6a863e19f2 Mike Rapoport        2015-10-26  831  	fix->mmio_len = sm750_dev->vidreg_size;
b610e1193a917f4 Matej Dujava         2020-04-30  832  
b610e1193a917f4 Matej Dujava         2020-04-30  833  	lynxfb_set_visual_mode(info);
81dee67e215b23f Sudip Mukherjee      2015-03-03  834  
81dee67e215b23f Sudip Mukherjee      2015-03-03  835  	/* set var */
81dee67e215b23f Sudip Mukherjee      2015-03-03  836  	var->activate = FB_ACTIVATE_NOW;
81dee67e215b23f Sudip Mukherjee      2015-03-03  837  	var->accel_flags = 0;
81dee67e215b23f Sudip Mukherjee      2015-03-03  838  	var->vmode = FB_VMODE_NONINTERLACED;
81dee67e215b23f Sudip Mukherjee      2015-03-03  839  
61c507cf652da1b Michel von Czettritz 2015-03-26  840  	ret = fb_alloc_cmap(&info->cmap, 256, 0);
61c507cf652da1b Michel von Czettritz 2015-03-26  841  	if (ret < 0) {
fbab250eb51d6d6 Artem Lytkin         2026-02-07  842  		dev_err(info->device, "Could not allocate memory for cmap.\n");
81dee67e215b23f Sudip Mukherjee      2015-03-03  843  		goto exit;
81dee67e215b23f Sudip Mukherjee      2015-03-03  844  	}
81dee67e215b23f Sudip Mukherjee      2015-03-03  845  
81dee67e215b23f Sudip Mukherjee      2015-03-03  846  exit:
81dee67e215b23f Sudip Mukherjee      2015-03-03  847  	lynxfb_ops_check_var(var, info);
81dee67e215b23f Sudip Mukherjee      2015-03-03  848  	return ret;
81dee67e215b23f Sudip Mukherjee      2015-03-03  849  }
81dee67e215b23f Sudip Mukherjee      2015-03-03  850  
81dee67e215b23f Sudip Mukherjee      2015-03-03  851  /*	chip specific g_option configuration routine */
700591a9adc8b1b Mike Rapoport        2015-10-26  852  static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
81dee67e215b23f Sudip Mukherjee      2015-03-03  853  {
81dee67e215b23f Sudip Mukherjee      2015-03-03  854  	char *opt;
81dee67e215b23f Sudip Mukherjee      2015-03-03  855  	int swap;
81dee67e215b23f Sudip Mukherjee      2015-03-03  856  
81dee67e215b23f Sudip Mukherjee      2015-03-03  857  	swap = 0;
81dee67e215b23f Sudip Mukherjee      2015-03-03  858  
cc34db609ff98c1 Madhumitha Sundar    2026-01-27  859  	sm750_dev->init_parm.chip_clk = 0;
cc34db609ff98c1 Madhumitha Sundar    2026-01-27  860  	sm750_dev->init_parm.mem_clk = 0;
cc34db609ff98c1 Madhumitha Sundar    2026-01-27  861  	sm750_dev->init_parm.master_clk = 0;
cc34db609ff98c1 Madhumitha Sundar    2026-01-27  862  	sm750_dev->init_parm.powerMode = 0;
cc34db609ff98c1 Madhumitha Sundar    2026-01-27  863  	sm750_dev->init_parm.setAllEngOff = 0;
cc34db609ff98c1 Madhumitha Sundar    2026-01-27  864  	sm750_dev->init_parm.resetMemory = 1;
81dee67e215b23f Sudip Mukherjee      2015-03-03  865  
81dee67e215b23f Sudip Mukherjee      2015-03-03  866  	/* defaultly turn g_hwcursor on for both view */
81dee67e215b23f Sudip Mukherjee      2015-03-03  867  	g_hwcursor = 3;
81dee67e215b23f Sudip Mukherjee      2015-03-03  868  
81dee67e215b23f Sudip Mukherjee      2015-03-03  869  	if (!src || !*src) {
c56de0967a658cb Elise Lennion        2016-10-31  870  		dev_warn(&sm750_dev->pdev->dev, "no specific g_option.\n");
81dee67e215b23f Sudip Mukherjee      2015-03-03  871  		goto NO_PARAM;
81dee67e215b23f Sudip Mukherjee      2015-03-03  872  	}
81dee67e215b23f Sudip Mukherjee      2015-03-03  873  
0fa96e39279988b Sudip Mukherjee      2015-03-10  874  	while ((opt = strsep(&src, ":")) != NULL && *opt != 0) {
c56de0967a658cb Elise Lennion        2016-10-31  875  		dev_info(&sm750_dev->pdev->dev, "opt=%s\n", opt);
c56de0967a658cb Elise Lennion        2016-10-31  876  		dev_info(&sm750_dev->pdev->dev, "src=%s\n", src);
81dee67e215b23f Sudip Mukherjee      2015-03-03  877  
144634a6b421468 Katie Dunne          2017-02-19  878  		if (!strncmp(opt, "swap", strlen("swap"))) {
81dee67e215b23f Sudip Mukherjee      2015-03-03  879  			swap = 1;
144634a6b421468 Katie Dunne          2017-02-19  880  		} else if (!strncmp(opt, "nocrt", strlen("nocrt"))) {
1757d106a9ce8cc Mike Rapoport        2015-10-26  881  			sm750_dev->nocrt = 1;
144634a6b421468 Katie Dunne          2017-02-19  882  		} else if (!strncmp(opt, "36bit", strlen("36bit"))) {
94c938a0c158635 Shubham Chakraborty  2026-04-07  883  			sm750_dev->pnltype = SM750_DOUBLE_TFT;
144634a6b421468 Katie Dunne          2017-02-19  884  		} else if (!strncmp(opt, "18bit", strlen("18bit"))) {
94c938a0c158635 Shubham Chakraborty  2026-04-07  885  			sm750_dev->pnltype = SM750_DUAL_TFT;
144634a6b421468 Katie Dunne          2017-02-19  886  		} else if (!strncmp(opt, "24bit", strlen("24bit"))) {
94c938a0c158635 Shubham Chakraborty  2026-04-07  887  			sm750_dev->pnltype = SM750_24TFT;
144634a6b421468 Katie Dunne          2017-02-19  888  		} else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) {
81dee67e215b23f Sudip Mukherjee      2015-03-03  889  			g_hwcursor &= ~0x1;
144634a6b421468 Katie Dunne          2017-02-19  890  		} else if (!strncmp(opt, "nohwc1", strlen("nohwc1"))) {
81dee67e215b23f Sudip Mukherjee      2015-03-03  891  			g_hwcursor &= ~0x2;
144634a6b421468 Katie Dunne          2017-02-19  892  		} else if (!strncmp(opt, "nohwc", strlen("nohwc"))) {
81dee67e215b23f Sudip Mukherjee      2015-03-03  893  			g_hwcursor = 0;
144634a6b421468 Katie Dunne          2017-02-19  894  		} else {
81dee67e215b23f Sudip Mukherjee      2015-03-03  895  			if (!g_fbmode[0]) {
81dee67e215b23f Sudip Mukherjee      2015-03-03 @896  				g_fbmode[0] = opt;
cee9ba1c30d0517 Abdul Rauf           2017-01-08  897  				dev_info(&sm750_dev->pdev->dev,
cee9ba1c30d0517 Abdul Rauf           2017-01-08  898  					 "find fbmode0 : %s\n", g_fbmode[0]);
81dee67e215b23f Sudip Mukherjee      2015-03-03  899  			} else if (!g_fbmode[1]) {
81dee67e215b23f Sudip Mukherjee      2015-03-03  900  				g_fbmode[1] = opt;
cee9ba1c30d0517 Abdul Rauf           2017-01-08  901  				dev_info(&sm750_dev->pdev->dev,
cee9ba1c30d0517 Abdul Rauf           2017-01-08  902  					 "find fbmode1 : %s\n", g_fbmode[1]);
81dee67e215b23f Sudip Mukherjee      2015-03-03  903  			} else {
c56de0967a658cb Elise Lennion        2016-10-31  904  				dev_warn(&sm750_dev->pdev->dev, "How many view you wann set?\n");
81dee67e215b23f Sudip Mukherjee      2015-03-03  905  			}
81dee67e215b23f Sudip Mukherjee      2015-03-03  906  		}
81dee67e215b23f Sudip Mukherjee      2015-03-03  907  	}
81dee67e215b23f Sudip Mukherjee      2015-03-03  908  
81dee67e215b23f Sudip Mukherjee      2015-03-03  909  NO_PARAM:
e359b6a863e19f2 Mike Rapoport        2015-10-26  910  	if (sm750_dev->revid != SM750LE_REVISION_ID) {
a3f92cc94c6126d Mike Rapoport        2016-01-17  911  		if (sm750_dev->fb_count > 1) {
81dee67e215b23f Sudip Mukherjee      2015-03-03  912  			if (swap)
1757d106a9ce8cc Mike Rapoport        2015-10-26  913  				sm750_dev->dataflow = sm750_dual_swap;
81dee67e215b23f Sudip Mukherjee      2015-03-03  914  			else
1757d106a9ce8cc Mike Rapoport        2015-10-26  915  				sm750_dev->dataflow = sm750_dual_normal;
81dee67e215b23f Sudip Mukherjee      2015-03-03  916  		} else {
81dee67e215b23f Sudip Mukherjee      2015-03-03  917  			if (swap)
1757d106a9ce8cc Mike Rapoport        2015-10-26  918  				sm750_dev->dataflow = sm750_simul_sec;
81dee67e215b23f Sudip Mukherjee      2015-03-03  919  			else
1757d106a9ce8cc Mike Rapoport        2015-10-26  920  				sm750_dev->dataflow = sm750_simul_pri;
81dee67e215b23f Sudip Mukherjee      2015-03-03  921  		}
81dee67e215b23f Sudip Mukherjee      2015-03-03  922  	} else {
81dee67e215b23f Sudip Mukherjee      2015-03-03  923  		/* SM750LE only have one crt channel */
1757d106a9ce8cc Mike Rapoport        2015-10-26  924  		sm750_dev->dataflow = sm750_simul_sec;
81dee67e215b23f Sudip Mukherjee      2015-03-03  925  		/* sm750le do not have complex attributes */
1757d106a9ce8cc Mike Rapoport        2015-10-26  926  		sm750_dev->nocrt = 0;
81dee67e215b23f Sudip Mukherjee      2015-03-03  927  	}
81dee67e215b23f Sudip Mukherjee      2015-03-03  928  }
81dee67e215b23f Sudip Mukherjee      2015-03-03  929  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

end of thread, other threads:[~2026-05-11 20:43 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-06  3:56 [PATCH] staging: sm750fb: add const to g_fbmode array Chaitanya Sabnis
2026-05-06  6:27 ` Ahmet Sezgin Duran
2026-05-06  7:14   ` Chaitanya Sabnis
2026-05-06 10:36     ` Ahmet Sezgin Duran
2026-05-06 10:44       ` Chaitanya Sabnis
2026-05-11 20:42 ` kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2026-05-09 16:40 [PATCH] staging: sm750fb: Add " Alone
2026-05-11  7:57 ` Greg Kroah-Hartman
     [not found]   ` <CAF9nfaDEys+8bcnFRVWWoAvyrvPgXmENbASABG+4dBjMinaP5A@mail.gmail.com>
2026-05-11 10:23     ` Greg Kroah-Hartman
2026-05-11 15:37 ` kernel test robot
2026-05-11 10:52 Chhabilal Dangal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox