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

2015-03-18 Thread Lorenzo Stoakes
On 18 March 2015 at 07:52, Sudip Mukherjee sudipm.mukher...@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,

-- 
Lorenzo Stoakes
https:/ljs.io
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


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

2015-03-18 Thread Sudip Mukherjee
On Wed, Mar 11, 2015 at 03:03:39PM +, Lorenzo Stoakes wrote:
 On 11 March 2015 at 14:58, Sudip Mukherjee sudipm.mukher...@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
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


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

2015-03-12 Thread Lorenzo Stoakes
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 lstoa...@gmail.com
---
 drivers/staging/sm750fb/sm750.c | 47 +
 1 file changed, 24 insertions(+), 23 deletions(-)

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-width3,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,
-- 
2.3.2

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


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

2015-03-11 Thread Lorenzo Stoakes
On 11 March 2015 at 14:58, Sudip Mukherjee sudipm.mukher...@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,

-- 
Lorenzo Stoakes
https:/ljs.io
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel