[PATCH 2/2] video: fbdev: uvesafb: convert snprintf to scnprintf

2022-09-18 Thread Jules Irenge
Coccinelle reports a warning

WARNING: use scnprintf or sprintf

Adding to that,
there has also been some slow migration from snprintf to scnprintf
This article explains the rationale for this change

https: //lwn.net/Articles/69419/
Signed-off-by: Jules Irenge 
---
 drivers/video/fbdev/uvesafb.c | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c
index 4df6772802d7..fd5d701106e1 100644
--- a/drivers/video/fbdev/uvesafb.c
+++ b/drivers/video/fbdev/uvesafb.c
@@ -1580,7 +1580,7 @@ static ssize_t uvesafb_show_vendor(struct device *dev,
struct uvesafb_par *par = info->par;
 
if (par->vbe_ib.oem_vendor_name_ptr)
-   return snprintf(buf, PAGE_SIZE, "%s\n", (char *)
+   return scnprintf(buf, PAGE_SIZE, "%s\n", (char *)
(>vbe_ib) + par->vbe_ib.oem_vendor_name_ptr);
else
return 0;
@@ -1595,7 +1595,7 @@ static ssize_t uvesafb_show_product_name(struct device 
*dev,
struct uvesafb_par *par = info->par;
 
if (par->vbe_ib.oem_product_name_ptr)
-   return snprintf(buf, PAGE_SIZE, "%s\n", (char *)
+   return scnprintf(buf, PAGE_SIZE, "%s\n", (char *)
(>vbe_ib) + par->vbe_ib.oem_product_name_ptr);
else
return 0;
@@ -1610,7 +1610,7 @@ static ssize_t uvesafb_show_product_rev(struct device 
*dev,
struct uvesafb_par *par = info->par;
 
if (par->vbe_ib.oem_product_rev_ptr)
-   return snprintf(buf, PAGE_SIZE, "%s\n", (char *)
+   return scnprintf(buf, PAGE_SIZE, "%s\n", (char *)
(>vbe_ib) + par->vbe_ib.oem_product_rev_ptr);
else
return 0;
@@ -1625,7 +1625,7 @@ static ssize_t uvesafb_show_oem_string(struct device *dev,
struct uvesafb_par *par = info->par;
 
if (par->vbe_ib.oem_string_ptr)
-   return snprintf(buf, PAGE_SIZE, "%s\n",
+   return scnprintf(buf, PAGE_SIZE, "%s\n",
(char *)(>vbe_ib) + par->vbe_ib.oem_string_ptr);
else
return 0;
@@ -1639,7 +1639,7 @@ static ssize_t uvesafb_show_nocrtc(struct device *dev,
struct fb_info *info = dev_get_drvdata(dev);
struct uvesafb_par *par = info->par;
 
-   return snprintf(buf, PAGE_SIZE, "%d\n", par->nocrtc);
+   return scnprintf(buf, PAGE_SIZE, "%d\n", par->nocrtc);
 }
 
 static ssize_t uvesafb_store_nocrtc(struct device *dev,
-- 
2.35.1



[PATCH 2/5] video: Add missing annotation for cyber2000fb_enable_ddc() and cyber2000fb_disable_ddc()

2020-04-04 Thread Jules Irenge
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(>reg_b0_lock) annotation
Add the missing __releases(>reg_b0_lock) annotation

Signed-off-by: Jules Irenge 
---
 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(>reg_b0_lock)
 {
spin_lock(>reg_b0_lock);
cyber2000fb_writew(0x1bf, 0x3ce, cfb);
 }
 
 static void cyber2000fb_disable_ddc(struct cfb_info *cfb)
+   __releases(>reg_b0_lock)
 {
cyber2000fb_writew(0x0bf, 0x3ce, cfb);
spin_unlock(>reg_b0_lock);
-- 
2.24.1

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH 16/30] drm/vkms: Add missing annotation for vkms_crtc_atomic_begin()

2020-02-17 Thread Jules Irenge
Sparse reports a warning at vkms_crtc_atomic_begin()

warning: context imbalance in vkms_crtc_atomic_begin()
 - wrong count at exit

The root cause is the missing annotation at vkms_crtc_atomic_begin()
Add the missing __acquires(_output->lock) annotation

Signed-off-by: Jules Irenge 
---
 drivers/gpu/drm/vkms/vkms_crtc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c
index 74f703b8d22a..7513be6444ae 100644
--- a/drivers/gpu/drm/vkms/vkms_crtc.c
+++ b/drivers/gpu/drm/vkms/vkms_crtc.c
@@ -219,6 +219,7 @@ static void vkms_crtc_atomic_disable(struct drm_crtc *crtc,
 
 static void vkms_crtc_atomic_begin(struct drm_crtc *crtc,
   struct drm_crtc_state *old_crtc_state)
+   __acquires(_output->lock)
 {
struct vkms_output *vkms_output = drm_crtc_to_vkms_output(crtc);
 
-- 
2.24.1

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH 17/30] drm/vkms: Add missing annotation for vkms_crtc_atomic_flush()

2020-02-17 Thread Jules Irenge
Sparse reports a warning at vkms_crtc_atomic_flush()

warning: context imbalance in vkms_crtc_atomic_flush()
 - unexpected unlock

The root cause is the missing annotation at vkms_crtc_atomic_flush()
Add the missing __releases(_output->lock) annotation

Signed-off-by: Jules Irenge 
---
 drivers/gpu/drm/vkms/vkms_crtc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c
index 7513be6444ae..bc0ac2641220 100644
--- a/drivers/gpu/drm/vkms/vkms_crtc.c
+++ b/drivers/gpu/drm/vkms/vkms_crtc.c
@@ -231,6 +231,7 @@ static void vkms_crtc_atomic_begin(struct drm_crtc *crtc,
 
 static void vkms_crtc_atomic_flush(struct drm_crtc *crtc,
   struct drm_crtc_state *old_crtc_state)
+   __releases(_output->lock)
 {
struct vkms_output *vkms_output = drm_crtc_to_vkms_output(crtc);
 
-- 
2.24.1

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH] gpu: ttm: add __releases function

2019-11-27 Thread Jules Irenge
Add releases() function to fix context imbalance.
 Issue detected by sparse tool.
warning: context imbalance in ttm_bo_cleanup_refs - unexpected unlock

Signed-off-by: Jules Irenge 
---
 drivers/gpu/drm/ttm/ttm_bo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
index 98819462f025..c87481d667a9 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -544,7 +544,7 @@ static void ttm_bo_cleanup_refs_or_queue(struct 
ttm_buffer_object *bo)
 
 static int ttm_bo_cleanup_refs(struct ttm_buffer_object *bo,
   bool interruptible, bool no_wait_gpu,
-  bool unlock_resv)
+  bool unlock_resv) __releases(>lru_lock)
 {
struct ttm_bo_global *glob = bo->bdev->glob;
struct dma_resv *resv;
-- 
2.23.0

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[PATCH] drm: radeon: replace 0 with NULL

2019-11-26 Thread Jules Irenge
Replace 0 with NULL to fix sparse tool  warning
 warning: Using plain integer as NULL pointer

Signed-off-by: Jules Irenge 
---
 drivers/gpu/drm/radeon/radeon_audio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/radeon/radeon_audio.c 
b/drivers/gpu/drm/radeon/radeon_audio.c
index b9aea5776d3d..2269cfced788 100644
--- a/drivers/gpu/drm/radeon/radeon_audio.c
+++ b/drivers/gpu/drm/radeon/radeon_audio.c
@@ -288,7 +288,7 @@ static void radeon_audio_interface_init(struct 
radeon_device *rdev)
} else {
rdev->audio.funcs = _funcs;
rdev->audio.hdmi_funcs = _hdmi_funcs;
-   rdev->audio.dp_funcs = 0;
+   rdev->audio.dp_funcs = NULL;
}
 }
 
-- 
2.23.0

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel