summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2015-07-14 16:18:58 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2015-07-20 07:11:21 +0200
commit8a4be8093637445b358c72149a3fd40d47116ba5 (patch)
tree9cb81c3d5fb1ff57aa6a4bb07bba20579875470b /drivers
parentdd09054276972fd6789f5fbc533f582539d48914 (diff)
downloadbarebox-8a4be8093637445b358c72149a3fd40d47116ba5.tar.gz
barebox-8a4be8093637445b358c72149a3fd40d47116ba5.tar.xz
fb: Add fb_enable/disable functions
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/fb.c29
1 files changed, 24 insertions, 5 deletions
diff --git a/drivers/video/fb.c b/drivers/video/fb.c
index e30ab59377..25f089a18a 100644
--- a/drivers/video/fb.c
+++ b/drivers/video/fb.c
@@ -29,6 +29,30 @@ static int fb_ioctl(struct cdev* cdev, int req, void *data)
return 0;
}
+int fb_enable(struct fb_info *info)
+{
+ if (info->enabled)
+ return 0;
+
+ info->fbops->fb_enable(info);
+
+ info->enabled = true;
+
+ return 0;
+}
+
+int fb_disable(struct fb_info *info)
+{
+ if (!info->enabled)
+ return 0;
+
+ info->fbops->fb_disable(info);
+
+ info->enabled = false;
+
+ return 0;
+}
+
static int fb_enable_set(struct param_d *param, void *priv)
{
struct fb_info *info = priv;
@@ -36,16 +60,11 @@ static int fb_enable_set(struct param_d *param, void *priv)
enable = info->p_enable;
- if (enable == info->enabled)
- return 0;
-
if (enable)
info->fbops->fb_enable(info);
else
info->fbops->fb_disable(info);
- info->enabled = enable;
-
return 0;
}