All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Thomas Zimmermann <tzimmermann@suse.de>,
	deller@gmx.de, paulus@samba.org, benh@kernel.crashing.org,
	linux@armlinux.org.uk, pjones@redhat.com, timur@kernel.org,
	adaplas@gmail.com, s.hauer@pengutronix.de, shawnguo@kernel.org,
	mbroemme@libmpq.org, thomas@winischhofer.net,
	James.Bottomley@hansenpartnership.com, spock@gentoo.org,
	sudipm.mukherjee@gmail.com, teddy.wang@siliconmotion.com,
	geert+renesas@glider.be, corbet@lwn.net
Cc: oe-kbuild-all@lists.linux.dev,
	Thomas Zimmermann <tzimmermann@suse.de>,
	linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 10/99] fbdev/atafb: Parse option string with struct option_iter
Date: Tue, 7 Mar 2023 02:58:28 +0800	[thread overview]
Message-ID: <202303070232.fCaufe3z-lkp@intel.com> (raw)
In-Reply-To: <20230306160016.4459-11-tzimmermann@suse.de>

Hi Thomas,

I love your patch! Perhaps something to improve:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on staging/staging-testing staging/staging-next staging/staging-linus linus/master v6.3-rc1 next-20230306]
[cannot apply to deller-parisc/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Thomas-Zimmermann/lib-Add-option-iterator/20230307-000524
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20230306160016.4459-11-tzimmermann%40suse.de
patch subject: [PATCH 10/99] fbdev/atafb: Parse option string with struct option_iter
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20230307/202303070232.fCaufe3z-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/c5b52a9aafa2bf0107e27c7c2aa66bee9a449521
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Thomas-Zimmermann/lib-Add-option-iterator/20230307-000524
        git checkout c5b52a9aafa2bf0107e27c7c2aa66bee9a449521
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash drivers/video/fbdev/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303070232.fCaufe3z-lkp@intel.com/

All warnings (new ones prefixed by >>):

   drivers/video/fbdev/atafb.c: In function 'ext_setcolreg':
   drivers/video/fbdev/atafb.c:2187:31: warning: variable 'tmp' set but not used [-Wunused-but-set-variable]
    2187 |                 unsigned char tmp = INB(0x3da); \
         |                               ^~~
   drivers/video/fbdev/atafb.c:2210:17: note: in expansion of macro 'DACDelay'
    2210 |                 DACDelay;
         |                 ^~~~~~~~
   drivers/video/fbdev/atafb.c:2187:31: warning: variable 'tmp' set but not used [-Wunused-but-set-variable]
    2187 |                 unsigned char tmp = INB(0x3da); \
         |                               ^~~
   drivers/video/fbdev/atafb.c:2212:17: note: in expansion of macro 'DACDelay'
    2212 |                 DACDelay;
         |                 ^~~~~~~~
   drivers/video/fbdev/atafb.c:2187:31: warning: variable 'tmp' set but not used [-Wunused-but-set-variable]
    2187 |                 unsigned char tmp = INB(0x3da); \
         |                               ^~~
   drivers/video/fbdev/atafb.c:2214:17: note: in expansion of macro 'DACDelay'
    2214 |                 DACDelay;
         |                 ^~~~~~~~
   drivers/video/fbdev/atafb.c:2187:31: warning: variable 'tmp' set but not used [-Wunused-but-set-variable]
    2187 |                 unsigned char tmp = INB(0x3da); \
         |                               ^~~
   drivers/video/fbdev/atafb.c:2216:17: note: in expansion of macro 'DACDelay'
    2216 |                 DACDelay;
         |                 ^~~~~~~~
   drivers/video/fbdev/atafb.c: In function 'atafb_copyarea':
   drivers/video/fbdev/atafb.c:2464:13: warning: variable 'rev_copy' set but not used [-Wunused-but-set-variable]
    2464 |         int rev_copy = 0;
         |             ^~~~~~~~
   drivers/video/fbdev/atafb.c: In function 'atafb_setup':
>> drivers/video/fbdev/atafb.c:2948:44: warning: passing argument 1 of 'get_video_mode' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    2948 |                 if ((temp = get_video_mode(this_opt))) {
         |                                            ^~~~~~~~
   drivers/video/fbdev/atafb.c:529:33: note: expected 'char *' but argument is of type 'const char *'
     529 | static int get_video_mode(char *vname)
         |                           ~~~~~~^~~~~
>> drivers/video/fbdev/atafb.c:2973:50: warning: passing argument 1 of 'atafb_setup_ext' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    2973 |                         atafb_setup_ext(this_opt + 9);
         |                                         ~~~~~~~~~^~~
   drivers/video/fbdev/atafb.c:2720:42: note: expected 'char *' but argument is of type 'const char *'
    2720 | static void __init atafb_setup_ext(char *spec)
         |                                    ~~~~~~^~~~
>> drivers/video/fbdev/atafb.c:2976:50: warning: passing argument 1 of 'atafb_setup_int' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    2976 |                         atafb_setup_int(this_opt + 9);
         |                                         ~~~~~~~~~^~~
   drivers/video/fbdev/atafb.c:2837:42: note: expected 'char *' but argument is of type 'const char *'
    2837 | static void __init atafb_setup_int(char *spec)
         |                                    ~~~~~~^~~~
>> drivers/video/fbdev/atafb.c:2984:51: warning: passing argument 1 of 'atafb_setup_mcap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    2984 |                         atafb_setup_mcap(this_opt + 11);
         |                                          ~~~~~~~~~^~~~
   drivers/video/fbdev/atafb.c:2873:43: note: expected 'char *' but argument is of type 'const char *'
    2873 | static void __init atafb_setup_mcap(char *spec)
         |                                     ~~~~~~^~~~
>> drivers/video/fbdev/atafb.c:2989:51: warning: passing argument 1 of 'atafb_setup_user' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    2989 |                         atafb_setup_user(this_opt + 1);
         |                                          ~~~~~~~~~^~~
   drivers/video/fbdev/atafb.c:2910:43: note: expected 'char *' but argument is of type 'const char *'
    2910 | static void __init atafb_setup_user(char *spec)
         |                                     ~~~~~~^~~~


vim +2948 drivers/video/fbdev/atafb.c

^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2836  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16 @2837  static void __init atafb_setup_int(char *spec)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2838  {
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2839  	/* Format to config extended internal video hardware like OverScan:
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2840  	 * "internal:<xres>;<yres>;<xres_max>;<yres_max>;<offset>"
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2841  	 * Explanation:
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2842  	 * <xres>: x-resolution
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2843  	 * <yres>: y-resolution
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2844  	 * The following are only needed if you have an overscan which
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2845  	 * needs a black border:
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2846  	 * <xres_max>: max. length of a line in pixels your OverScan hardware would allow
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2847  	 * <yres_max>: max. number of lines your OverScan hardware would allow
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2848  	 * <offset>: Offset from physical beginning to visible beginning
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2849  	 *	  of screen in bytes
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2850  	 */
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2851  	int xres;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2852  	char *p;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2853  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2854  	if (!(p = strsep(&spec, ";")) || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2855  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2856  	xres = simple_strtoul(p, NULL, 10);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2857  	if (!(p = strsep(&spec, ";")) || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2858  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2859  	sttt_xres = xres;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2860  	tt_yres = st_yres = simple_strtoul(p, NULL, 10);
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2861  	if ((p = strsep(&spec, ";")) && *p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2862  		sttt_xres_virtual = simple_strtoul(p, NULL, 10);
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2863  	if ((p = strsep(&spec, ";")) && *p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2864  		sttt_yres_virtual = simple_strtoul(p, NULL, 0);
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2865  	if ((p = strsep(&spec, ";")) && *p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2866  		ovsc_offset = simple_strtoul(p, NULL, 0);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2867  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2868  	if (ovsc_offset || (sttt_yres_virtual != st_yres))
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2869  		use_hwscroll = 0;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2870  }
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2871  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2872  #ifdef ATAFB_FALCON
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2873  static void __init atafb_setup_mcap(char *spec)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2874  {
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2875  	char *p;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2876  	int vmin, vmax, hmin, hmax;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2877  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2878  	/* Format for monitor capabilities is: <Vmin>;<Vmax>;<Hmin>;<Hmax>
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2879  	 * <V*> vertical freq. in Hz
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2880  	 * <H*> horizontal freq. in kHz
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2881  	 */
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2882  	if (!(p = strsep(&spec, ";")) || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2883  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2884  	vmin = simple_strtoul(p, NULL, 10);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2885  	if (vmin <= 0)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2886  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2887  	if (!(p = strsep(&spec, ";")) || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2888  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2889  	vmax = simple_strtoul(p, NULL, 10);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2890  	if (vmax <= 0 || vmax <= vmin)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2891  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2892  	if (!(p = strsep(&spec, ";")) || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2893  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2894  	hmin = 1000 * simple_strtoul(p, NULL, 10);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2895  	if (hmin <= 0)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2896  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2897  	if (!(p = strsep(&spec, "")) || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2898  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2899  	hmax = 1000 * simple_strtoul(p, NULL, 10);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2900  	if (hmax <= 0 || hmax <= hmin)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2901  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2902  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2903  	fb_info.monspecs.vfmin = vmin;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2904  	fb_info.monspecs.vfmax = vmax;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2905  	fb_info.monspecs.hfmin = hmin;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2906  	fb_info.monspecs.hfmax = hmax;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2907  }
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2908  #endif /* ATAFB_FALCON */
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2909  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2910  static void __init atafb_setup_user(char *spec)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2911  {
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2912  	/* Format of user defined video mode is: <xres>;<yres>;<depth>
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2913  	 */
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2914  	char *p;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2915  	int xres, yres, depth, temp;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2916  
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2917  	p = strsep(&spec, ";");
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2918  	if (!p || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2919  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2920  	xres = simple_strtoul(p, NULL, 10);
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2921  	p = strsep(&spec, ";");
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2922  	if (!p || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2923  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2924  	yres = simple_strtoul(p, NULL, 10);
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2925  	p = strsep(&spec, "");
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2926  	if (!p || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2927  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2928  	depth = simple_strtoul(p, NULL, 10);
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2929  	temp = get_video_mode("user0");
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2930  	if (temp) {
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2931  		default_par = temp;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2932  		atafb_predefined[default_par - 1].xres = xres;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2933  		atafb_predefined[default_par - 1].yres = yres;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2934  		atafb_predefined[default_par - 1].bits_per_pixel = depth;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2935  	}
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2936  }
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2937  
c5b52a9aafa2bf drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2938  static int __init atafb_setup(const char *options)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2939  {
c5b52a9aafa2bf drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2940  	struct option_iter iter;
c5b52a9aafa2bf drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2941  	const char *this_opt;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2942  	int temp;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2943  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2944  	if (!options || !*options)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2945  		return 0;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2946  
c5b52a9aafa2bf drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2947  	while (option_iter_next(&iter, this_opt)) {
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01 @2948  		if ((temp = get_video_mode(this_opt))) {
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2949  			static char mode_option_buf[256];
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2950  			int ret;
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2951  
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2952  			ret = snprintf(mode_option_buf, sizeof(mode_option_buf), "%s", this_opt);
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2953  			if (WARN(ret < 0, "atafb: ignoring invalid option, ret=%d\n", ret))
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2954  				continue;
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2955  			if (WARN(ret >= sizeof(mode_option_buf), "atafb: option too long\n"))
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2956  				continue;
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2957  			mode_option = mode_option_buf;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2958  			default_par = temp;
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2959  		} else if (!strcmp(this_opt, "inverse"))
c7ef5e285c842b drivers/video/fbdev/atafb.c Geert Uytterhoeven 2022-07-11  2960  			fb_invert_cmaps();
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2961  		else if (!strncmp(this_opt, "hwscroll_", 9)) {
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2962  			hwscroll = simple_strtoul(this_opt + 9, NULL, 10);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2963  			if (hwscroll < 0)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2964  				hwscroll = 0;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2965  			if (hwscroll > 200)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2966  				hwscroll = 200;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2967  		}
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2968  #ifdef ATAFB_EXT
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2969  		else if (!strcmp(this_opt, "mv300")) {
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2970  			external_bitspercol = 8;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2971  			external_card_type = IS_MV300;
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2972  		} else if (!strncmp(this_opt, "external:", 9))
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16 @2973  			atafb_setup_ext(this_opt + 9);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2974  #endif
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2975  		else if (!strncmp(this_opt, "internal:", 9))
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16 @2976  			atafb_setup_int(this_opt + 9);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2977  #ifdef ATAFB_FALCON
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2978  		else if (!strncmp(this_opt, "eclock:", 7)) {
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2979  			fext.f = simple_strtoul(this_opt + 7, NULL, 10);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2980  			/* external pixelclock in kHz --> ps */
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2981  			fext.t = 1000000000 / fext.f;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2982  			fext.f *= 1000;
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2983  		} else if (!strncmp(this_opt, "monitorcap:", 11))
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16 @2984  			atafb_setup_mcap(this_opt + 11);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2985  #endif
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2986  		else if (!strcmp(this_opt, "keep"))
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2987  			DontCalcRes = 1;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2988  		else if (!strncmp(this_opt, "R", 1))
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16 @2989  			atafb_setup_user(this_opt + 1);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2990  	}
c5b52a9aafa2bf drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2991  
c5b52a9aafa2bf drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2992  	option_iter_release(&iter);
c5b52a9aafa2bf drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2993  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2994  	return 0;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2995  }
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2996  

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

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Thomas Zimmermann <tzimmermann@suse.de>,
	deller@gmx.de, paulus@samba.org, benh@kernel.crashing.org,
	linux@armlinux.org.uk, pjones@redhat.com, timur@kernel.org,
	adaplas@gmail.com, s.hauer@pengutronix.de, shawnguo@kernel.org,
	mbroemme@libmpq.org, thomas@winischhofer.net,
	James.Bottomley@hansenpartnership.com, spock@gentoo.org,
	sudipm.mukherjee@gmail.com, teddy.wang@siliconmotion.com,
	geert+renesas@glider.be, corbet@lwn.net
Cc: dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Thomas Zimmermann <tzimmermann@suse.de>,
	oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH 10/99] fbdev/atafb: Parse option string with struct option_iter
Date: Tue, 7 Mar 2023 02:58:28 +0800	[thread overview]
Message-ID: <202303070232.fCaufe3z-lkp@intel.com> (raw)
In-Reply-To: <20230306160016.4459-11-tzimmermann@suse.de>

Hi Thomas,

I love your patch! Perhaps something to improve:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on staging/staging-testing staging/staging-next staging/staging-linus linus/master v6.3-rc1 next-20230306]
[cannot apply to deller-parisc/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Thomas-Zimmermann/lib-Add-option-iterator/20230307-000524
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    https://lore.kernel.org/r/20230306160016.4459-11-tzimmermann%40suse.de
patch subject: [PATCH 10/99] fbdev/atafb: Parse option string with struct option_iter
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20230307/202303070232.fCaufe3z-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/c5b52a9aafa2bf0107e27c7c2aa66bee9a449521
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Thomas-Zimmermann/lib-Add-option-iterator/20230307-000524
        git checkout c5b52a9aafa2bf0107e27c7c2aa66bee9a449521
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash drivers/video/fbdev/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303070232.fCaufe3z-lkp@intel.com/

All warnings (new ones prefixed by >>):

   drivers/video/fbdev/atafb.c: In function 'ext_setcolreg':
   drivers/video/fbdev/atafb.c:2187:31: warning: variable 'tmp' set but not used [-Wunused-but-set-variable]
    2187 |                 unsigned char tmp = INB(0x3da); \
         |                               ^~~
   drivers/video/fbdev/atafb.c:2210:17: note: in expansion of macro 'DACDelay'
    2210 |                 DACDelay;
         |                 ^~~~~~~~
   drivers/video/fbdev/atafb.c:2187:31: warning: variable 'tmp' set but not used [-Wunused-but-set-variable]
    2187 |                 unsigned char tmp = INB(0x3da); \
         |                               ^~~
   drivers/video/fbdev/atafb.c:2212:17: note: in expansion of macro 'DACDelay'
    2212 |                 DACDelay;
         |                 ^~~~~~~~
   drivers/video/fbdev/atafb.c:2187:31: warning: variable 'tmp' set but not used [-Wunused-but-set-variable]
    2187 |                 unsigned char tmp = INB(0x3da); \
         |                               ^~~
   drivers/video/fbdev/atafb.c:2214:17: note: in expansion of macro 'DACDelay'
    2214 |                 DACDelay;
         |                 ^~~~~~~~
   drivers/video/fbdev/atafb.c:2187:31: warning: variable 'tmp' set but not used [-Wunused-but-set-variable]
    2187 |                 unsigned char tmp = INB(0x3da); \
         |                               ^~~
   drivers/video/fbdev/atafb.c:2216:17: note: in expansion of macro 'DACDelay'
    2216 |                 DACDelay;
         |                 ^~~~~~~~
   drivers/video/fbdev/atafb.c: In function 'atafb_copyarea':
   drivers/video/fbdev/atafb.c:2464:13: warning: variable 'rev_copy' set but not used [-Wunused-but-set-variable]
    2464 |         int rev_copy = 0;
         |             ^~~~~~~~
   drivers/video/fbdev/atafb.c: In function 'atafb_setup':
>> drivers/video/fbdev/atafb.c:2948:44: warning: passing argument 1 of 'get_video_mode' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    2948 |                 if ((temp = get_video_mode(this_opt))) {
         |                                            ^~~~~~~~
   drivers/video/fbdev/atafb.c:529:33: note: expected 'char *' but argument is of type 'const char *'
     529 | static int get_video_mode(char *vname)
         |                           ~~~~~~^~~~~
>> drivers/video/fbdev/atafb.c:2973:50: warning: passing argument 1 of 'atafb_setup_ext' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    2973 |                         atafb_setup_ext(this_opt + 9);
         |                                         ~~~~~~~~~^~~
   drivers/video/fbdev/atafb.c:2720:42: note: expected 'char *' but argument is of type 'const char *'
    2720 | static void __init atafb_setup_ext(char *spec)
         |                                    ~~~~~~^~~~
>> drivers/video/fbdev/atafb.c:2976:50: warning: passing argument 1 of 'atafb_setup_int' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    2976 |                         atafb_setup_int(this_opt + 9);
         |                                         ~~~~~~~~~^~~
   drivers/video/fbdev/atafb.c:2837:42: note: expected 'char *' but argument is of type 'const char *'
    2837 | static void __init atafb_setup_int(char *spec)
         |                                    ~~~~~~^~~~
>> drivers/video/fbdev/atafb.c:2984:51: warning: passing argument 1 of 'atafb_setup_mcap' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    2984 |                         atafb_setup_mcap(this_opt + 11);
         |                                          ~~~~~~~~~^~~~
   drivers/video/fbdev/atafb.c:2873:43: note: expected 'char *' but argument is of type 'const char *'
    2873 | static void __init atafb_setup_mcap(char *spec)
         |                                     ~~~~~~^~~~
>> drivers/video/fbdev/atafb.c:2989:51: warning: passing argument 1 of 'atafb_setup_user' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    2989 |                         atafb_setup_user(this_opt + 1);
         |                                          ~~~~~~~~~^~~
   drivers/video/fbdev/atafb.c:2910:43: note: expected 'char *' but argument is of type 'const char *'
    2910 | static void __init atafb_setup_user(char *spec)
         |                                     ~~~~~~^~~~


vim +2948 drivers/video/fbdev/atafb.c

^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2836  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16 @2837  static void __init atafb_setup_int(char *spec)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2838  {
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2839  	/* Format to config extended internal video hardware like OverScan:
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2840  	 * "internal:<xres>;<yres>;<xres_max>;<yres_max>;<offset>"
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2841  	 * Explanation:
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2842  	 * <xres>: x-resolution
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2843  	 * <yres>: y-resolution
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2844  	 * The following are only needed if you have an overscan which
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2845  	 * needs a black border:
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2846  	 * <xres_max>: max. length of a line in pixels your OverScan hardware would allow
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2847  	 * <yres_max>: max. number of lines your OverScan hardware would allow
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2848  	 * <offset>: Offset from physical beginning to visible beginning
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2849  	 *	  of screen in bytes
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2850  	 */
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2851  	int xres;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2852  	char *p;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2853  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2854  	if (!(p = strsep(&spec, ";")) || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2855  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2856  	xres = simple_strtoul(p, NULL, 10);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2857  	if (!(p = strsep(&spec, ";")) || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2858  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2859  	sttt_xres = xres;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2860  	tt_yres = st_yres = simple_strtoul(p, NULL, 10);
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2861  	if ((p = strsep(&spec, ";")) && *p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2862  		sttt_xres_virtual = simple_strtoul(p, NULL, 10);
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2863  	if ((p = strsep(&spec, ";")) && *p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2864  		sttt_yres_virtual = simple_strtoul(p, NULL, 0);
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2865  	if ((p = strsep(&spec, ";")) && *p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2866  		ovsc_offset = simple_strtoul(p, NULL, 0);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2867  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2868  	if (ovsc_offset || (sttt_yres_virtual != st_yres))
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2869  		use_hwscroll = 0;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2870  }
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2871  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2872  #ifdef ATAFB_FALCON
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2873  static void __init atafb_setup_mcap(char *spec)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2874  {
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2875  	char *p;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2876  	int vmin, vmax, hmin, hmax;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2877  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2878  	/* Format for monitor capabilities is: <Vmin>;<Vmax>;<Hmin>;<Hmax>
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2879  	 * <V*> vertical freq. in Hz
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2880  	 * <H*> horizontal freq. in kHz
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2881  	 */
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2882  	if (!(p = strsep(&spec, ";")) || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2883  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2884  	vmin = simple_strtoul(p, NULL, 10);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2885  	if (vmin <= 0)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2886  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2887  	if (!(p = strsep(&spec, ";")) || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2888  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2889  	vmax = simple_strtoul(p, NULL, 10);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2890  	if (vmax <= 0 || vmax <= vmin)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2891  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2892  	if (!(p = strsep(&spec, ";")) || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2893  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2894  	hmin = 1000 * simple_strtoul(p, NULL, 10);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2895  	if (hmin <= 0)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2896  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2897  	if (!(p = strsep(&spec, "")) || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2898  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2899  	hmax = 1000 * simple_strtoul(p, NULL, 10);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2900  	if (hmax <= 0 || hmax <= hmin)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2901  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2902  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2903  	fb_info.monspecs.vfmin = vmin;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2904  	fb_info.monspecs.vfmax = vmax;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2905  	fb_info.monspecs.hfmin = hmin;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2906  	fb_info.monspecs.hfmax = hmax;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2907  }
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2908  #endif /* ATAFB_FALCON */
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2909  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2910  static void __init atafb_setup_user(char *spec)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2911  {
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2912  	/* Format of user defined video mode is: <xres>;<yres>;<depth>
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2913  	 */
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2914  	char *p;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2915  	int xres, yres, depth, temp;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2916  
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2917  	p = strsep(&spec, ";");
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2918  	if (!p || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2919  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2920  	xres = simple_strtoul(p, NULL, 10);
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2921  	p = strsep(&spec, ";");
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2922  	if (!p || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2923  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2924  	yres = simple_strtoul(p, NULL, 10);
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2925  	p = strsep(&spec, "");
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2926  	if (!p || !*p)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2927  		return;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2928  	depth = simple_strtoul(p, NULL, 10);
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2929  	temp = get_video_mode("user0");
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2930  	if (temp) {
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2931  		default_par = temp;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2932  		atafb_predefined[default_par - 1].xres = xres;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2933  		atafb_predefined[default_par - 1].yres = yres;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2934  		atafb_predefined[default_par - 1].bits_per_pixel = depth;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2935  	}
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2936  }
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2937  
c5b52a9aafa2bf drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2938  static int __init atafb_setup(const char *options)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2939  {
c5b52a9aafa2bf drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2940  	struct option_iter iter;
c5b52a9aafa2bf drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2941  	const char *this_opt;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2942  	int temp;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2943  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2944  	if (!options || !*options)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2945  		return 0;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2946  
c5b52a9aafa2bf drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2947  	while (option_iter_next(&iter, this_opt)) {
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01 @2948  		if ((temp = get_video_mode(this_opt))) {
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2949  			static char mode_option_buf[256];
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2950  			int ret;
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2951  
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2952  			ret = snprintf(mode_option_buf, sizeof(mode_option_buf), "%s", this_opt);
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2953  			if (WARN(ret < 0, "atafb: ignoring invalid option, ret=%d\n", ret))
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2954  				continue;
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2955  			if (WARN(ret >= sizeof(mode_option_buf), "atafb: option too long\n"))
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2956  				continue;
1d84bc16e985b8 drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2957  			mode_option = mode_option_buf;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2958  			default_par = temp;
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2959  		} else if (!strcmp(this_opt, "inverse"))
c7ef5e285c842b drivers/video/fbdev/atafb.c Geert Uytterhoeven 2022-07-11  2960  			fb_invert_cmaps();
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2961  		else if (!strncmp(this_opt, "hwscroll_", 9)) {
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2962  			hwscroll = simple_strtoul(this_opt + 9, NULL, 10);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2963  			if (hwscroll < 0)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2964  				hwscroll = 0;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2965  			if (hwscroll > 200)
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2966  				hwscroll = 200;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2967  		}
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2968  #ifdef ATAFB_EXT
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2969  		else if (!strcmp(this_opt, "mv300")) {
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2970  			external_bitspercol = 8;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2971  			external_card_type = IS_MV300;
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2972  		} else if (!strncmp(this_opt, "external:", 9))
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16 @2973  			atafb_setup_ext(this_opt + 9);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2974  #endif
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2975  		else if (!strncmp(this_opt, "internal:", 9))
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16 @2976  			atafb_setup_int(this_opt + 9);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2977  #ifdef ATAFB_FALCON
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2978  		else if (!strncmp(this_opt, "eclock:", 7)) {
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2979  			fext.f = simple_strtoul(this_opt + 7, NULL, 10);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2980  			/* external pixelclock in kHz --> ps */
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2981  			fext.t = 1000000000 / fext.f;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2982  			fext.f *= 1000;
a100501212f2e2 drivers/video/atafb.c       Michael Schmitz    2007-05-01  2983  		} else if (!strncmp(this_opt, "monitorcap:", 11))
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16 @2984  			atafb_setup_mcap(this_opt + 11);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2985  #endif
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2986  		else if (!strcmp(this_opt, "keep"))
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2987  			DontCalcRes = 1;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2988  		else if (!strncmp(this_opt, "R", 1))
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16 @2989  			atafb_setup_user(this_opt + 1);
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2990  	}
c5b52a9aafa2bf drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2991  
c5b52a9aafa2bf drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2992  	option_iter_release(&iter);
c5b52a9aafa2bf drivers/video/fbdev/atafb.c Thomas Zimmermann  2023-03-06  2993  
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2994  	return 0;
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2995  }
^1da177e4c3f41 drivers/video/atafb.c       Linus Torvalds     2005-04-16  2996  

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

  reply	other threads:[~2023-03-06 18:58 UTC|newest]

Thread overview: 232+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-06 15:58 [PATCH 00/99] fbdev: Fix memory leak in option parsing Thomas Zimmermann
2023-03-06 15:58 ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 01/99] lib: Add option iterator Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 22:37   ` Randy Dunlap
2023-03-06 22:37     ` Randy Dunlap
2023-03-07  8:40     ` Thomas Zimmermann
2023-03-07  8:40       ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 02/99] fbdev/68328fb: Remove trailing whitespaces Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 03/99] fbdev/68328fb: Remove unused option string Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 04/99] fbdev/acornfb: Only init fb_info once Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 05/99] fbdev/acornfb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 06/99] fbdev/amifb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 07/99] fbdev/amifb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 17:57   ` kernel test robot
2023-03-06 17:57     ` kernel test robot
2023-03-06 15:58 ` [PATCH 08/99] fbdev/arkfb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 21:12   ` kernel test robot
2023-03-06 21:12     ` kernel test robot
2023-03-06 15:58 ` [PATCH 09/99] fbdev/atafb: " Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 10/99] fbdev/atafb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 18:58   ` kernel test robot [this message]
2023-03-06 18:58     ` kernel test robot
2023-03-06 15:58 ` [PATCH 11/99] fbdev/aty: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 16:13   ` Geert Uytterhoeven
2023-03-06 16:13     ` Geert Uytterhoeven
2023-03-07  8:24     ` Thomas Zimmermann
2023-03-07  8:24       ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 12/99] fbdev/aty: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 13/99] fbdev/au1100fb: " Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 14/99] fbdev/au1200fb: " Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 15/99] fbdev/cirrusfb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 16/99] fbdev/cirrusfb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 17/99] fbdev/controlfb: Remove trailing whitespaces Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 18/99] fbdev/controlfb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 19/99] fbdev/cyber2000fb: " Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 20/99] fbdev/efifb: " Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 21/99] fbdev/fm2fb: " Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 15:58 ` [PATCH 22/99] fbdev/fsl-diu-fb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:58   ` Thomas Zimmermann
2023-03-06 20:04   ` Timur Tabi
2023-03-06 20:04     ` Timur Tabi
2023-03-07  8:28     ` Thomas Zimmermann
2023-03-07  8:28       ` Thomas Zimmermann
2023-03-08 16:26       ` Timur Tabi
2023-03-08 16:26         ` Timur Tabi
2023-03-09 12:15         ` Thomas Zimmermann
2023-03-09 12:15           ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 23/99] fbdev/fsl-diu-fb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 24/99] fbdev/gbefb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 25/99] fbdev/gbefb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 26/99] fbdev/geode: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 27/99] fbdev/geode: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 28/99] fbdev/grvga: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 29/99] fbdev/grvga: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 20:00   ` kernel test robot
2023-03-06 20:00     ` kernel test robot
2023-03-06 15:59 ` [PATCH 30/99] fbdev/gxt4500: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 31/99] fbdev/hyperv_fb: " Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 32/99] fbdev/i740fb: " Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 33/99] fbdev/i740fb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 34/99] fbdev/i810: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 35/99] fbdev/i810: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 36/99] fbdev/imsttfb: " Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 37/99] fbdev/intelfb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 38/99] fbdev/intelfb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 39/99] fbdev/imxfb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 40/99] fbdev/imxfb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 41/99] fbdev/kyrofb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 42/99] fbdev/kyrofb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 43/99] fbdev/macfb: Remove trailing whitespaces Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 44/99] fbdev/macfb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 45/99] fbdev/matroxfb: " Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 46/99] fbdev/mx3fb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 47/99] fbdev/mx3fb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 48/99] fbdev/neofb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 49/99] fbdev/neofb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 50/99] fbdev/nvidiafb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 51/99] fbdev/nvidiafb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 52/99] fbdev/ocfb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 53/99] fbdev/ocfb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 54/99] fbdev/omapfb: " Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 55/99] fbdev/platinumfb: Remove trailing whitespaces Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 56/99] fbdev/platinumfb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 57/99] fbdev/pm2fb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 58/99] fbdev/pm2fb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 59/99] fbdev/pm3fb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 60/99] fbdev/pm3fb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 61/99] fbdev/ps3fb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 62/99] fbdev/ps3fb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 63/99] fbdev/pvr2fb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 64/99] fbdev/pvr2fb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 65/99] fbdev/pxafb: " Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 66/99] fbdev/rivafb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 67/99] fbdev/rivafb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 68/99] fbdev/s3fb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 69/99] fbdev/s3fb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 70/99] fbdev/savagefb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 71/99] fbdev/savagefb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 72/99] fbdev/sisfb: Constify mode string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 73/99] fbdev/sisfb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 74/99] fbdev/skeletonfb: " Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 75/99] fbdev/sm712fb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 76/99] fbdev/sstfb: " Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 77/99] fbdev/sstfb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 78/99] fbdev/stifb: Remove trailing whitespaces Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 79/99] fbdev/sti: Constify option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 80/99] fbdev/tdfxfb: Duplicate video-mode " Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 81/99] fbdev/tdfxfb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 15:59 ` [PATCH 82/99] fbdev/tgafb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 15:59   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 83/99] fbdev/tgafb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 84/99] fbdev/tmiofb: Remove unused option string Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 85/99] fbdev/tridentfb: Duplicate video-mode " Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 86/99] fbdev/tridentfb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 87/99] fbdev/uvesafb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 88/99] fbdev/uvesafb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 89/99] fbdev/valkyriefb: Remove trailing whitespaces Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 90/99] fbdev/valkyriefb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 91/99] fbdev/vermilion: Remove unused option string Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 92/99] fbdev/vesafb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 93/99] fbdev/vfb: Remove trailing whitespaces Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 94/99] fbdev/vfb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 95/99] fbdev/vfb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 96/99] fbdev/viafb: " Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 97/99] fbdev/vt8623fb: Duplicate video-mode option string Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-07  0:26   ` kernel test robot
2023-03-07  0:26     ` kernel test robot
2023-03-06 16:00 ` [PATCH 98/99] staging/sm750fb: Parse option string with struct option_iter Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-06 16:00 ` [PATCH 99/99] fbdev: Constify option strings Thomas Zimmermann
2023-03-06 16:00   ` Thomas Zimmermann
2023-03-07  7:53 ` [PATCH 00/99] fbdev: Fix memory leak in option parsing Geert Uytterhoeven
2023-03-07  7:53   ` Geert Uytterhoeven
2023-03-07  8:23   ` Thomas Zimmermann
2023-03-07  8:23     ` Thomas Zimmermann
2023-03-07  8:57     ` Geert Uytterhoeven
2023-03-07  8:57       ` Geert Uytterhoeven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202303070232.fCaufe3z-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=adaplas@gmail.com \
    --cc=benh@kernel.crashing.org \
    --cc=corbet@lwn.net \
    --cc=deller@gmx.de \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=geert+renesas@glider.be \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mbroemme@libmpq.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=paulus@samba.org \
    --cc=pjones@redhat.com \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=spock@gentoo.org \
    --cc=sudipm.mukherjee@gmail.com \
    --cc=teddy.wang@siliconmotion.com \
    --cc=thomas@winischhofer.net \
    --cc=timur@kernel.org \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.