From: Thiago Galesi <thiagogalesi@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: linux-fbdev-devel@lists.sourceforge.net
Subject: [PATCH] fb: Remove use of lock_kernel / unlock_kernel in fbmem
Date: Sun, 13 Apr 2008 11:50:07 -0300 [thread overview]
Message-ID: <200804131150.07601.thiagogalesi@gmail.com> (raw)
Hello
This patch removes lock_kernel(), unlock_kernel() usage in fbmem.c and replaces it with a mutex
Signed-off-by: Thiago Galesi <thiagogalesi@gmail.com>
---
Index: linux-2.6.23.1/drivers/video/fbmem.c
===================================================================
--- linux-2.6.23.1.orig/drivers/video/fbmem.c 2007-10-12 13:43:44.000000000 -0300
+++ linux-2.6.23.1/drivers/video/fbmem.c 2008-04-12 15:08:04.000000000 -0300
@@ -1208,7 +1208,7 @@
struct fb_ops *fb = info->fbops;
long ret = -ENOIOCTLCMD;
- lock_kernel();
+ mutex_lock(&info->hwlock);
switch(cmd) {
case FBIOGET_VSCREENINFO:
case FBIOPUT_VSCREENINFO:
@@ -1234,7 +1234,7 @@
ret = fb->fb_compat_ioctl(info, cmd, arg);
break;
}
- unlock_kernel();
+ mutex_unlock(&info->hwlock);
return ret;
}
#endif
@@ -1256,13 +1256,13 @@
return -ENODEV;
if (fb->fb_mmap) {
int res;
- lock_kernel();
+ mutex_lock(&info->hwlock);
res = fb->fb_mmap(info, vma);
- unlock_kernel();
+ mutex_unlock(&info->hwlock);
return res;
}
- lock_kernel();
+ mutex_lock(&info->hwlock);
/* frame buffer memory */
start = info->fix.smem_start;
@@ -1271,13 +1271,13 @@
/* memory mapped io */
off -= len;
if (info->var.accel_flags) {
- unlock_kernel();
+ mutex_unlock(&info->hwlock);
return -EINVAL;
}
start = info->fix.mmio_start;
len = PAGE_ALIGN((start & ~PAGE_MASK) + info->fix.mmio_len);
}
- unlock_kernel();
+ mutex_unlock(&info->hwlock);
start &= PAGE_MASK;
if ((vma->vm_end - vma->vm_start + off) > len)
return -EINVAL;
@@ -1323,11 +1323,11 @@
{
struct fb_info * const info = file->private_data;
- lock_kernel();
+ mutex_lock(&info->hwlock);
if (info->fbops->fb_release)
info->fbops->fb_release(info,1);
module_put(info->fbops->owner);
- unlock_kernel();
+ mutex_unlock(&info->hwlock);
return 0;
}
@@ -1413,6 +1413,8 @@
event.info = fb_info;
fb_notifier_call_chain(FB_EVENT_FB_REGISTERED, &event);
+
+ mutex_init(&fb_info->hwlock);
return 0;
}
@@ -1464,6 +1466,7 @@
device_destroy(fb_class, MKDEV(FB_MAJOR, i));
event.info = fb_info;
fb_notifier_call_chain(FB_EVENT_FB_UNREGISTERED, &event);
+ mutex_destroy(&fb_info.hwlock);
done:
return ret;
}
Index: linux-2.6.23.1/include/linux/fb.h
===================================================================
--- linux-2.6.23.1.orig/include/linux/fb.h 2007-10-12 13:43:44.000000000 -0300
+++ linux-2.6.23.1/include/linux/fb.h 2008-04-12 15:06:41.000000000 -0300
@@ -802,6 +802,7 @@
struct list_head modelist; /* mode list */
struct fb_videomode *mode; /* current mode */
+ struct mutex hwlock; /* mutex for protecting hw ops */
#ifdef CONFIG_FB_BACKLIGHT
/* assigned backlight device */
/* set before framebuffer registration,
next reply other threads:[~2008-04-13 14:50 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-13 14:50 Thiago Galesi [this message]
2008-04-16 5:17 ` [PATCH] fb: Remove use of lock_kernel / unlock_kernel in fbmem Andrew Morton
2008-04-16 23:00 ` Thiago Galesi
2008-04-18 17:41 ` Andres Salomon
2008-04-19 0:54 ` Thiago Galesi
2008-04-19 1:45 ` Andres Salomon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200804131150.07601.thiagogalesi@gmail.com \
--to=thiagogalesi@gmail.com \
--cc=linux-fbdev-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).