summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/fb.c5
-rw-r--r--include/fb.h4
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/video/fb.c b/drivers/video/fb.c
index 841c3afe9e..f9a425efac 100644
--- a/drivers/video/fb.c
+++ b/drivers/video/fb.c
@@ -39,6 +39,9 @@ static int fb_enable_set(struct device_d *dev, struct param_d *param,
enable = simple_strtoul(val, NULL, 0);
+ if (info->enabled == !!enable)
+ return 0;
+
if (enable) {
info->fbops->fb_enable(info);
new = "1";
@@ -49,6 +52,8 @@ static int fb_enable_set(struct device_d *dev, struct param_d *param,
dev_param_set_generic(dev, param, new);
+ info->enabled = !!enable;
+
return 0;
}
diff --git a/include/fb.h b/include/fb.h
index 218500b985..379f931e9c 100644
--- a/include/fb.h
+++ b/include/fb.h
@@ -96,7 +96,9 @@ struct fb_info {
struct fb_bitfield red; /* bitfield in fb mem if true color, */
struct fb_bitfield green; /* else only length is significant */
struct fb_bitfield blue;
- struct fb_bitfield transp; /* transparency */
+ struct fb_bitfield transp; /* transparency */
+
+ int enabled;
};
int register_framebuffer(struct fb_info *info);