Following the great work of Lee Jones in other subsystems here is a set of patches that address all remaining W=1 warnings in drivers/video/. Lee Jones already fixed all warnings in video/backlight/ so this is mostly fbdev related fixes.
The general approach used were: - Fix kernel-doc, this is often very trivial - Drop unused local variables - Use no_printk for local logging support
Build tested on a set of architectures with various configs.
The patches do not depends on each other and in most cases all fixes for one driver is kept in a single patch.
The individual changes are trivial so this is a great starter task to try to review these patches.
A timely Reviewed-by: or Acked-by: would be very nice so we can get the warnings fixes before we cut for the merge window.
v2: - Updated subject of the patches to tell what was fixed (Lee) - Fixed build error in one patch (kernel test robot) - A few editorials updates to the changelog messages
Sam
Sam Ravnborg (28): video: Fix kernel-doc warnings in of_display_timing + of_videomode video: fbcon: Fix warnings by using pr_debug() in fbcon video: fbdev: core: Fix kernel-doc warnings in fbmon + fb_notify video: fbdev: aty: Delete unused variable in radeon_monitor video: fbdev: aty: Fix set but not used warnings video: fbdev: aty: Fix set but not used warnings in mach64_ct video: fbdev: sis: Fix defined but not used warnings video: fbdev: sis: Fix defined but not used warning of SiS_TVDelay video: fbdev: sis: Fix set but not used warnings in init.c video: fbdev: sis: Fix set but not used warnings in sis_main video: fbdev: via: Fix set but not used warning for mode_crt_table video: fbdev: tdfx: Fix set but not used warning in att_outb() video: fbdev: riva: Fix kernel-doc and set but not used warnings video: fbdev: pm2fb: Fix kernel-doc warnings video: fbdev: neofb: Fix set but not used warning for CursorMem video: fbdev: hgafb: Fix kernel-doc warnings video: fbdev: tgafb: Fix kernel-doc and set but not used warnings video: fbdev: mx3fb: Fix kernel-doc, set but not used and string warnings video: fbdev: sstfb: Updated logging to fix set but not used warnings video: fbdev: nvidia: Fix set but not used warnings video: fbdev: tmiofb: Fix set but not used warnings video: fbdev: omapfb: Fix set but not used warnings in dsi video: fbdev: omapfb: Fix set but not used warnings in hdmi*_core video: fbdev: s3c-fb: Fix kernel-doc and set but not used warnings video: fbdev: uvesafb: Fix set but not used warning video: fbdev: uvesafb: Fix string related warnings video: fbdev: cirrusfb: Fix kernel-doc and set but not used warnings video: fbdev: s1d13xxxfb: Fix kernel-doc and set but not used warnings
drivers/video/fbdev/aty/atyfb_base.c | 11 +++----- drivers/video/fbdev/aty/mach64_ct.c | 15 ++++++---- drivers/video/fbdev/aty/radeon_monitor.c | 4 +-- drivers/video/fbdev/cirrusfb.c | 20 ++++++------- drivers/video/fbdev/core/fb_notify.c | 3 +- drivers/video/fbdev/core/fbcon.c | 25 ++++++----------- drivers/video/fbdev/core/fbmon.c | 2 +- drivers/video/fbdev/hgafb.c | 4 +-- drivers/video/fbdev/mx3fb.c | 13 +++++---- drivers/video/fbdev/neofb.c | 4 --- drivers/video/fbdev/nvidia/nv_setup.c | 7 ++--- drivers/video/fbdev/omap2/omapfb/dss/dsi.c | 12 ++------ drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c | 4 +-- drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c | 4 +-- drivers/video/fbdev/pm2fb.c | 8 +++--- drivers/video/fbdev/riva/fbdev.c | 9 +++--- drivers/video/fbdev/riva/riva_hw.c | 28 ++++++------------- drivers/video/fbdev/s1d13xxxfb.c | 3 +- drivers/video/fbdev/s3c-fb.c | 11 ++++---- drivers/video/fbdev/sis/init.c | 34 ++++------------------- drivers/video/fbdev/sis/oem310.h | 2 ++ drivers/video/fbdev/sis/sis.h | 1 - drivers/video/fbdev/sis/sis_main.c | 9 +++--- drivers/video/fbdev/sstfb.c | 2 +- drivers/video/fbdev/tdfxfb.c | 4 +-- drivers/video/fbdev/tgafb.c | 7 ++--- drivers/video/fbdev/tmiofb.c | 6 ++-- drivers/video/fbdev/uvesafb.c | 8 +++--- drivers/video/fbdev/via/lcd.c | 4 +-- drivers/video/of_display_timing.c | 1 + drivers/video/of_videomode.c | 8 +++--- include/video/sstfb.h | 4 +-- 32 files changed, 107 insertions(+), 170 deletions(-)
Fix kernel-doc warnings reported when using W=1.
v2: - Improve subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Lee Jones lee.jones@linaro.org Cc: linux-fbdev@vger.kernel.org --- drivers/video/of_display_timing.c | 1 + drivers/video/of_videomode.c | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/video/of_display_timing.c b/drivers/video/of_display_timing.c index abc9ada798ee..f93b6abbe258 100644 --- a/drivers/video/of_display_timing.c +++ b/drivers/video/of_display_timing.c @@ -52,6 +52,7 @@ static int parse_timing_property(const struct device_node *np, const char *name, /** * of_parse_display_timing - parse display_timing entry from device_node * @np: device_node with the properties + * @dt: display_timing that contains the result. I may be partially written in case of errors **/ static int of_parse_display_timing(const struct device_node *np, struct display_timing *dt) diff --git a/drivers/video/of_videomode.c b/drivers/video/of_videomode.c index 67aff2421c29..a5bb02f02b44 100644 --- a/drivers/video/of_videomode.c +++ b/drivers/video/of_videomode.c @@ -13,10 +13,10 @@ #include <video/videomode.h>
/** - * of_get_videomode - get the videomode #<index> from devicetree - * @np - devicenode with the display_timings - * @vm - set to return value - * @index - index into list of display_timings + * of_get_videomode: get the videomode #<index> from devicetree + * @np: devicenode with the display_timings + * @vm: set to return value + * @index: index into list of display_timings * (Set this to OF_USE_NATIVE_MODE to use whatever mode is * specified as native mode in the DT.) *
Am 28.11.20 um 23:40 schrieb Sam Ravnborg:
What's wrong with this line? We use the dash in lots of places?
Besides this,
Acked-by: Thomas Zimmermann tzimmermann@suse.de
On Sun, Nov 29, 2020 at 11:01:13AM +0100, Thomas Zimmermann wrote:
I think my OCD kicked in and I made all lines use ':'. I will re-add the dash when I apply.
Besides this,
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Thanks
Replacing DPRINTK() statements with pr_debug fixes set but not used warnings. And moves to a more standard logging setup at the same time.
v2: - Fix indent (Joe)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Joe Perches joe@perches.com Cc: Greg Kroah-Hartman gregkh@linuxfoundation.org Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com Cc: Sam Ravnborg sam@ravnborg.org Cc: Jiri Slaby jirislaby@kernel.org Cc: Peilin Ye yepeilin.cs@gmail.com Cc: Tetsuo Handa penguin-kernel@I-love.SAKURA.ne.jp Cc: George Kennedy george.kennedy@oracle.com Cc: Nathan Chancellor natechancellor@gmail.com Cc: Peter Rosin peda@axentia.se --- drivers/video/fbdev/core/fbcon.c | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-)
diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c index bf61598bf1c3..44a5cd2f54cc 100644 --- a/drivers/video/fbdev/core/fbcon.c +++ b/drivers/video/fbdev/core/fbcon.c @@ -56,8 +56,6 @@ * more details. */
-#undef FBCONDEBUG - #include <linux/module.h> #include <linux/types.h> #include <linux/fs.h> @@ -82,12 +80,6 @@
#include "fbcon.h"
-#ifdef FBCONDEBUG -# define DPRINTK(fmt, args...) printk(KERN_DEBUG "%s: " fmt, __func__ , ## args) -#else -# define DPRINTK(fmt, args...) -#endif - /* * FIXME: Locking * @@ -1015,11 +1007,11 @@ static const char *fbcon_startup(void) rows /= vc->vc_font.height; vc_resize(vc, cols, rows);
- DPRINTK("mode: %s\n", info->fix.id); - DPRINTK("visual: %d\n", info->fix.visual); - DPRINTK("res: %dx%d-%d\n", info->var.xres, - info->var.yres, - info->var.bits_per_pixel); + pr_debug("mode: %s\n", info->fix.id); + pr_debug("visual: %d\n", info->fix.visual); + pr_debug("res: %dx%d-%d\n", info->var.xres, + info->var.yres, + info->var.bits_per_pixel);
fbcon_add_cursor_timer(info); return display_desc; @@ -2013,7 +2005,7 @@ static int fbcon_resize(struct vc_data *vc, unsigned int width, y_diff < 0 || y_diff > virt_fh) { const struct fb_videomode *mode;
- DPRINTK("attempting resize %ix%i\n", var.xres, var.yres); + pr_debug("attempting resize %ix%i\n", var.xres, var.yres); mode = fb_find_best_mode(&var, &info->modelist); if (mode == NULL) return -EINVAL; @@ -2023,7 +2015,7 @@ static int fbcon_resize(struct vc_data *vc, unsigned int width, if (virt_w > var.xres/virt_fw || virt_h > var.yres/virt_fh) return -EINVAL;
- DPRINTK("resize now %ix%i\n", var.xres, var.yres); + pr_debug("resize now %ix%i\n", var.xres, var.yres); if (con_is_visible(vc)) { var.activate = FB_ACTIVATE_NOW | FB_ACTIVATE_FORCE; @@ -3299,8 +3291,7 @@ static void fbcon_exit(void)
if (info->queue.func) pending = cancel_work_sync(&info->queue); - DPRINTK("fbcon: %s pending work\n", (pending ? "canceled" : - "no")); + pr_debug("fbcon: %s pending work\n", (pending ? "canceled" : "no"));
for (j = first_fb_vc; j <= last_fb_vc; j++) { if (con2fb_map[j] == i) {
Am 28.11.20 um 23:40 schrieb Sam Ravnborg:
I guess this was added for quick debugging during development. Anyway, I never liked these kinds of hacks.
Acked-by: Thomas Zimmermann tzimmermann@suse.de
On 2020/11/29 19:03, Thomas Zimmermann wrote:
But replacing printk(KERN_DEBUG) with pr_debug() prevents __func__ from being printed when FBCONDEBUG is defined. Is such change what the author of this module expects?
Hi Tetsuo, On Sun, Nov 29, 2020 at 07:28:08PM +0900, Tetsuo Handa wrote:
When someone goes and enable DEBUG for fbcon they are also able to recognize the logging, so the printing of the function name is redundant in this case.
There is likely limited to no use for these few logging entries, but if they should be dropped then I expect Peilin Ye to do so as he is the only one doing active maintenance of fbcon lately.
Sam
Hi Sam,
On Sun, Nov 29, 2020 at 12:18:36PM +0100, Sam Ravnborg wrote:
Sure, I will take another look at them. Also sorry for the delay in that printk() -> dev_*() patch you suggested, overwhelmed by some other things this week. Sometimes fbcon.c accesses dev structs in a pretty weird way (e.g. registered_fb[con2fb_map[vc->vc_num]]->dev), I will get back to it when I understand this better.
Thanks, Peilin Ye
Hi Peilin, On Mon, Nov 30, 2020 at 01:38:05AM -0500, Peilin Ye wrote:
Please just keep up the good work cleaning up fbcon and related stuff. This is an area that needs some love and care and there is work for many long nights yet to do.
Sam
Fix kernel-doc warnings reported when using W=1
v2: - Improve subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Lee Jones lee.jones@linaro.org Cc: Sam Ravnborg sam@ravnborg.org Cc: Randy Dunlap rdunlap@infradead.org Cc: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: "Alexander A. Klimov" grandmaster@al2klimov.de --- drivers/video/fbdev/core/fb_notify.c | 3 ++- drivers/video/fbdev/core/fbmon.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/video/fbdev/core/fb_notify.c b/drivers/video/fbdev/core/fb_notify.c index 74c2da528884..d85717b6e14a 100644 --- a/drivers/video/fbdev/core/fb_notify.c +++ b/drivers/video/fbdev/core/fb_notify.c @@ -38,7 +38,8 @@ EXPORT_SYMBOL(fb_unregister_client);
/** * fb_notifier_call_chain - notify clients of fb_events - * + * @val: value passed to callback + * @v: pointer passed to callback */ int fb_notifier_call_chain(unsigned long val, void *v) { diff --git a/drivers/video/fbdev/core/fbmon.c b/drivers/video/fbdev/core/fbmon.c index 1bf82dbc9e3c..b0e690f41025 100644 --- a/drivers/video/fbdev/core/fbmon.c +++ b/drivers/video/fbdev/core/fbmon.c @@ -605,6 +605,7 @@ static void get_detailed_timing(unsigned char *block, * fb_create_modedb - create video mode database * @edid: EDID data * @dbsize: database size + * @specs: monitor specifications, may be NULL * * RETURNS: struct fb_videomode, @dbsize contains length of database * @@ -1100,7 +1101,6 @@ static u32 fb_get_hblank_by_hfreq(u32 hfreq, u32 xres) * 2 * M * M = 300; * C = 30; - */ static u32 fb_get_hblank_by_dclk(u32 dclk, u32 xres) {
Am 28.11.20 um 23:40 schrieb Sam Ravnborg:
Since you're at it, maybe add Returns.
Fix warning about variable that is asssigned a value but never used. The variable was indeed never used so delete it.
Keep the call to radeon_probe_i2c_connector() as it may have side-effects. It is unlikely but I could not verify that is was safe to drop the call.
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Benjamin Herrenschmidt benh@kernel.crashing.org Cc: linux-fbdev@vger.kernel.org --- drivers/video/fbdev/aty/radeon_monitor.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/video/fbdev/aty/radeon_monitor.c b/drivers/video/fbdev/aty/radeon_monitor.c index 9966c58aa26c..df55e23b7a5a 100644 --- a/drivers/video/fbdev/aty/radeon_monitor.c +++ b/drivers/video/fbdev/aty/radeon_monitor.c @@ -488,12 +488,10 @@ void radeon_probe_screens(struct radeonfb_info *rinfo, #if defined(DEBUG) && defined(CONFIG_FB_RADEON_I2C) { u8 *EDIDs[4] = { NULL, NULL, NULL, NULL }; - int mon_types[4] = {MT_NONE, MT_NONE, MT_NONE, MT_NONE}; int i;
for (i = 0; i < 4; i++) - mon_types[i] = radeon_probe_i2c_connector(rinfo, - i+1, &EDIDs[i]); + radeon_probe_i2c_connector(rinfo, i + 1, &EDIDs[i]); } #endif /* DEBUG */ /*
Am 28.11.20 um 23:40 schrieb Sam Ravnborg:
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Fix W=1 warnings about variables assigned but never used.
- Drop variables that was set but never used - Make variable definition conditional om ATARI
v2: - Fix m68k build error (kernel test robot) - Improve subject (Lee Jones)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Reported-by: kernel test robot lkp@intel.com # m68k build fix Cc: Lee Jones lee.jones@linaro.org Cc: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com Cc: Sam Ravnborg sam@ravnborg.org Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Joe Perches joe@perches.com Cc: Vaibhav Gupta vaibhavgupta40@gmail.com Cc: Jason Yan yanaijie@huawei.com Cc: Randy Dunlap rdunlap@infradead.org Cc: Jani Nikula jani.nikula@intel.com --- drivers/video/fbdev/aty/atyfb_base.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/drivers/video/fbdev/aty/atyfb_base.c b/drivers/video/fbdev/aty/atyfb_base.c index c8feff0ee8da..83c8e809955a 100644 --- a/drivers/video/fbdev/aty/atyfb_base.c +++ b/drivers/video/fbdev/aty/atyfb_base.c @@ -2353,6 +2353,9 @@ static int aty_init(struct fb_info *info) int gtb_memsize, has_var = 0; struct fb_var_screeninfo var; int ret; +#ifdef CONFIG_ATARI + u8 dac_type; +#endif
init_waitqueue_head(&par->vblank.wait); spin_lock_init(&par->int_lock); @@ -2360,13 +2363,12 @@ static int aty_init(struct fb_info *info) #ifdef CONFIG_FB_ATY_GX if (!M64_HAS(INTEGRATED)) { u32 stat0; - u8 dac_type, dac_subtype, clk_type; + u8 dac_subtype, clk_type; stat0 = aty_ld_le32(CNFG_STAT0, par); par->bus_type = (stat0 >> 0) & 0x07; par->ram_type = (stat0 >> 3) & 0x07; ramname = aty_gx_ram[par->ram_type]; /* FIXME: clockchip/RAMDAC probing? */ - dac_type = (aty_ld_le32(DAC_CNTL, par) >> 16) & 0x07; #ifdef CONFIG_ATARI clk_type = CLK_ATI18818_1; dac_type = (stat0 >> 9) & 0x07; @@ -2375,7 +2377,6 @@ static int aty_init(struct fb_info *info) else dac_subtype = (aty_ld_8(SCRATCH_REG1 + 1, par) & 0xF0) | dac_type; #else - dac_type = DAC_IBMRGB514; dac_subtype = DAC_IBMRGB514; clk_type = CLK_IBMRGB514; #endif @@ -3062,7 +3063,6 @@ static int atyfb_setup_sparc(struct pci_dev *pdev, struct fb_info *info, if (dp == of_console_device) { struct fb_var_screeninfo *var = &default_var; unsigned int N, P, Q, M, T, R; - u32 v_total, h_total; struct crtc crtc; u8 pll_regs[16]; u8 clock_cntl; @@ -3078,9 +3078,6 @@ static int atyfb_setup_sparc(struct pci_dev *pdev, struct fb_info *info, crtc.gen_cntl = aty_ld_le32(CRTC_GEN_CNTL, par); aty_crtc_to_var(&crtc, var);
- h_total = var->xres + var->right_margin + var->hsync_len + var->left_margin; - v_total = var->yres + var->lower_margin + var->vsync_len + var->upper_margin; - /* * Read the PLL to figure actual Refresh Rate. */
Am 28.11.20 um 23:40 schrieb Sam Ravnborg:
s/that was/that were
s/om/on
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Fix W=1 warnings about variables assigned but never used. - One variable is only used when CONFIG_FB_ATY_GENERIC_LCD is defined Fix so variable is only defined with CONFIG_FB_ATY_GENERIC_LCD - Several variables was only assigned by a call to aty_ld_le32(). Drop the variables but keep the call to aty_ld_le32() as it may have unexpected side-effects.
v2: - Updated subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/aty/mach64_ct.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/drivers/video/fbdev/aty/mach64_ct.c b/drivers/video/fbdev/aty/mach64_ct.c index f87cc81f4fa2..011b07e44e0d 100644 --- a/drivers/video/fbdev/aty/mach64_ct.c +++ b/drivers/video/fbdev/aty/mach64_ct.c @@ -281,10 +281,13 @@ static u32 aty_pll_to_var_ct(const struct fb_info *info, const union aty_pll *pl void aty_set_pll_ct(const struct fb_info *info, const union aty_pll *pll) { struct atyfb_par *par = (struct atyfb_par *) info->par; - u32 crtc_gen_cntl, lcd_gen_cntrl; + u32 crtc_gen_cntl; u8 tmp, tmp2;
- lcd_gen_cntrl = 0; +#ifdef CONFIG_FB_ATY_GENERIC_LCD + u32 lcd_gen_cntrl = 0; +#endif + #ifdef DEBUG printk("atyfb(%s): about to program:\n" "pll_ext_cntl=0x%02x pll_gen_cntl=0x%02x pll_vclk_cntl=0x%02x\n", @@ -402,7 +405,7 @@ static int aty_init_pll_ct(const struct fb_info *info, union aty_pll *pll) struct atyfb_par *par = (struct atyfb_par *) info->par; u8 mpost_div, xpost_div, sclk_post_div_real; u32 q, memcntl, trp; - u32 dsp_config, dsp_on_off, vga_dsp_config, vga_dsp_on_off; + u32 dsp_config; #ifdef DEBUG int pllmclk, pllsclk; #endif @@ -488,9 +491,9 @@ static int aty_init_pll_ct(const struct fb_info *info, union aty_pll *pll)
/* Allow BIOS to override */ dsp_config = aty_ld_le32(DSP_CONFIG, par); - dsp_on_off = aty_ld_le32(DSP_ON_OFF, par); - vga_dsp_config = aty_ld_le32(VGA_DSP_CONFIG, par); - vga_dsp_on_off = aty_ld_le32(VGA_DSP_ON_OFF, par); + aty_ld_le32(DSP_ON_OFF, par); + aty_ld_le32(VGA_DSP_CONFIG, par); + aty_ld_le32(VGA_DSP_ON_OFF, par);
if (dsp_config) pll->ct.dsp_loop_latency = (dsp_config & DSP_LOOP_LATENCY) >> 16;
Am 28.11.20 um 23:40 schrieb Sam Ravnborg:
Acked-by: Thomas Zimmermann tzimmermann@suse.de
init.h define static symbols, so should only be included once. Drop the include from sis.h as it is not needed. This fixes a lot of warnings seen with a W=1 build.
v2: - Update subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Thomas Winischhofer thomas@winischhofer.net Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/sis/sis.h | 1 - 1 file changed, 1 deletion(-)
diff --git a/drivers/video/fbdev/sis/sis.h b/drivers/video/fbdev/sis/sis.h index 9f4c3093ccb3..d632f096083b 100644 --- a/drivers/video/fbdev/sis/sis.h +++ b/drivers/video/fbdev/sis/sis.h @@ -15,7 +15,6 @@
#include "vgatypes.h" #include "vstruct.h" -#include "init.h"
#define VER_MAJOR 1 #define VER_MINOR 8
Am 28.11.20 um 23:40 schrieb Sam Ravnborg:
init.h define static symbols, so should only be included
s/define/defines s/so should/so it should
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Fix W=1 warning by commenting unused SiS_TVDelay* variables.
The SiS_TVDelay* variables seem to contain some magic numbers so looks like data worth keeping around but not as code we build.
v2: - Update subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Thomas Winischhofer thomas@winischhofer.net Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/sis/oem310.h | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/video/fbdev/sis/oem310.h b/drivers/video/fbdev/sis/oem310.h index 8fce56e4482c..ed28755715ce 100644 --- a/drivers/video/fbdev/sis/oem310.h +++ b/drivers/video/fbdev/sis/oem310.h @@ -200,6 +200,7 @@ static const unsigned char SiS310_TVDelayCompensation_651302LV[] = /* M650, 651, 0x33,0x33 };
+#if 0 /* Not used */ static const unsigned char SiS_TVDelay661_301[] = /* 661, 301 */ { 0x44,0x44, @@ -219,6 +220,7 @@ static const unsigned char SiS_TVDelay661_301B[] = /* 661, 301B et al */ 0x44,0x44, 0x44,0x44 }; +#endif
static const unsigned char SiS310_TVDelayCompensation_LVDS[] = /* LVDS */ {
Am 28.11.20 um 23:40 schrieb Sam Ravnborg:
I would remove it. sisfb is broken beyond repair and no one's going to try to use it anyway. In any case
Acked-by: Thomas Zimemrmann tzimmermann@suse.de
Hi Thomas.
On Mon, Nov 30, 2020 at 10:13:05AM +0100, Thomas Zimmermann wrote:
Thanks for your patience pointing out all my spelling and grammar errors. I once had codespell set up to catch some of this, will need to do so again.
Ironically I copied the above "Acked-by:" line to most of the commits and just noticed it had a spelling error :-)
I have applied everything that you acked and will push when I have fixed the above and verified I did not break anything. Will post a v3 with the remaining patches later.
Sam
Hi
Am 30.11.20 um 20:01 schrieb Sam Ravnborg:
Perfect! :D
Fix set bit not used warnings by removing the code the assign the variables and the definition of the variables. A register read is kept as it may have unknown side-effects.
This removes a lot of unused code - which is always a good thing to do.
v2: - Updated subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Thomas Winischhofer thomas@winischhofer.net Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/sis/init.c | 34 ++++++---------------------------- 1 file changed, 6 insertions(+), 28 deletions(-)
diff --git a/drivers/video/fbdev/sis/init.c b/drivers/video/fbdev/sis/init.c index fde27feae5d0..b77ea1a8825a 100644 --- a/drivers/video/fbdev/sis/init.c +++ b/drivers/video/fbdev/sis/init.c @@ -2648,7 +2648,7 @@ static void SiS_SetCRT1ModeRegs(struct SiS_Private *SiS_Pr, unsigned short ModeNo, unsigned short ModeIdIndex, unsigned short RRTI) { - unsigned short data, infoflag = 0, modeflag, resindex; + unsigned short data, infoflag = 0, modeflag; #ifdef CONFIG_FB_SIS_315 unsigned char *ROMAddr = SiS_Pr->VirtualRomBase; unsigned short data2, data3; @@ -2659,7 +2659,7 @@ SiS_SetCRT1ModeRegs(struct SiS_Private *SiS_Pr, unsigned short ModeNo, if(SiS_Pr->UseCustomMode) { infoflag = SiS_Pr->CInfoFlag; } else { - resindex = SiS_GetResInfo(SiS_Pr, ModeNo, ModeIdIndex); + SiS_GetResInfo(SiS_Pr, ModeNo, ModeIdIndex); if(ModeNo > 0x13) { infoflag = SiS_Pr->SiS_RefIndex[RRTI].Ext_InfoFlag; } @@ -3538,17 +3538,13 @@ SiS_Generic_ConvertCRData(struct SiS_Private *SiS_Pr, unsigned char *crdata, struct fb_var_screeninfo *var, bool writeres ) { - unsigned short HRE, HBE, HRS, HBS, HDE, HT; - unsigned short VRE, VBE, VRS, VBS, VDE, VT; - unsigned char sr_data, cr_data, cr_data2; - int A, B, C, D, E, F, temp; + unsigned short HRE, HBE, HRS, HDE; + unsigned short VRE, VBE, VRS, VDE; + unsigned char sr_data, cr_data; + int B, C, D, E, F, temp;
sr_data = crdata[14];
- /* Horizontal total */ - HT = crdata[0] | ((unsigned short)(sr_data & 0x03) << 8); - A = HT + 5; - /* Horizontal display enable end */ HDE = crdata[1] | ((unsigned short)(sr_data & 0x0C) << 6); E = HDE + 1; @@ -3557,9 +3553,6 @@ SiS_Generic_ConvertCRData(struct SiS_Private *SiS_Pr, unsigned char *crdata, HRS = crdata[4] | ((unsigned short)(sr_data & 0xC0) << 2); F = HRS - E - 3;
- /* Horizontal blank start */ - HBS = crdata[2] | ((unsigned short)(sr_data & 0x30) << 4); - sr_data = crdata[15]; cr_data = crdata[5];
@@ -3588,13 +3581,6 @@ SiS_Generic_ConvertCRData(struct SiS_Private *SiS_Pr, unsigned char *crdata, sr_data = crdata[13]; cr_data = crdata[7];
- /* Vertical total */ - VT = crdata[6] | - ((unsigned short)(cr_data & 0x01) << 8) | - ((unsigned short)(cr_data & 0x20) << 4) | - ((unsigned short)(sr_data & 0x01) << 10); - A = VT + 2; - /* Vertical display enable end */ VDE = crdata[10] | ((unsigned short)(cr_data & 0x02) << 7) | @@ -3609,14 +3595,6 @@ SiS_Generic_ConvertCRData(struct SiS_Private *SiS_Pr, unsigned char *crdata, ((unsigned short)(sr_data & 0x08) << 7); F = VRS + 1 - E;
- cr_data2 = (crdata[16] & 0x01) << 5; - - /* Vertical blank start */ - VBS = crdata[11] | - ((unsigned short)(cr_data & 0x08) << 5) | - ((unsigned short)(cr_data2 & 0x20) << 4) | - ((unsigned short)(sr_data & 0x04) << 8); - /* Vertical blank end */ VBE = crdata[12] | ((unsigned short)(sr_data & 0x10) << 4); temp = VBE - ((E - 1) & 511);
Am 28.11.20 um 23:40 schrieb Sam Ravnborg:
Fix set bit not used warnings by removing the code the assign the
s/bit/but
Actually, I think the correct way of writing this would be with dashes:
Fix set-but-not-used warnings
In the current sentence, you're setting a 'but not used variable.'
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Fix warnings by dropping unused variable and the unused assignments.
v2: - Update subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Thomas Winischhofer thomas@winischhofer.net Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/sis/sis_main.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/video/fbdev/sis/sis_main.c b/drivers/video/fbdev/sis/sis_main.c index 03c736f6f3d0..266a5582f94d 100644 --- a/drivers/video/fbdev/sis/sis_main.c +++ b/drivers/video/fbdev/sis/sis_main.c @@ -5029,7 +5029,6 @@ static void sisfb_post_xgi_ddr2(struct sis_video_info *ivideo, u8 regb) static const u8 cs168[8] = { 0x48, 0x78, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00 }; - u8 reg; u8 v1; u8 v2; u8 v3; @@ -5037,9 +5036,9 @@ static void sisfb_post_xgi_ddr2(struct sis_video_info *ivideo, u8 regb) SiS_SetReg(SISCR, 0xb0, 0x80); /* DDR2 dual frequency mode */ SiS_SetReg(SISCR, 0x82, 0x77); SiS_SetReg(SISCR, 0x86, 0x00); - reg = SiS_GetReg(SISCR, 0x86); + SiS_GetReg(SISCR, 0x86); SiS_SetReg(SISCR, 0x86, 0x88); - reg = SiS_GetReg(SISCR, 0x86); + SiS_GetReg(SISCR, 0x86); v1 = cs168[regb]; v2 = cs160[regb]; v3 = cs158[regb]; if (ivideo->haveXGIROM) { v1 = bios[regb + 0x168]; @@ -5049,9 +5048,9 @@ static void sisfb_post_xgi_ddr2(struct sis_video_info *ivideo, u8 regb) SiS_SetReg(SISCR, 0x86, v1); SiS_SetReg(SISCR, 0x82, 0x77); SiS_SetReg(SISCR, 0x85, 0x00); - reg = SiS_GetReg(SISCR, 0x85); + SiS_GetReg(SISCR, 0x85); SiS_SetReg(SISCR, 0x85, 0x88); - reg = SiS_GetReg(SISCR, 0x85); + SiS_GetReg(SISCR, 0x85); SiS_SetReg(SISCR, 0x85, v2); SiS_SetReg(SISCR, 0x82, v3); SiS_SetReg(SISCR, 0x98, 0x01);
Am 28.11.20 um 23:40 schrieb Sam Ravnborg:
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Fix warning by deleting the variable. The function call viafb_get_best_mode() were verified to have no side-effects, and thus could be dropped too.
v2: - Update subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Florian Tobias Schandinat FlorianSchandinat@gmx.de Cc: linux-fbdev@vger.kernel.org Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/via/lcd.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/video/fbdev/via/lcd.c b/drivers/video/fbdev/via/lcd.c index 4a869402d120..088b962076b5 100644 --- a/drivers/video/fbdev/via/lcd.c +++ b/drivers/video/fbdev/via/lcd.c @@ -537,11 +537,9 @@ void viafb_lcd_set_mode(const struct fb_var_screeninfo *var, u16 cxres, u32 clock; struct via_display_timing timing; struct fb_var_screeninfo panel_var; - const struct fb_videomode *mode_crt_table, *panel_crt_table; + const struct fb_videomode *panel_crt_table;
DEBUG_MSG(KERN_INFO "viafb_lcd_set_mode!!\n"); - /* Get mode table */ - mode_crt_table = viafb_get_best_mode(set_hres, set_vres, 60); /* Get panel table Pointer */ panel_crt_table = viafb_get_best_mode(panel_hres, panel_vres, 60); viafb_fill_var_timing_info(&panel_var, panel_crt_table);
Am 28.11.20 um 23:40 schrieb Sam Ravnborg:
Fix warning by deleting the variable. The function call viafb_get_best_mode() were verified to have no side-effects,
s/were/was
Acked-by: Thomas Zimmermann tzimmermann@suse.de
The tmp variable were assigned but the result was never used, so delete the tmp variable.
v2: - Update subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: "Gustavo A. R. Silva" gustavoars@kernel.org Cc: Sam Ravnborg sam@ravnborg.org Cc: Jani Nikula jani.nikula@intel.com Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Arnd Bergmann arnd@arndb.de Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/tdfxfb.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/video/fbdev/tdfxfb.c b/drivers/video/fbdev/tdfxfb.c index f056d80f6359..67e37a62b07c 100644 --- a/drivers/video/fbdev/tdfxfb.c +++ b/drivers/video/fbdev/tdfxfb.c @@ -206,9 +206,7 @@ static inline u8 crt_inb(struct tdfx_par *par, u32 idx)
static inline void att_outb(struct tdfx_par *par, u32 idx, u8 val) { - unsigned char tmp; - - tmp = vga_inb(par, IS1_R); + vga_inb(par, IS1_R); vga_outb(par, ATT_IW, idx); vga_outb(par, ATT_IW, val); }
Am 28.11.20 um 23:40 schrieb Sam Ravnborg:
The tmp variable were assigned but the result was never used,
s/were/was
Acked-by: Thomas Zimmermann tzimmermann@suse.de
It resets the attribute register's state. Hopefully, this doesn't get optimized away.
Fix W=1 warnings: - Fix kernel-doc - Drop unused variables/code
v2: - Updated subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Antonino Daplas adaplas@gmail.com Cc: linux-fbdev@vger.kernel.org Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/riva/fbdev.c | 9 ++++----- drivers/video/fbdev/riva/riva_hw.c | 28 ++++++++-------------------- 2 files changed, 12 insertions(+), 25 deletions(-)
diff --git a/drivers/video/fbdev/riva/fbdev.c b/drivers/video/fbdev/riva/fbdev.c index ce55b9d2e862..55554b0433cb 100644 --- a/drivers/video/fbdev/riva/fbdev.c +++ b/drivers/video/fbdev/riva/fbdev.c @@ -464,7 +464,7 @@ static inline void reverse_order(u32 *l)
/** * rivafb_load_cursor_image - load cursor image to hardware - * @data: address to monochrome bitmap (1 = foreground color, 0 = background) + * @data8: address to monochrome bitmap (1 = foreground color, 0 = background) * @par: pointer to private data * @w: width of cursor image in pixels * @h: height of cursor image in scanlines @@ -843,9 +843,9 @@ static void riva_update_var(struct fb_var_screeninfo *var, /** * rivafb_do_maximize - * @info: pointer to fb_info object containing info for current riva board - * @var: - * @nom: - * @den: + * @var: standard kernel fb changeable data + * @nom: nom + * @den: den * * DESCRIPTION: * . @@ -1214,7 +1214,6 @@ static int rivafb_set_par(struct fb_info *info) /** * rivafb_pan_display * @var: standard kernel fb changeable data - * @con: TODO * @info: pointer to fb_info object containing info for current riva board * * DESCRIPTION: diff --git a/drivers/video/fbdev/riva/riva_hw.c b/drivers/video/fbdev/riva/riva_hw.c index bcf9c4b4de31..8b829b720064 100644 --- a/drivers/video/fbdev/riva/riva_hw.c +++ b/drivers/video/fbdev/riva/riva_hw.c @@ -836,17 +836,17 @@ static void nv10CalcArbitration nv10_sim_state *arb ) { - int data, pagemiss, cas,width, video_enable, bpp; - int nvclks, mclks, pclks, vpagemiss, crtpagemiss, vbs; - int nvclk_fill, us_extra; + int data, pagemiss, width, video_enable, bpp; + int nvclks, mclks, pclks, vpagemiss, crtpagemiss; + int nvclk_fill; int found, mclk_extra, mclk_loop, cbs, m1; int mclk_freq, pclk_freq, nvclk_freq, mp_enable; - int us_m, us_m_min, us_n, us_p, video_drain_rate, crtc_drain_rate; - int vus_m, vus_n, vus_p; - int vpm_us, us_video, vlwm, cpm_us, us_crt,clwm; + int us_m, us_m_min, us_n, us_p, crtc_drain_rate; + int vus_m; + int vpm_us, us_video, cpm_us, us_crt,clwm; int clwm_rnd_down; - int craw, m2us, us_pipe, us_pipe_min, vus_pipe, p1clk, p2; - int pclks_2_top_fifo, min_mclk_extra; + int m2us, us_pipe_min, p1clk, p2; + int min_mclk_extra; int us_min_mclk_extra;
fifo->valid = 1; @@ -854,16 +854,13 @@ static void nv10CalcArbitration mclk_freq = arb->mclk_khz; nvclk_freq = arb->nvclk_khz; pagemiss = arb->mem_page_miss; - cas = arb->mem_latency; width = arb->memory_width/64; video_enable = arb->enable_video; bpp = arb->pix_bpp; mp_enable = arb->enable_mp; clwm = 0; - vlwm = 1024;
cbs = 512; - vbs = 512;
pclks = 4; /* lwm detect. */
@@ -924,17 +921,11 @@ static void nv10CalcArbitration us_min_mclk_extra = min_mclk_extra *1000*1000 / mclk_freq; us_n = nvclks*1000*1000 / nvclk_freq;/* nvclk latency in us */ us_p = pclks*1000*1000 / pclk_freq;/* nvclk latency in us */ - us_pipe = us_m + us_n + us_p; us_pipe_min = us_m_min + us_n + us_p; - us_extra = 0;
vus_m = mclk_loop *1000*1000 / mclk_freq; /* Mclk latency in us */ - vus_n = (4)*1000*1000 / nvclk_freq;/* nvclk latency in us */ - vus_p = 0*1000*1000 / pclk_freq;/* pclk latency in us */ - vus_pipe = vus_m + vus_n + vus_p;
if(video_enable) { - video_drain_rate = pclk_freq * 4; /* MB/s */ crtc_drain_rate = pclk_freq * bpp/8; /* MB/s */
vpagemiss = 1; /* self generating page miss */ @@ -993,7 +984,6 @@ static void nv10CalcArbitration else if(crtc_drain_rate * 100 >= nvclk_fill * 98) { clwm = 1024; cbs = 512; - us_extra = (cbs * 1000 * 1000)/ (8*width)/mclk_freq ; } } } @@ -1010,7 +1000,6 @@ static void nv10CalcArbitration
m1 = clwm + cbs - 1024; /* Amount of overfill */ m2us = us_pipe_min + us_min_mclk_extra; - pclks_2_top_fifo = (1024-clwm)/(8*width);
/* pclk cycles to drain */ p1clk = m2us * pclk_freq/(1000*1000); @@ -1038,7 +1027,6 @@ static void nv10CalcArbitration min_mclk_extra--; } } - craw = clwm;
if(clwm < (1024-cbs+8)) clwm = 1024-cbs+8; data = (int)(clwm);
Am 28.11.20 um 23:40 schrieb Sam Ravnborg:
Well, it fixes the warning ;)
Acked-by: Thomas Zimmermann tzimmermann@suse.de
On Mon, Nov 30, 2020 at 01:14:52PM +0100, Thomas Zimmermann wrote:
Yeah, I could not dig up anything useful to say here. Was tempted to just drop all the kernel-doc syntax but that was a larger change.
Sam
On Mon, 30 Nov 2020, Sam Ravnborg wrote:
Cop-out!
Do what I do and make something up (joke)! :'D
Did you trace it from it's origin down to it's final use?
Hi Lee,
Cop-out!
Do what I do and make something up (joke)! :'D
If I thought anyone would actually read the comments then maybe yes. But I assume that apart from this thread no-one will read it.
Yeah, but not something that seemed useful. I could have added "translating from pixels->bytes" as they are described somewhere else. But I could not convince myself this was right so I just silenced the warning.
The only reason I kept the kernel-doc in the first place is that I am told some editors use it.
The only effect the kernel-doc in fbdev has right now is burning effort that could have been spent (better?) somewhere else, and I would personally prefer to drop the kernel-doc annotations.
But I already discussed this in another thread (not fbdev related) and I was told it was useful for some, so it is kept.
Sam
On Tue, 01 Dec 2020, Sam Ravnborg wrote:
I personally think they should be kept. Despite not being referenced by any kernel-doc:: key-words. As you say, it can be helpful as an in-code reference for driver writers, people debugging code, et al.
Not sure I would just repeat the variable name just to silence the warning though - that is definitely a hack. In the thousands (literally!) of these that I've fixed thus far, I haven't needed to do that.
On Tue, Dec 1, 2020 at 10:46 AM Lee Jones lee.jones@linaro.org wrote:
Personally what I've done is to just remove the kerneldoc marker (and anything else that's obviously wrong) and leave plain comments behind. At least for old outdated code that no one actively maintains anymore. Keeps the comment as maybe something useful, and avoids pointless busy work of inventing kerneldoc which might or might not actually be correctly describing what's going on. -Daniel
On Tue, 01 Dec 2020, Daniel Vetter wrote:
Right. Demoting is also a good option if in doubt.
Fixed a few kernel-doc issues to fix the warnings.
v2: - Updated subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Sam Ravnborg sam@ravnborg.org Cc: "Gustavo A. R. Silva" gustavoars@kernel.org Cc: Randy Dunlap rdunlap@infradead.org Cc: Arnd Bergmann arnd@arndb.de Cc: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com Cc: Jani Nikula jani.nikula@intel.com Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/pm2fb.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/video/fbdev/pm2fb.c b/drivers/video/fbdev/pm2fb.c index 27893fa139b0..c68725eebee3 100644 --- a/drivers/video/fbdev/pm2fb.c +++ b/drivers/video/fbdev/pm2fb.c @@ -1508,8 +1508,8 @@ static const struct fb_ops pm2fb_ops = { * * Initialise and allocate resource for PCI device. * - * @param pdev PCI device. - * @param id PCI device ID. + * @pdev: PCI device. + * @id: PCI device ID. */ static int pm2fb_probe(struct pci_dev *pdev, const struct pci_device_id *id) { @@ -1715,7 +1715,7 @@ static int pm2fb_probe(struct pci_dev *pdev, const struct pci_device_id *id) * * Release all device resources. * - * @param pdev PCI device to clean up. + * @pdev: PCI device to clean up. */ static void pm2fb_remove(struct pci_dev *pdev) { @@ -1756,7 +1756,7 @@ MODULE_DEVICE_TABLE(pci, pm2fb_id_table);
#ifndef MODULE -/** +/* * Parse user specified options. * * This is, comma-separated options following `video=pm2fb:'.
Am 28.11.20 um 23:41 schrieb Sam Ravnborg:
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Fix W=1 warnings by removing unused code
v2: - Updated subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com Cc: Sam Ravnborg sam@ravnborg.org Cc: Andrew Morton akpm@linux-foundation.org Cc: Evgeny Novikov novikov@ispras.ru Cc: Jani Nikula jani.nikula@intel.com Cc: Mike Rapoport rppt@kernel.org Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/neofb.c | 4 ---- 1 file changed, 4 deletions(-)
diff --git a/drivers/video/fbdev/neofb.c b/drivers/video/fbdev/neofb.c index 09a20d4ab35f..c0f4f402da3f 100644 --- a/drivers/video/fbdev/neofb.c +++ b/drivers/video/fbdev/neofb.c @@ -1843,7 +1843,6 @@ static int neo_init_hw(struct fb_info *info) struct neofb_par *par = info->par; int videoRam = 896; int maxClock = 65000; - int CursorMem = 1024; int CursorOff = 0x100;
DBG("neo_init_hw"); @@ -1895,19 +1894,16 @@ static int neo_init_hw(struct fb_info *info) case FB_ACCEL_NEOMAGIC_NM2070: case FB_ACCEL_NEOMAGIC_NM2090: case FB_ACCEL_NEOMAGIC_NM2093: - CursorMem = 2048; CursorOff = 0x100; break; case FB_ACCEL_NEOMAGIC_NM2097: case FB_ACCEL_NEOMAGIC_NM2160: - CursorMem = 1024; CursorOff = 0x100; break; case FB_ACCEL_NEOMAGIC_NM2200: case FB_ACCEL_NEOMAGIC_NM2230: case FB_ACCEL_NEOMAGIC_NM2360: case FB_ACCEL_NEOMAGIC_NM2380: - CursorMem = 1024; CursorOff = 0x1000;
par->neo2200 = (Neo2200 __iomem *) par->mmio_vbase;
Am 28.11.20 um 23:41 schrieb Sam Ravnborg:
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Fix kernel-doc comments.
v2: - Updated subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Ferenc Bakonyi fero@drama.obuda.kando.hu Cc: linux-nvidia@lists.surfsouth.com Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/hgafb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/video/fbdev/hgafb.c b/drivers/video/fbdev/hgafb.c index a45fcff1461f..69af72937844 100644 --- a/drivers/video/fbdev/hgafb.c +++ b/drivers/video/fbdev/hgafb.c @@ -358,7 +358,7 @@ static int hga_card_detect(void) /** * hgafb_open - open the framebuffer device * @info:pointer to fb_info object containing info for current hga board - * @int:open by console system or userland. + * @init:open by console system or userland. */
static int hgafb_open(struct fb_info *info, int init) @@ -372,7 +372,7 @@ static int hgafb_open(struct fb_info *info, int init) /** * hgafb_open - open the framebuffer device * @info:pointer to fb_info object containing info for current hga board - * @int:open by console system or userland. + * @init:open by console system or userland. */
static int hgafb_release(struct fb_info *info, int init)
Hi Sam-
On 11/28/20 2:41 PM, Sam Ravnborg wrote:
Please add a space after the ':' in 2 lines above.
Same here (2 lines).
*/
static int hgafb_release(struct fb_info *info, int init)
thanks.
Fix W=1 warnings: - Fix kernel-doc - Drop unused code
v2: - Updated subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Sam Ravnborg sam@ravnborg.org Cc: Jani Nikula jani.nikula@intel.com Cc: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Arnd Bergmann arnd@arndb.de Cc: Joe Perches joe@perches.com Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/tgafb.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/video/fbdev/tgafb.c b/drivers/video/fbdev/tgafb.c index 666fbe2f671c..ae0cf5540636 100644 --- a/drivers/video/fbdev/tgafb.c +++ b/drivers/video/fbdev/tgafb.c @@ -555,7 +555,7 @@ tgafb_setcolreg(unsigned regno, unsigned red, unsigned green, unsigned blue,
/** * tgafb_blank - Optional function. Blanks the display. - * @blank_mode: the blank mode we want. + * @blank: the blank mode we want. * @info: frame buffer structure that represents a single frame buffer */ static int @@ -837,7 +837,7 @@ tgafb_clut_imageblit(struct fb_info *info, const struct fb_image *image) u32 *palette = ((u32 *)info->pseudo_palette); unsigned long pos, line_length, i, j; const unsigned char *data; - void __iomem *regs_base, *fb_base; + void __iomem *fb_base;
dx = image->dx; dy = image->dy; @@ -855,7 +855,6 @@ tgafb_clut_imageblit(struct fb_info *info, const struct fb_image *image) if (dy + height > vyres) height = vyres - dy;
- regs_base = par->tga_regs_base; fb_base = par->tga_fb_base;
pos = dy * line_length + (dx * 4); @@ -1034,7 +1033,7 @@ tgafb_fillrect(struct fb_info *info, const struct fb_fillrect *rect) regs_base + TGA_MODE_REG); }
-/** +/* * tgafb_copyarea - REQUIRED function. Can use generic routines if * non acclerated hardware and packed pixel based. * Copies on area of the screen to another area.
Am 28.11.20 um 23:41 schrieb Sam Ravnborg:
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Fix W=1 warnings: - Fix kernel-doc - Drop unused code/variables - Use memcpy to copy a string without zero-termination strncpy() generates a warning
v2: - Updated subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Sam Ravnborg sam@ravnborg.org Cc: Jani Nikula jani.nikula@intel.com Cc: Laurent Pinchart laurent.pinchart@ideasonboard.com Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Xiaofei Tan tanxiaofei@huawei.com Cc: Arnd Bergmann arnd@arndb.de Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/mx3fb.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/video/fbdev/mx3fb.c b/drivers/video/fbdev/mx3fb.c index 894617ddabcb..fabb271337ed 100644 --- a/drivers/video/fbdev/mx3fb.c +++ b/drivers/video/fbdev/mx3fb.c @@ -445,7 +445,6 @@ static void sdc_enable_channel(struct mx3fb_info *mx3_fbi) static void sdc_disable_channel(struct mx3fb_info *mx3_fbi) { struct mx3fb_data *mx3fb = mx3_fbi->mx3fb; - uint32_t enabled; unsigned long flags;
if (mx3_fbi->txd == NULL) @@ -453,7 +452,7 @@ static void sdc_disable_channel(struct mx3fb_info *mx3_fbi)
spin_lock_irqsave(&mx3fb->lock, flags);
- enabled = sdc_fb_uninit(mx3_fbi); + sdc_fb_uninit(mx3_fbi);
spin_unlock_irqrestore(&mx3fb->lock, flags);
@@ -732,7 +731,7 @@ static int mx3fb_unmap_video_memory(struct fb_info *fbi);
/** * mx3fb_set_fix() - set fixed framebuffer parameters from variable settings. - * @info: framebuffer information pointer + * @fbi: framebuffer information pointer * @return: 0 on success or negative error code on failure. */ static int mx3fb_set_fix(struct fb_info *fbi) @@ -740,7 +739,7 @@ static int mx3fb_set_fix(struct fb_info *fbi) struct fb_fix_screeninfo *fix = &fbi->fix; struct fb_var_screeninfo *var = &fbi->var;
- strncpy(fix->id, "DISP3 BG", 8); + memcpy(fix->id, "DISP3 BG", 8);
fix->line_length = var->xres_virtual * var->bits_per_pixel / 8;
@@ -1105,6 +1104,8 @@ static void __blank(int blank, struct fb_info *fbi)
/** * mx3fb_blank() - blank the display. + * @blank: blank value for the panel + * @fbi: framebuffer information pointer */ static int mx3fb_blank(int blank, struct fb_info *fbi) { @@ -1126,7 +1127,7 @@ static int mx3fb_blank(int blank, struct fb_info *fbi) /** * mx3fb_pan_display() - pan or wrap the display * @var: variable screen buffer information. - * @info: framebuffer information pointer. + * @fbi: framebuffer information pointer. * * We look only at xoffset, yoffset and the FB_VMODE_YWRAP flag */ @@ -1387,6 +1388,8 @@ static int mx3fb_unmap_video_memory(struct fb_info *fbi)
/** * mx3fb_init_fbinfo() - initialize framebuffer information object. + * @dev: the device + * @ops: framebuffer device operations * @return: initialized framebuffer structure. */ static struct fb_info *mx3fb_init_fbinfo(struct device *dev,
Am 28.11.20 um 23:41 schrieb Sam Ravnborg:
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Fix set but not used warnings by introducing no_printk variants for the internal logging system for this driver.
Fix a new warning that popped up now that logging was checked for correct printf format strings.
A more invasive fix had been to replace all the internal logging with standard logging primitives - thats for another day.
v2: - Update subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Sam Ravnborg sam@ravnborg.org Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Arnd Bergmann arnd@arndb.de Cc: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com Cc: Alex Dewar alex.dewar90@gmail.com Cc: Jani Nikula jani.nikula@intel.com Cc: linux-fbdev@vger.kernel.org Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/sstfb.c | 2 +- include/video/sstfb.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/video/fbdev/sstfb.c b/drivers/video/fbdev/sstfb.c index c05cdabeb11c..27d4b0ace2d6 100644 --- a/drivers/video/fbdev/sstfb.c +++ b/drivers/video/fbdev/sstfb.c @@ -1390,7 +1390,7 @@ static int sstfb_probe(struct pci_dev *pdev, const struct pci_device_id *id) fix->smem_start, info->screen_base, fix->smem_len >> 20);
- f_ddprintk("regbase_virt: %#lx\n", par->mmio_vbase); + f_ddprintk("regbase_virt: %p\n", par->mmio_vbase); f_ddprintk("membase_phys: %#lx\n", fix->smem_start); f_ddprintk("fbbase_virt: %p\n", info->screen_base);
diff --git a/include/video/sstfb.h b/include/video/sstfb.h index 28384f354773..d4a5e41d1173 100644 --- a/include/video/sstfb.h +++ b/include/video/sstfb.h @@ -23,7 +23,7 @@ # define SST_DEBUG_FUNC 1 # define SST_DEBUG_VAR 1 #else -# define dprintk(X...) +# define dprintk(X...) no_printk(X) # define SST_DEBUG_REG 0 # define SST_DEBUG_FUNC 0 # define SST_DEBUG_VAR 0 @@ -48,7 +48,7 @@ #if (SST_DEBUG_FUNC > 1) # define f_ddprintk(X...) dprintk(" " X) #else -# define f_ddprintk(X...) +# define f_ddprintk(X...) no_printk(X) #endif #if (SST_DEBUG_FUNC > 2) # define f_dddprintk(X...) dprintk(" " X)
Am 28.11.20 um 23:41 schrieb Sam Ravnborg:
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Fix warnings by deleting unused code. The register reads are kept as it is unknown if there are any hidden side-effects.
v2: - Update subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Antonino Daplas adaplas@gmail.com Cc: linux-fbdev@vger.kernel.org Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/nvidia/nv_setup.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/video/fbdev/nvidia/nv_setup.c b/drivers/video/fbdev/nvidia/nv_setup.c index 2fa68669613a..5404017e6957 100644 --- a/drivers/video/fbdev/nvidia/nv_setup.c +++ b/drivers/video/fbdev/nvidia/nv_setup.c @@ -89,9 +89,8 @@ u8 NVReadSeq(struct nvidia_par *par, u8 index) } void NVWriteAttr(struct nvidia_par *par, u8 index, u8 value) { - volatile u8 tmp;
- tmp = VGA_RD08(par->PCIO, par->IOBase + 0x0a); + VGA_RD08(par->PCIO, par->IOBase + 0x0a); if (par->paletteEnabled) index &= ~0x20; else @@ -101,9 +100,7 @@ void NVWriteAttr(struct nvidia_par *par, u8 index, u8 value) } u8 NVReadAttr(struct nvidia_par *par, u8 index) { - volatile u8 tmp; - - tmp = VGA_RD08(par->PCIO, par->IOBase + 0x0a); + VGA_RD08(par->PCIO, par->IOBase + 0x0a); if (par->paletteEnabled) index &= ~0x20; else
Hi
Am 28.11.20 um 23:41 schrieb Sam Ravnborg:
This again looks like it sets up the attribute register. I hope this isn't optimized away now.
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Fix W=1 warnings by avoiding local variables and use direct references.
v2: - Updated subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Sam Ravnborg sam@ravnborg.org Cc: Jani Nikula jani.nikula@intel.com Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/tmiofb.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/video/fbdev/tmiofb.c b/drivers/video/fbdev/tmiofb.c index 50111966c981..b70faa3850f2 100644 --- a/drivers/video/fbdev/tmiofb.c +++ b/drivers/video/fbdev/tmiofb.c @@ -802,10 +802,8 @@ static int tmiofb_remove(struct platform_device *dev) const struct mfd_cell *cell = mfd_get_cell(dev); struct fb_info *info = platform_get_drvdata(dev); int irq = platform_get_irq(dev, 0); - struct tmiofb_par *par;
if (info) { - par = info->par; unregister_framebuffer(info);
tmiofb_hw_stop(dev); @@ -816,8 +814,8 @@ static int tmiofb_remove(struct platform_device *dev) free_irq(irq, info);
iounmap(info->screen_base); - iounmap(par->lcr); - iounmap(par->ccr); + iounmap(((struct tmiofb_par *)info->par)->lcr); + iounmap(((struct tmiofb_par *)info->par)->ccr);
framebuffer_release(info); }
Am 28.11.20 um 23:41 schrieb Sam Ravnborg:
Fix W=1 warnings by avoiding local variables and use direct references.
What's the bug here?
Hi Thomas,
On Mon, Nov 30, 2020 at 03:36:44PM +0100, Thomas Zimmermann wrote:
sh define iounmap like this: #define iounmap(addr) do { } while (0)
So par is not used resulting in a warning.
My patch just papers over the real issue. The right fix is to fix sh so we reference addr. Will give that a shot.
Sam
Fix several W=1 warnings. This removes unused code and avoids an assignment by moving the use inside the conditional block.
The register read FLD_GET(r, 15, 8) could be dropped as it was done a few lines before too.
v2: - Updated subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Aditya Pakki pakki001@umn.edu Cc: Sam Ravnborg sam@ravnborg.org Cc: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/omap2/omapfb/dss/dsi.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dsi.c b/drivers/video/fbdev/omap2/omapfb/dss/dsi.c index 6f9c25fec994..72d45a02c3ac 100644 --- a/drivers/video/fbdev/omap2/omapfb/dss/dsi.c +++ b/drivers/video/fbdev/omap2/omapfb/dss/dsi.c @@ -1178,13 +1178,12 @@ static int dsi_regulator_init(struct platform_device *dsidev)
static void _dsi_print_reset_status(struct platform_device *dsidev) { - u32 l; int b0, b1, b2;
/* A dummy read using the SCP interface to any DSIPHY register is * required after DSIPHY reset to complete the reset of the DSI complex * I/O. */ - l = dsi_read_reg(dsidev, DSI_DSIPHY_CFG5); + dsi_read_reg(dsidev, DSI_DSIPHY_CFG5);
if (dss_has_feature(FEAT_DSI_REVERSE_TXCLKESC)) { b0 = 28; @@ -3627,7 +3626,7 @@ static int dsi_proto_config(struct platform_device *dsidev) static void dsi_proto_timings(struct platform_device *dsidev) { struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); - unsigned tlpx, tclk_zero, tclk_prepare, tclk_trail; + unsigned tlpx, tclk_zero, tclk_prepare; unsigned tclk_pre, tclk_post; unsigned ths_prepare, ths_prepare_ths_zero, ths_zero; unsigned ths_trail, ths_exit; @@ -3646,7 +3645,6 @@ static void dsi_proto_timings(struct platform_device *dsidev)
r = dsi_read_reg(dsidev, DSI_DSIPHY_CFG1); tlpx = FLD_GET(r, 20, 16) * 2; - tclk_trail = FLD_GET(r, 15, 8); tclk_zero = FLD_GET(r, 7, 0);
r = dsi_read_reg(dsidev, DSI_DSIPHY_CFG2); @@ -4040,7 +4038,6 @@ static int dsi_update(struct omap_dss_device *dssdev, int channel, { struct platform_device *dsidev = dsi_get_dsidev_from_dssdev(dssdev); struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); - u16 dw, dh;
dsi_perf_mark_setup(dsidev);
@@ -4049,11 +4046,8 @@ static int dsi_update(struct omap_dss_device *dssdev, int channel, dsi->framedone_callback = callback; dsi->framedone_data = data;
- dw = dsi->timings.x_res; - dh = dsi->timings.y_res; - #ifdef DSI_PERF_MEASURE - dsi->update_bytes = dw * dh * + dsi->update_bytes = dsi->timings.x_res * dsi->timings.y_res * dsi_get_pixel_size(dsi->pix_fmt) / 8; #endif dsi_update_screen_dispc(dsidev);
Am 28.11.20 um 23:41 schrieb Sam Ravnborg:
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Fix a few W=1 warnings about unused assignments. Drop the unused error code.
v2: - Subject updated (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Sam Ravnborg sam@ravnborg.org Cc: Qilong Zhang zhangqilong3@huawei.com Cc: "Alexander A. Klimov" grandmaster@al2klimov.de Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c | 4 ++-- drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c b/drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c index 726c190862d4..e6363a420933 100644 --- a/drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c +++ b/drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c @@ -679,7 +679,7 @@ int hdmi4_audio_config(struct hdmi_core_data *core, struct hdmi_wp_data *wp, struct hdmi_audio_format audio_format; struct hdmi_audio_dma audio_dma; struct hdmi_core_audio_config acore; - int err, n, cts, channel_count; + int n, cts, channel_count; unsigned int fs_nr; bool word_length_16b = false;
@@ -741,7 +741,7 @@ int hdmi4_audio_config(struct hdmi_core_data *core, struct hdmi_wp_data *wp, return -EINVAL; }
- err = hdmi_compute_acr(pclk, fs_nr, &n, &cts); + hdmi_compute_acr(pclk, fs_nr, &n, &cts);
/* Audio clock regeneration settings */ acore.n = n; diff --git a/drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c b/drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c index eda29d3032e1..cb63bc0e92ca 100644 --- a/drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c +++ b/drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c @@ -790,7 +790,7 @@ int hdmi5_audio_config(struct hdmi_core_data *core, struct hdmi_wp_data *wp, struct hdmi_audio_format audio_format; struct hdmi_audio_dma audio_dma; struct hdmi_core_audio_config core_cfg; - int err, n, cts, channel_count; + int n, cts, channel_count; unsigned int fs_nr; bool word_length_16b = false;
@@ -833,7 +833,7 @@ int hdmi5_audio_config(struct hdmi_core_data *core, struct hdmi_wp_data *wp, return -EINVAL; }
- err = hdmi_compute_acr(pclk, fs_nr, &n, &cts); + hdmi_compute_acr(pclk, fs_nr, &n, &cts); core_cfg.n = n; core_cfg.cts = cts;
Hi
Am 28.11.20 um 23:41 schrieb Sam Ravnborg:
I'd rather return the error reported by hdmi_compute_acr()
Best regards Thomas
On Tue, Dec 01, 2020 at 11:06:15AM +0100, Thomas Zimmermann wrote:
The DRM version of the same driver does not bother, so I think we should avoid it here too.
The better fix would be to sunset the omapfb driver - dunno how far we are from that. There is still a lot of patch chrunch on the omapdrm driver.
Sam
Fix several W=1 warnings - Updated kernel-doc as needed - Deleted unused local variable, it was assigned but never used
v2: - Updated subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Jingoo Han jingoohan1@gmail.com Cc: linux-fbdev@vger.kernel.org Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/s3c-fb.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/video/fbdev/s3c-fb.c b/drivers/video/fbdev/s3c-fb.c index ba316bd56efd..3b134e1bbc38 100644 --- a/drivers/video/fbdev/s3c-fb.c +++ b/drivers/video/fbdev/s3c-fb.c @@ -75,6 +75,7 @@ struct s3c_fb; * @buf_size: Offset of buffer size registers. * @buf_end: Offset of buffer end registers. * @osd: The base for the OSD registers. + * @osd_stride: stride of osd * @palette: Address of palette memory, or 0 if none. * @has_prtcon: Set if has PRTCON register. * @has_shadowcon: Set if has SHADOWCON register. @@ -155,7 +156,7 @@ struct s3c_fb_palette { * @windata: The platform data supplied for the window configuration. * @parent: The hardware that this window is part of. * @fbinfo: Pointer pack to the framebuffer info for this window. - * @varint: The variant information for this window. + * @variant: The variant information for this window. * @palette_buffer: Buffer/cache to hold palette entries. * @pseudo_palette: For use in TRUECOLOUR modes for entries 0..15/ * @index: The window number of this window. @@ -336,7 +337,7 @@ static int s3c_fb_check_var(struct fb_var_screeninfo *var, /** * s3c_fb_calc_pixclk() - calculate the divider to create the pixel clock. * @sfb: The hardware state. - * @pixclock: The pixel clock wanted, in picoseconds. + * @pixclk: The pixel clock wanted, in picoseconds. * * Given the specified pixel clock, work out the necessary divider to get * close to the output frequency. @@ -733,7 +734,7 @@ static inline unsigned int chan_to_field(unsigned int chan, * @red: The red field for the palette data. * @green: The green field for the palette data. * @blue: The blue field for the palette data. - * @trans: The transparency (alpha) field for the palette data. + * @transp: The transparency (alpha) field for the palette data. * @info: The framebuffer being changed. */ static int s3c_fb_setcolreg(unsigned regno, @@ -1133,6 +1134,7 @@ static void s3c_fb_free_memory(struct s3c_fb *sfb, struct s3c_fb_win *win)
/** * s3c_fb_release_win() - release resources for a framebuffer window. + * @sfb: The base resources for the hardware. * @win: The window to cleanup the resources for. * * Release the resources that where claimed for the hardware window, @@ -1160,6 +1162,7 @@ static void s3c_fb_release_win(struct s3c_fb *sfb, struct s3c_fb_win *win) /** * s3c_fb_probe_win() - register an hardware window * @sfb: The base resources for the hardware + * @win_no: The window number * @variant: The variant information for this window. * @res: Pointer to where to place the resultant window. * @@ -1170,7 +1173,6 @@ static int s3c_fb_probe_win(struct s3c_fb *sfb, unsigned int win_no, struct s3c_fb_win_variant *variant, struct s3c_fb_win **res) { - struct fb_var_screeninfo *var; struct fb_videomode initmode; struct s3c_fb_pd_win *windata; struct s3c_fb_win *win; @@ -1198,7 +1200,6 @@ static int s3c_fb_probe_win(struct s3c_fb *sfb, unsigned int win_no,
win = fbinfo->par; *res = win; - var = &fbinfo->var; win->variant = *variant; win->fbinfo = fbinfo; win->parent = sfb;
Am 28.11.20 um 23:41 schrieb Sam Ravnborg:
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Fix W=1 warning by deleting unused local variable.
v2: - Updated subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Michal Januszewski spock@gentoo.org Cc: linux-fbdev@vger.kernel.org Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/uvesafb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c index def14ac0ebe1..8ee0fc9c63cf 100644 --- a/drivers/video/fbdev/uvesafb.c +++ b/drivers/video/fbdev/uvesafb.c @@ -554,12 +554,12 @@ static int uvesafb_vbe_getmodes(struct uvesafb_ktask *task, static int uvesafb_vbe_getpmi(struct uvesafb_ktask *task, struct uvesafb_par *par) { - int i, err; + int i;
uvesafb_reset(task); task->t.regs.eax = 0x4f0a; task->t.regs.ebx = 0x0; - err = uvesafb_exec(task); + uvesafb_exec(task);
if ((task->t.regs.eax & 0xffff) != 0x4f || task->t.regs.es < 0xc000) { par->pmi_setpal = par->ypan = 0;
Hi
Am 28.11.20 um 23:41 schrieb Sam Ravnborg:
Would it be better to report the error here?
Best regards Thomas
if ((task->t.regs.eax & 0xffff) != 0x4f || task->t.regs.es < 0xc000) { par->pmi_setpal = par->ypan = 0;
Two W=1 string related warnings. - Using strncpy to copy string without null-termination generates a warning. Use memcpy to copy only the relevant chars
- Fix a potential bug with a very long string, subtract one from the length to make room for the termination null.
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Michal Januszewski spock@gentoo.org Cc: linux-fbdev@vger.kernel.org --- drivers/video/fbdev/uvesafb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c index 8ee0fc9c63cf..45dc8da191e4 100644 --- a/drivers/video/fbdev/uvesafb.c +++ b/drivers/video/fbdev/uvesafb.c @@ -423,7 +423,7 @@ static int uvesafb_vbe_getinfo(struct uvesafb_ktask *task, task->t.flags = TF_VBEIB; task->t.buf_len = sizeof(struct vbe_ib); task->buf = &par->vbe_ib; - strncpy(par->vbe_ib.vbe_signature, "VBE2", 4); + memcpy(par->vbe_ib.vbe_signature, "VBE2", 4);
err = uvesafb_exec(task); if (err || (task->t.regs.eax & 0xffff) != 0x004f) { @@ -1871,7 +1871,7 @@ static ssize_t v86d_show(struct device_driver *dev, char *buf) static ssize_t v86d_store(struct device_driver *dev, const char *buf, size_t count) { - strncpy(v86d_path, buf, PATH_MAX); + strncpy(v86d_path, buf, PATH_MAX - 1); return count; } static DRIVER_ATTR_RW(v86d);
Hi
Am 28.11.20 um 23:41 schrieb Sam Ravnborg:
From lookign a the drive rcode, I assume that the code never touches the final byte in v86d_path. So it remains \0 indefinitely.
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Fix warnings: - drop kernel-doc for the two debug functions to avoid the warnings - delete unused code
v2: - Updated subject (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Thomas Zimemrmann tzimmermann@suse.de Cc: Sam Ravnborg sam@ravnborg.org Cc: "Gustavo A. R. Silva" gustavoars@kernel.org Cc: Daniel Vetter daniel.vetter@ffwll.ch Cc: Saeed Mirzamohammadi saeed.mirzamohammadi@oracle.com Cc: Jani Nikula jani.nikula@intel.com Cc: Mike Rapoport rppt@kernel.org Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/cirrusfb.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/drivers/video/fbdev/cirrusfb.c b/drivers/video/fbdev/cirrusfb.c index e9027172c0f5..93802abbbc72 100644 --- a/drivers/video/fbdev/cirrusfb.c +++ b/drivers/video/fbdev/cirrusfb.c @@ -2463,8 +2463,6 @@ static void AttrOn(const struct cirrusfb_info *cinfo) */ static void WHDR(const struct cirrusfb_info *cinfo, unsigned char val) { - unsigned char dummy; - if (is_laguna(cinfo)) return; if (cinfo->btype == BT_PICASSO) { @@ -2473,18 +2471,18 @@ static void WHDR(const struct cirrusfb_info *cinfo, unsigned char val) WGen(cinfo, VGA_PEL_MSK, 0x00); udelay(200); /* next read dummy from pixel address (3c8) */ - dummy = RGen(cinfo, VGA_PEL_IW); + RGen(cinfo, VGA_PEL_IW); udelay(200); } /* now do the usual stuff to access the HDR */
- dummy = RGen(cinfo, VGA_PEL_MSK); + RGen(cinfo, VGA_PEL_MSK); udelay(200); - dummy = RGen(cinfo, VGA_PEL_MSK); + RGen(cinfo, VGA_PEL_MSK); udelay(200); - dummy = RGen(cinfo, VGA_PEL_MSK); + RGen(cinfo, VGA_PEL_MSK); udelay(200); - dummy = RGen(cinfo, VGA_PEL_MSK); + RGen(cinfo, VGA_PEL_MSK); udelay(200);
WGen(cinfo, VGA_PEL_MSK, val); @@ -2492,7 +2490,7 @@ static void WHDR(const struct cirrusfb_info *cinfo, unsigned char val)
if (cinfo->btype == BT_PICASSO) { /* now first reset HDR access counter */ - dummy = RGen(cinfo, VGA_PEL_IW); + RGen(cinfo, VGA_PEL_IW); udelay(200);
/* and at the end, restore the mask value */ @@ -2800,9 +2798,9 @@ static void bestclock(long freq, int *nom, int *den, int *div)
#ifdef CIRRUSFB_DEBUG
-/** +/* * cirrusfb_dbg_print_regs - * @base: If using newmmio, the newmmio base address, otherwise %NULL + * @regbase: If using newmmio, the newmmio base address, otherwise %NULL * @reg_class: type of registers to read: %CRT, or %SEQ * * DESCRIPTION: @@ -2847,7 +2845,7 @@ static void cirrusfb_dbg_print_regs(struct fb_info *info, va_end(list); }
-/** +/* * cirrusfb_dbg_reg_dump * @base: If using newmmio, the newmmio base address, otherwise %NULL *
Hi
Am 28.11.20 um 23:41 schrieb Sam Ravnborg:
I hope these kinds of changes do not turn into an endless stream of warnings from static ananlysis. I git an email with that today about such a call.
Acked-by: Thomas Zimmermann tzimmermann@suse.de
Hi Thomas.
On Tue, Dec 01, 2020 at 03:21:59PM +0100, Thomas Zimmermann wrote:
Got the same mail, will type a patch for it.
Acked-by: Thomas Zimmermann tzimmermann@suse.de
This and the other acked patches are now applied to drm-misc-next. Building for a few more architectures turned up new warnings, so I will prepare a new set of patches with comments addressed.
Sam
Fix following W=1 warnings: - Fix set but not nused variables which was used only for logging. Fixed by introducing no_printk() to trick compiler to think variables are used - Fix kernel-doc warning by deleting an empty comment line
v2: - Subject updated (Lee)
Signed-off-by: Sam Ravnborg sam@ravnborg.org Cc: Kristoffer Ericson kristoffer.ericson@gmail.com Cc: Lee Jones lee.jones@linaro.org --- drivers/video/fbdev/s1d13xxxfb.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/video/fbdev/s1d13xxxfb.c b/drivers/video/fbdev/s1d13xxxfb.c index 4541afcf9386..d1b5f965bc96 100644 --- a/drivers/video/fbdev/s1d13xxxfb.c +++ b/drivers/video/fbdev/s1d13xxxfb.c @@ -45,7 +45,7 @@ #if 0 #define dbg(fmt, args...) do { printk(KERN_INFO fmt, ## args); } while(0) #else -#define dbg(fmt, args...) do { } while (0) +#define dbg(fmt, args...) do { no_printk(KERN_INFO fmt, ## args); } while (0) #endif
/* @@ -512,7 +512,6 @@ s1d13xxxfb_bitblt_copyarea(struct fb_info *info, const struct fb_copyarea *area) }
/** - * * s1d13xxxfb_bitblt_solidfill - accelerated solidfill function * @info : framebuffer structure * @rect : fb_fillrect structure
Am 28.11.20 um 23:41 schrieb Sam Ravnborg:
s/nused/used
s/which was/that were
Otherwise
Reviewed-by: Thomas Zimmermann tzimmermann@suse.de
Hi Thomas.
On Sun, Nov 29, 2020 at 10:59:22AM +0100, Thomas Zimmermann wrote:
Fixed and applied to drm-misc-next.
Thanks for the a-b's and r-b. Are you up to take a look at the remaining 24 patches? It is all simple patches so should be doable in limited time.
Sam
Hi Sam
Am 29.11.20 um 22:52 schrieb Sam Ravnborg:
I think I had a question on one or two of them. If I forgot a patch, just put it into the next iteration and I'll take a look.
Best regards Thomas
dri-devel@lists.freedesktop.org