Sparse reports warnings at cyber2000fb_enable_ddc() and cyber2000fb_disable_ddc()
warning: context imbalance in cyber2000fb_enable_ddc() - wrong count at exit
warning: context imbalance in cyber2000fb_disable_ddc() - unexpected unlock
The root cause is the missing annotation at cyber2000fb_enable_ddc() and cyber2000fb_disable_ddc()
Add the missing __acquires(&cfb->reg_b0_lock) annotation Add the missing __releases(&cfb->reg_b0_lock) annotation
Signed-off-by: Jules Irenge jbi.octave@gmail.com --- drivers/video/fbdev/cyber2000fb.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/video/fbdev/cyber2000fb.c b/drivers/video/fbdev/cyber2000fb.c index 460826a7ad55..513f58f28b0f 100644 --- a/drivers/video/fbdev/cyber2000fb.c +++ b/drivers/video/fbdev/cyber2000fb.c @@ -1160,12 +1160,14 @@ EXPORT_SYMBOL(cyber2000fb_detach); #define DDC_SDA_IN (1 << 6)
static void cyber2000fb_enable_ddc(struct cfb_info *cfb) + __acquires(&cfb->reg_b0_lock) { spin_lock(&cfb->reg_b0_lock); cyber2000fb_writew(0x1bf, 0x3ce, cfb); }
static void cyber2000fb_disable_ddc(struct cfb_info *cfb) + __releases(&cfb->reg_b0_lock) { cyber2000fb_writew(0x0bf, 0x3ce, cfb); spin_unlock(&cfb->reg_b0_lock);