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
next prev parent 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: linkBe 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.