aboutsummaryrefslogtreecommitdiff
path: root/drivers/video/fbdev/cobalt_lcdfb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/fbdev/cobalt_lcdfb.c')
-rw-r--r--drivers/video/fbdev/cobalt_lcdfb.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/video/fbdev/cobalt_lcdfb.c b/drivers/video/fbdev/cobalt_lcdfb.c
index 5f8b6324d2e8..3d59a01ec677 100644
--- a/drivers/video/fbdev/cobalt_lcdfb.c
+++ b/drivers/video/fbdev/cobalt_lcdfb.c
@@ -129,6 +129,9 @@ static ssize_t cobalt_lcdfb_read(struct fb_info *info, char __user *buf,
unsigned long pos;
int len, retval = 0;
+ if (!info->screen_base)
+ return -ENODEV;
+
pos = *ppos;
if (pos >= LCD_CHARS_MAX || count == 0)
return 0;
@@ -175,6 +178,9 @@ static ssize_t cobalt_lcdfb_write(struct fb_info *info, const char __user *buf,
unsigned long pos;
int len, retval = 0;
+ if (!info->screen_base)
+ return -ENODEV;
+
pos = *ppos;
if (pos >= LCD_CHARS_MAX || count == 0)
return 0;
@@ -324,7 +330,7 @@ static int cobalt_lcdfb_probe(struct platform_device *dev)
return 0;
}
-static int cobalt_lcdfb_remove(struct platform_device *dev)
+static void cobalt_lcdfb_remove(struct platform_device *dev)
{
struct fb_info *info;
@@ -333,13 +339,11 @@ static int cobalt_lcdfb_remove(struct platform_device *dev)
unregister_framebuffer(info);
framebuffer_release(info);
}
-
- return 0;
}
static struct platform_driver cobalt_lcdfb_driver = {
.probe = cobalt_lcdfb_probe,
- .remove = cobalt_lcdfb_remove,
+ .remove_new = cobalt_lcdfb_remove,
.driver = {
.name = "cobalt-lcd",
},