* Re: [PATCH] staging: sm750: rename CamelCase variable in sm750.c
2026-05-15 10:38 [PATCH] staging: sm750: rename CamelCase variable in sm750.c Rupesh Majhi
@ 2026-05-15 11:18 ` Ahmet Sezgin Duran
2026-05-15 12:59 ` M.samet Duman
2026-05-15 22:35 ` kernel test robot
2026-05-15 23:48 ` kernel test robot
2 siblings, 1 reply; 7+ messages in thread
From: Ahmet Sezgin Duran @ 2026-05-15 11:18 UTC (permalink / raw)
To: Rupesh Majhi, gregkh
Cc: sudipm.mukherjee, teddy.wang, linux-fbdev, linux-staging,
linux-kernel
On 5/15/26 1:38 PM, Rupesh Majhi wrote:
> Renamed the following CamelCase variables to snake_case to comply
> with Linux kernel coding style:
> - pvReg -> pv_reg
> - setAllEngOff -> set_all_eng_off
>
> Issue found by checkpatch.
>
> Signed-off-by: Rupesh Majhi <zoone.rupert@gmail.com>
> ---
> drivers/staging/sm750fb/sm750.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
> index 996a586a3727..9b30627a19d0 100644
> --- a/drivers/staging/sm750fb/sm750.c
> +++ b/drivers/staging/sm750fb/sm750.c
> @@ -755,7 +755,7 @@ static int lynxfb_set_fbinfo(struct fb_info *info, int index)
> * must be set after crtc member initialized
> */
> crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024;
> - crtc->cursor.mmio = sm750_dev->pvReg +
> + crtc->cursor.mmio = sm750_dev->pv_reg +
> 0x800f0 + (int)crtc->channel * 0x140;
>
> crtc->cursor.max_h = 64;
> @@ -860,7 +860,7 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
> sm750_dev->init_parm.mem_clk = 0;
> sm750_dev->init_parm.master_clk = 0;
> sm750_dev->init_parm.power_mode = 0;
> - sm750_dev->init_parm.setAllEngOff = 0;
> + sm750_dev->init_parm.set_all_eng_off = 0;
> sm750_dev->init_parm.reset_memory = 1;
>
> /* defaultly turn g_hwcursor on for both view */
> @@ -1059,7 +1059,7 @@ static void lynxfb_pci_remove(struct pci_dev *pdev)
> sm750fb_framebuffer_release(sm750_dev);
> arch_phys_wc_del(sm750_dev->mtrr.vram);
>
> - iounmap(sm750_dev->pvReg);
> + iounmap(sm750_dev->pv_reg);
> iounmap(sm750_dev->vmem);
> pci_release_region(pdev, 1);
> kfree(g_settings);
Did you compile this patch?
Regards,
Ahmet Sezgin Duran
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] staging: sm750: rename CamelCase variable in sm750.c
2026-05-15 11:18 ` Ahmet Sezgin Duran
@ 2026-05-15 12:59 ` M.samet Duman
2026-05-15 13:13 ` Greg KH
0 siblings, 1 reply; 7+ messages in thread
From: M.samet Duman @ 2026-05-15 12:59 UTC (permalink / raw)
To: Ahmet Sezgin Duran
Cc: Rupesh Majhi, gregkh, sudipm.mukherjee, teddy.wang, linux-fbdev,
linux-staging, linux-kernel
Not a change that will set the world on fire.
--
Samet
> 2026. 5. 15. 오후 2:46, Ahmet Sezgin Duran <ahmet@sezginduran.net> 작성:
>
> On 5/15/26 1:38 PM, Rupesh Majhi wrote:
>> Renamed the following CamelCase variables to snake_case to comply
>> with Linux kernel coding style:
>> - pvReg -> pv_reg
>> - setAllEngOff -> set_all_eng_off
>> Issue found by checkpatch.
>> Signed-off-by: Rupesh Majhi <zoone.rupert@gmail.com>
>> ---
>> drivers/staging/sm750fb/sm750.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>> diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
>> index 996a586a3727..9b30627a19d0 100644
>> --- a/drivers/staging/sm750fb/sm750.c
>> +++ b/drivers/staging/sm750fb/sm750.c
>> @@ -755,7 +755,7 @@ static int lynxfb_set_fbinfo(struct fb_info *info, int index)
>> * must be set after crtc member initialized
>> */
>> crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024;
>> - crtc->cursor.mmio = sm750_dev->pvReg +
>> + crtc->cursor.mmio = sm750_dev->pv_reg +
>> 0x800f0 + (int)crtc->channel * 0x140;
>> crtc->cursor.max_h = 64;
>> @@ -860,7 +860,7 @@ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
>> sm750_dev->init_parm.mem_clk = 0;
>> sm750_dev->init_parm.master_clk = 0;
>> sm750_dev->init_parm.power_mode = 0;
>> - sm750_dev->init_parm.setAllEngOff = 0;
>> + sm750_dev->init_parm.set_all_eng_off = 0;
>> sm750_dev->init_parm.reset_memory = 1;
>> /* defaultly turn g_hwcursor on for both view */
>> @@ -1059,7 +1059,7 @@ static void lynxfb_pci_remove(struct pci_dev *pdev)
>> sm750fb_framebuffer_release(sm750_dev);
>> arch_phys_wc_del(sm750_dev->mtrr.vram);
>> - iounmap(sm750_dev->pvReg);
>> + iounmap(sm750_dev->pv_reg);
>> iounmap(sm750_dev->vmem);
>> pci_release_region(pdev, 1);
>> kfree(g_settings);
>
> Did you compile this patch?
>
> Regards,
> Ahmet Sezgin Duran
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] staging: sm750: rename CamelCase variable in sm750.c
2026-05-15 12:59 ` M.samet Duman
@ 2026-05-15 13:13 ` Greg KH
[not found] ` <CABpb+S7EcSUnmnCn_aRURnVON39Jyrxe3oktnPphyOFzpaTU0g@mail.gmail.com>
0 siblings, 1 reply; 7+ messages in thread
From: Greg KH @ 2026-05-15 13:13 UTC (permalink / raw)
To: M.samet Duman
Cc: Ahmet Sezgin Duran, Rupesh Majhi, sudipm.mukherjee, teddy.wang,
linux-fbdev, linux-staging, linux-kernel
On Fri, May 15, 2026 at 03:59:18PM +0300, M.samet Duman wrote:
>
> Not a change that will set the world on fire.
Please only provide useful review comments.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] staging: sm750: rename CamelCase variable in sm750.c
2026-05-15 10:38 [PATCH] staging: sm750: rename CamelCase variable in sm750.c Rupesh Majhi
2026-05-15 11:18 ` Ahmet Sezgin Duran
@ 2026-05-15 22:35 ` kernel test robot
2026-05-15 23:48 ` kernel test robot
2 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2026-05-15 22:35 UTC (permalink / raw)
To: Rupesh Majhi, gregkh
Cc: llvm, oe-kbuild-all, sudipm.mukherjee, teddy.wang, linux-fbdev,
linux-staging, linux-kernel, Rupesh Majhi
Hi Rupesh,
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/Rupesh-Majhi/staging-sm750-rename-CamelCase-variable-in-sm750-c/20260515-213450
base: staging/staging-testing
patch link: https://lore.kernel.org/r/20260515103811.2808620-1-zoone.rupert%40gmail.com
patch subject: [PATCH] staging: sm750: rename CamelCase variable in sm750.c
config: powerpc64-randconfig-002-20260516 (https://download.01.org/0day-ci/archive/20260516/202605160624.pd29nXG5-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 5bac06718f502014fade905512f1d26d578a18f3)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260516/202605160624.pd29nXG5-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/202605160624.pd29nXG5-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/staging/sm750fb/sm750.c:758:33: error: no member named 'pv_reg' in 'struct sm750_dev'
758 | crtc->cursor.mmio = sm750_dev->pv_reg +
| ~~~~~~~~~ ^
>> drivers/staging/sm750fb/sm750.c:863:23: error: no member named 'set_all_eng_off' in 'struct init_status'
863 | sm750_dev->init_parm.set_all_eng_off = 0;
| ~~~~~~~~~~~~~~~~~~~~ ^
drivers/staging/sm750fb/sm750.c:1062:21: error: no member named 'pv_reg' in 'struct sm750_dev'
1062 | iounmap(sm750_dev->pv_reg);
| ~~~~~~~~~ ^
3 errors generated.
vim +758 drivers/staging/sm750fb/sm750.c
719
720 static int lynxfb_set_fbinfo(struct fb_info *info, int index)
721 {
722 int i;
723 struct lynxfb_par *par;
724 struct sm750_dev *sm750_dev;
725 struct lynxfb_crtc *crtc;
726 struct lynxfb_output *output;
727 struct fb_var_screeninfo *var;
728 struct fb_fix_screeninfo *fix;
729
730 const struct fb_videomode *pdb[] = {
731 lynx750_ext, NULL, vesa_modes,
732 };
733 int cdb[] = {ARRAY_SIZE(lynx750_ext), 0, VESA_MODEDB_SIZE};
734 static const char * const fix_id[2] = {
735 "sm750_fb1", "sm750_fb2",
736 };
737
738 int ret, line_length;
739
740 ret = 0;
741 par = (struct lynxfb_par *)info->par;
742 sm750_dev = par->dev;
743 crtc = &par->crtc;
744 output = &par->output;
745 var = &info->var;
746 fix = &info->fix;
747
748 /* set index */
749 par->index = index;
750 output->channel = &crtc->channel;
751 sm750fb_set_drv(par);
752
753 /*
754 * set current cursor variable and proc pointer,
755 * must be set after crtc member initialized
756 */
757 crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024;
> 758 crtc->cursor.mmio = sm750_dev->pv_reg +
759 0x800f0 + (int)crtc->channel * 0x140;
760
761 crtc->cursor.max_h = 64;
762 crtc->cursor.max_w = 64;
763 crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8;
764 crtc->cursor.vstart = sm750_dev->vmem + crtc->cursor.offset;
765
766 memset_io(crtc->cursor.vstart, 0, crtc->cursor.size);
767 if (!g_hwcursor)
768 sm750_hw_cursor_disable(&crtc->cursor);
769
770 /* set info->fbops, must be set before fb_find_mode */
771 if (!sm750_dev->accel_off) {
772 /* use 2d acceleration */
773 if (!g_hwcursor)
774 info->fbops = &lynxfb_ops_accel;
775 else
776 info->fbops = &lynxfb_ops_accel_with_cursor;
777 } else {
778 if (!g_hwcursor)
779 info->fbops = &lynxfb_ops;
780 else
781 info->fbops = &lynxfb_ops_with_cursor;
782 }
783
784 if (!g_fbmode[index]) {
785 g_fbmode[index] = g_def_fbmode;
786 if (index)
787 g_fbmode[index] = g_fbmode[0];
788 }
789
790 for (i = 0; i < 3; i++) {
791 ret = fb_find_mode(var, info, g_fbmode[index],
792 pdb[i], cdb[i], NULL, 8);
793
794 if (ret == 1 || ret == 2)
795 break;
796 }
797
798 /* set par */
799 par->info = info;
800
801 /* set info */
802 line_length = ALIGN((var->xres_virtual * var->bits_per_pixel / 8),
803 crtc->line_pad);
804
805 info->pseudo_palette = &par->pseudo_palette[0];
806 info->screen_base = crtc->v_screen;
807 info->screen_size = line_length * var->yres_virtual;
808
809 /* set info->fix */
810 fix->type = FB_TYPE_PACKED_PIXELS;
811 fix->type_aux = 0;
812 fix->xpanstep = crtc->xpanstep;
813 fix->ypanstep = crtc->ypanstep;
814 fix->ywrapstep = crtc->ywrapstep;
815 fix->accel = FB_ACCEL_SMI;
816
817 strscpy(fix->id, fix_id[index], sizeof(fix->id));
818
819 fix->smem_start = crtc->o_screen + sm750_dev->vidmem_start;
820 /*
821 * according to mmap experiment from user space application,
822 * fix->mmio_len should not larger than virtual size
823 * (xres_virtual x yres_virtual x ByPP)
824 * Below line maybe buggy when user mmap fb dev node and write
825 * data into the bound over virtual size
826 */
827 fix->smem_len = crtc->vidmem_size;
828 info->screen_size = fix->smem_len;
829 fix->line_length = line_length;
830 fix->mmio_start = sm750_dev->vidreg_start;
831 fix->mmio_len = sm750_dev->vidreg_size;
832
833 lynxfb_set_visual_mode(info);
834
835 /* set var */
836 var->activate = FB_ACTIVATE_NOW;
837 var->accel_flags = 0;
838 var->vmode = FB_VMODE_NONINTERLACED;
839
840 ret = fb_alloc_cmap(&info->cmap, 256, 0);
841 if (ret < 0) {
842 dev_err(info->device, "Could not allocate memory for cmap.\n");
843 goto exit;
844 }
845
846 exit:
847 lynxfb_ops_check_var(var, info);
848 return ret;
849 }
850
851 /* chip specific g_option configuration routine */
852 static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
853 {
854 char *opt;
855 int swap;
856
857 swap = 0;
858
859 sm750_dev->init_parm.chip_clk = 0;
860 sm750_dev->init_parm.mem_clk = 0;
861 sm750_dev->init_parm.master_clk = 0;
862 sm750_dev->init_parm.power_mode = 0;
> 863 sm750_dev->init_parm.set_all_eng_off = 0;
864 sm750_dev->init_parm.reset_memory = 1;
865
866 /* defaultly turn g_hwcursor on for both view */
867 g_hwcursor = 3;
868
869 if (!src || !*src) {
870 dev_warn(&sm750_dev->pdev->dev, "no specific g_option.\n");
871 goto NO_PARAM;
872 }
873
874 while ((opt = strsep(&src, ":")) != NULL && *opt != 0) {
875 dev_info(&sm750_dev->pdev->dev, "opt=%s\n", opt);
876 dev_info(&sm750_dev->pdev->dev, "src=%s\n", src);
877
878 if (!strncmp(opt, "swap", strlen("swap"))) {
879 swap = 1;
880 } else if (!strncmp(opt, "nocrt", strlen("nocrt"))) {
881 sm750_dev->nocrt = 1;
882 } else if (!strncmp(opt, "36bit", strlen("36bit"))) {
883 sm750_dev->pnltype = SM750_DOUBLE_TFT;
884 } else if (!strncmp(opt, "18bit", strlen("18bit"))) {
885 sm750_dev->pnltype = SM750_DUAL_TFT;
886 } else if (!strncmp(opt, "24bit", strlen("24bit"))) {
887 sm750_dev->pnltype = SM750_24TFT;
888 } else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) {
889 g_hwcursor &= ~0x1;
890 } else if (!strncmp(opt, "nohwc1", strlen("nohwc1"))) {
891 g_hwcursor &= ~0x2;
892 } else if (!strncmp(opt, "nohwc", strlen("nohwc"))) {
893 g_hwcursor = 0;
894 } else {
895 if (!g_fbmode[0]) {
896 g_fbmode[0] = opt;
897 dev_info(&sm750_dev->pdev->dev,
898 "find fbmode0 : %s\n", g_fbmode[0]);
899 } else if (!g_fbmode[1]) {
900 g_fbmode[1] = opt;
901 dev_info(&sm750_dev->pdev->dev,
902 "find fbmode1 : %s\n", g_fbmode[1]);
903 } else {
904 dev_warn(&sm750_dev->pdev->dev, "How many view you wann set?\n");
905 }
906 }
907 }
908
909 NO_PARAM:
910 if (sm750_dev->revid != SM750LE_REVISION_ID) {
911 if (sm750_dev->fb_count > 1) {
912 if (swap)
913 sm750_dev->dataflow = sm750_dual_swap;
914 else
915 sm750_dev->dataflow = sm750_dual_normal;
916 } else {
917 if (swap)
918 sm750_dev->dataflow = sm750_simul_sec;
919 else
920 sm750_dev->dataflow = sm750_simul_pri;
921 }
922 } else {
923 /* SM750LE only have one crt channel */
924 sm750_dev->dataflow = sm750_simul_sec;
925 /* sm750le do not have complex attributes */
926 sm750_dev->nocrt = 0;
927 }
928 }
929
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] staging: sm750: rename CamelCase variable in sm750.c
2026-05-15 10:38 [PATCH] staging: sm750: rename CamelCase variable in sm750.c Rupesh Majhi
2026-05-15 11:18 ` Ahmet Sezgin Duran
2026-05-15 22:35 ` kernel test robot
@ 2026-05-15 23:48 ` kernel test robot
2 siblings, 0 replies; 7+ messages in thread
From: kernel test robot @ 2026-05-15 23:48 UTC (permalink / raw)
To: Rupesh Majhi, gregkh
Cc: oe-kbuild-all, sudipm.mukherjee, teddy.wang, linux-fbdev,
linux-staging, linux-kernel, Rupesh Majhi
Hi Rupesh,
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/Rupesh-Majhi/staging-sm750-rename-CamelCase-variable-in-sm750-c/20260515-213450
base: staging/staging-testing
patch link: https://lore.kernel.org/r/20260515103811.2808620-1-zoone.rupert%40gmail.com
patch subject: [PATCH] staging: sm750: rename CamelCase variable in sm750.c
config: mips-allyesconfig (https://download.01.org/0day-ci/archive/20260516/202605160741.A9M01x77-lkp@intel.com/config)
compiler: mips-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260516/202605160741.A9M01x77-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/202605160741.A9M01x77-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/staging/sm750fb/sm750.c: In function 'lynxfb_set_fbinfo':
>> drivers/staging/sm750fb/sm750.c:758:40: error: 'struct sm750_dev' has no member named 'pv_reg'; did you mean 'pvReg'?
758 | crtc->cursor.mmio = sm750_dev->pv_reg +
| ^~~~~~
| pvReg
drivers/staging/sm750fb/sm750.c: In function 'sm750fb_setup':
>> drivers/staging/sm750fb/sm750.c:863:30: error: 'struct init_status' has no member named 'set_all_eng_off'; did you mean 'setAllEngOff'?
863 | sm750_dev->init_parm.set_all_eng_off = 0;
| ^~~~~~~~~~~~~~~
| setAllEngOff
drivers/staging/sm750fb/sm750.c: In function 'lynxfb_pci_remove':
drivers/staging/sm750fb/sm750.c:1062:28: error: 'struct sm750_dev' has no member named 'pv_reg'; did you mean 'pvReg'?
1062 | iounmap(sm750_dev->pv_reg);
| ^~~~~~
| pvReg
vim +758 drivers/staging/sm750fb/sm750.c
719
720 static int lynxfb_set_fbinfo(struct fb_info *info, int index)
721 {
722 int i;
723 struct lynxfb_par *par;
724 struct sm750_dev *sm750_dev;
725 struct lynxfb_crtc *crtc;
726 struct lynxfb_output *output;
727 struct fb_var_screeninfo *var;
728 struct fb_fix_screeninfo *fix;
729
730 const struct fb_videomode *pdb[] = {
731 lynx750_ext, NULL, vesa_modes,
732 };
733 int cdb[] = {ARRAY_SIZE(lynx750_ext), 0, VESA_MODEDB_SIZE};
734 static const char * const fix_id[2] = {
735 "sm750_fb1", "sm750_fb2",
736 };
737
738 int ret, line_length;
739
740 ret = 0;
741 par = (struct lynxfb_par *)info->par;
742 sm750_dev = par->dev;
743 crtc = &par->crtc;
744 output = &par->output;
745 var = &info->var;
746 fix = &info->fix;
747
748 /* set index */
749 par->index = index;
750 output->channel = &crtc->channel;
751 sm750fb_set_drv(par);
752
753 /*
754 * set current cursor variable and proc pointer,
755 * must be set after crtc member initialized
756 */
757 crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024;
> 758 crtc->cursor.mmio = sm750_dev->pv_reg +
759 0x800f0 + (int)crtc->channel * 0x140;
760
761 crtc->cursor.max_h = 64;
762 crtc->cursor.max_w = 64;
763 crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8;
764 crtc->cursor.vstart = sm750_dev->vmem + crtc->cursor.offset;
765
766 memset_io(crtc->cursor.vstart, 0, crtc->cursor.size);
767 if (!g_hwcursor)
768 sm750_hw_cursor_disable(&crtc->cursor);
769
770 /* set info->fbops, must be set before fb_find_mode */
771 if (!sm750_dev->accel_off) {
772 /* use 2d acceleration */
773 if (!g_hwcursor)
774 info->fbops = &lynxfb_ops_accel;
775 else
776 info->fbops = &lynxfb_ops_accel_with_cursor;
777 } else {
778 if (!g_hwcursor)
779 info->fbops = &lynxfb_ops;
780 else
781 info->fbops = &lynxfb_ops_with_cursor;
782 }
783
784 if (!g_fbmode[index]) {
785 g_fbmode[index] = g_def_fbmode;
786 if (index)
787 g_fbmode[index] = g_fbmode[0];
788 }
789
790 for (i = 0; i < 3; i++) {
791 ret = fb_find_mode(var, info, g_fbmode[index],
792 pdb[i], cdb[i], NULL, 8);
793
794 if (ret == 1 || ret == 2)
795 break;
796 }
797
798 /* set par */
799 par->info = info;
800
801 /* set info */
802 line_length = ALIGN((var->xres_virtual * var->bits_per_pixel / 8),
803 crtc->line_pad);
804
805 info->pseudo_palette = &par->pseudo_palette[0];
806 info->screen_base = crtc->v_screen;
807 info->screen_size = line_length * var->yres_virtual;
808
809 /* set info->fix */
810 fix->type = FB_TYPE_PACKED_PIXELS;
811 fix->type_aux = 0;
812 fix->xpanstep = crtc->xpanstep;
813 fix->ypanstep = crtc->ypanstep;
814 fix->ywrapstep = crtc->ywrapstep;
815 fix->accel = FB_ACCEL_SMI;
816
817 strscpy(fix->id, fix_id[index], sizeof(fix->id));
818
819 fix->smem_start = crtc->o_screen + sm750_dev->vidmem_start;
820 /*
821 * according to mmap experiment from user space application,
822 * fix->mmio_len should not larger than virtual size
823 * (xres_virtual x yres_virtual x ByPP)
824 * Below line maybe buggy when user mmap fb dev node and write
825 * data into the bound over virtual size
826 */
827 fix->smem_len = crtc->vidmem_size;
828 info->screen_size = fix->smem_len;
829 fix->line_length = line_length;
830 fix->mmio_start = sm750_dev->vidreg_start;
831 fix->mmio_len = sm750_dev->vidreg_size;
832
833 lynxfb_set_visual_mode(info);
834
835 /* set var */
836 var->activate = FB_ACTIVATE_NOW;
837 var->accel_flags = 0;
838 var->vmode = FB_VMODE_NONINTERLACED;
839
840 ret = fb_alloc_cmap(&info->cmap, 256, 0);
841 if (ret < 0) {
842 dev_err(info->device, "Could not allocate memory for cmap.\n");
843 goto exit;
844 }
845
846 exit:
847 lynxfb_ops_check_var(var, info);
848 return ret;
849 }
850
851 /* chip specific g_option configuration routine */
852 static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
853 {
854 char *opt;
855 int swap;
856
857 swap = 0;
858
859 sm750_dev->init_parm.chip_clk = 0;
860 sm750_dev->init_parm.mem_clk = 0;
861 sm750_dev->init_parm.master_clk = 0;
862 sm750_dev->init_parm.power_mode = 0;
> 863 sm750_dev->init_parm.set_all_eng_off = 0;
864 sm750_dev->init_parm.reset_memory = 1;
865
866 /* defaultly turn g_hwcursor on for both view */
867 g_hwcursor = 3;
868
869 if (!src || !*src) {
870 dev_warn(&sm750_dev->pdev->dev, "no specific g_option.\n");
871 goto NO_PARAM;
872 }
873
874 while ((opt = strsep(&src, ":")) != NULL && *opt != 0) {
875 dev_info(&sm750_dev->pdev->dev, "opt=%s\n", opt);
876 dev_info(&sm750_dev->pdev->dev, "src=%s\n", src);
877
878 if (!strncmp(opt, "swap", strlen("swap"))) {
879 swap = 1;
880 } else if (!strncmp(opt, "nocrt", strlen("nocrt"))) {
881 sm750_dev->nocrt = 1;
882 } else if (!strncmp(opt, "36bit", strlen("36bit"))) {
883 sm750_dev->pnltype = SM750_DOUBLE_TFT;
884 } else if (!strncmp(opt, "18bit", strlen("18bit"))) {
885 sm750_dev->pnltype = SM750_DUAL_TFT;
886 } else if (!strncmp(opt, "24bit", strlen("24bit"))) {
887 sm750_dev->pnltype = SM750_24TFT;
888 } else if (!strncmp(opt, "nohwc0", strlen("nohwc0"))) {
889 g_hwcursor &= ~0x1;
890 } else if (!strncmp(opt, "nohwc1", strlen("nohwc1"))) {
891 g_hwcursor &= ~0x2;
892 } else if (!strncmp(opt, "nohwc", strlen("nohwc"))) {
893 g_hwcursor = 0;
894 } else {
895 if (!g_fbmode[0]) {
896 g_fbmode[0] = opt;
897 dev_info(&sm750_dev->pdev->dev,
898 "find fbmode0 : %s\n", g_fbmode[0]);
899 } else if (!g_fbmode[1]) {
900 g_fbmode[1] = opt;
901 dev_info(&sm750_dev->pdev->dev,
902 "find fbmode1 : %s\n", g_fbmode[1]);
903 } else {
904 dev_warn(&sm750_dev->pdev->dev, "How many view you wann set?\n");
905 }
906 }
907 }
908
909 NO_PARAM:
910 if (sm750_dev->revid != SM750LE_REVISION_ID) {
911 if (sm750_dev->fb_count > 1) {
912 if (swap)
913 sm750_dev->dataflow = sm750_dual_swap;
914 else
915 sm750_dev->dataflow = sm750_dual_normal;
916 } else {
917 if (swap)
918 sm750_dev->dataflow = sm750_simul_sec;
919 else
920 sm750_dev->dataflow = sm750_simul_pri;
921 }
922 } else {
923 /* SM750LE only have one crt channel */
924 sm750_dev->dataflow = sm750_simul_sec;
925 /* sm750le do not have complex attributes */
926 sm750_dev->nocrt = 0;
927 }
928 }
929
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread