diff mbox

[v2,6/6] staging: sm750fb: Remove spinlock helper function

Message ID 1426070749-32024-3-git-send-email-lstoakes@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Lorenzo Stoakes March 11, 2015, 10:45 a.m. UTC
This patch removes the unnecessary spinlock helper function and instead
calls spin_lock and spin_unlock directly.

This does *not* resolve sparse warnings about context imbalances but these are
spurious.

Signed-off-by: Lorenzo Stoakes <lstoakes@gmail.com>
---
 drivers/staging/sm750fb/sm750.c | 47 +++++++++++++++++++++--------------------
 1 file changed, 24 insertions(+), 23 deletions(-)

Comments

Sudip Mukherjee March 11, 2015, 2:58 p.m. UTC | #1
On Wed, Mar 11, 2015 at 10:45:49AM +0000, Lorenzo Stoakes wrote:
> This patch removes the unnecessary spinlock helper function and instead
> calls spin_lock and spin_unlock directly.
> 
> This does *not* resolve sparse warnings about context imbalances but these are
> spurious.

tested the whole series on hardware, looks ok.

now it depends on Greg if he wants to accept patches with such big
commit logs, and another problem he will face is to get some patches from
this thread and some from the old thread.
(while testing i faced this problem to maintain the sequence of
 patches)

regards
sudip
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lorenzo Stoakes March 11, 2015, 3:03 p.m. UTC | #2
On 11 March 2015 at 14:58, Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:
>
> tested the whole series on hardware, looks ok.
>

Great!

> now it depends on Greg if he wants to accept patches with such big
> commit logs, and another problem he will face is to get some patches from
> this thread and some from the old thread.
> (while testing i faced this problem to maintain the sequence of
>  patches)

I am more than happy to resend the whole series as necessary if that
makes it easier for Greg or anyone else :) I have previously
resubmitted an entire patch series only for people to find the v2
resubmits of unchanged code to be confusing. I am absolutely happy to
do whatever works for Greg of course!

Best,
Sudip Mukherjee March 18, 2015, 7:52 a.m. UTC | #3
On Wed, Mar 11, 2015 at 03:03:39PM +0000, Lorenzo Stoakes wrote:
> On 11 March 2015 at 14:58, Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:
> 
> I am more than happy to resend the whole series as necessary if that
> makes it easier for Greg or anyone else :) I have previously
> resubmitted an entire patch series only for people to find the v2
> resubmits of unchanged code to be confusing. I am absolutely happy to
> do whatever works for Greg of course!
your series is not applying anymore to linux-next.
looks like some patches came from the Outreachy and were already
applied.
please redo it against staging-testing.

regards
sudip

> 
> Best,
> 
> -- 
> Lorenzo Stoakes
> https:/ljs.io
--
To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lorenzo Stoakes March 18, 2015, 8:30 a.m. UTC | #4
On 18 March 2015 at 07:52, Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote:
> your series is not applying anymore to linux-next.
> looks like some patches came from the Outreachy and were already
> applied.
> please redo it against staging-testing.

Will do that now! I think at this point it'll be easier for me to
resend the whole series to make it clear which is applicable right
now.

Best,
diff mbox

Patch

diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
index 3e36b6a..217795e 100644
--- a/drivers/staging/sm750fb/sm750.c
+++ b/drivers/staging/sm750fb/sm750.c
@@ -56,23 +56,6 @@  static char * g_settings = NULL;
 static int g_dualview = 0;
 static char * g_option = NULL;
 
-/* if not use spin_lock,system will die if user load driver
- * and immediatly unload driver frequently (dual)*/
-static inline void myspin_lock(spinlock_t * sl){
-	struct lynx_share * share;
-	share = container_of(sl,struct lynx_share,slock);
-	if(share->dual){
-		spin_lock(sl);
-	}
-}
-
-static inline void myspin_unlock(spinlock_t * sl){
-	struct lynx_share * share;
-	share = container_of(sl,struct lynx_share,slock);
-	if(share->dual){
-		spin_unlock(sl);
-	}
-}
 static const struct fb_videomode lynx750_ext[] = {
 	/*  	1024x600-60 VESA 	[1.71:1]	*/
 	{NULL,  60, 1024, 600, 20423, 144,  40, 18, 1, 104, 3,
@@ -209,13 +192,19 @@  static void lynxfb_ops_fillrect(struct fb_info* info,const struct fb_fillrect* r
 	color = (Bpp == 1)?region->color:((u32*)info->pseudo_palette)[region->color];
 	rop = ( region->rop != ROP_COPY ) ? HW_ROP2_XOR:HW_ROP2_COPY;
 
-	myspin_lock(&share->slock);
+	/* if not use spin_lock,system will die if user load driver
+	 * and immediatly unload driver frequently (dual)*/
+	if (share->dual)
+		spin_lock(&share->slock);
+
 	share->accel.de_fillrect(&share->accel,
 							base,pitch,Bpp,
 							region->dx,region->dy,
 							region->width,region->height,
 							color,rop);
-	myspin_unlock(&share->slock);
+
+	if (share->dual)
+		spin_unlock(&share->slock);
 }
 
 static void lynxfb_ops_copyarea(struct fb_info * info,const struct fb_copyarea * region)
@@ -233,12 +222,18 @@  static void lynxfb_ops_copyarea(struct fb_info * info,const struct fb_copyarea *
 	pitch = info->fix.line_length;
 	Bpp = info->var.bits_per_pixel >> 3;
 
-	myspin_lock(&share->slock);
+	/* if not use spin_lock,system will die if user load driver
+	 * and immediatly unload driver frequently (dual)*/
+	if (share->dual)
+		spin_lock(&share->slock);
+
 	share->accel.de_copyarea(&share->accel,
 							base,pitch,region->sx,region->sy,
 							base,pitch,Bpp,region->dx,region->dy,
 							region->width,region->height,HW_ROP2_COPY);
-	myspin_unlock(&share->slock);
+
+	if (share->dual)
+		spin_unlock(&share->slock);
 }
 
 static void lynxfb_ops_imageblit(struct fb_info*info,const struct fb_image* image)
@@ -272,14 +267,20 @@  static void lynxfb_ops_imageblit(struct fb_info*info,const struct fb_image* imag
 	}
 	return;
 _do_work:
-	myspin_lock(&share->slock);
+	/* if not use spin_lock,system will die if user load driver
+	 * and immediatly unload driver frequently (dual)*/
+	if (share->dual)
+		spin_lock(&share->slock);
+
 	share->accel.de_imageblit(&share->accel,
 					image->data,image->width>>3,0,
 					base,pitch,Bpp,
 					image->dx,image->dy,
 					image->width,image->height,
 					fgcol,bgcol,HW_ROP2_COPY);
-	myspin_unlock(&share->slock);
+
+	if (share->dual)
+		spin_unlock(&share->slock);
 }
 
 static int lynxfb_ops_pan_display(struct fb_var_screeninfo *var,