diff options
author | Richard Purdie <rpurdie@rpsys.net> | 2006-03-31 05:31:53 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-31 15:19:00 -0500 |
commit | 2cbbb3b59c3ccdc55ad0c924fb49e09a962bb517 (patch) | |
tree | e82e5255fce910728c9a32d8c5ce7b46e5393243 /drivers/video/pxafb.c | |
parent | 2c0f5fb08e8ad59f396b1bda41ccd93cbb00a09f (diff) |
[PATCH] pxafb: Minor driver fixes
Fixes for the pxafb driver:
* Return -EINVAL for resolutions that are too large as per framebuffer
driver policy.
* Increase the error timeout for disabling the LCD controller. The current
timeout is sometimes too short on the Sharp Zaurus Cxx00 hardware and an
extra delay in an error path shouldn't pose any problems.
* Fix a dev reference which causes a compile error when DEBUG is defined.
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/video/pxafb.c')
-rw-r--r-- | drivers/video/pxafb.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c index 53ad61f1038c..809fc5eefc15 100644 --- a/drivers/video/pxafb.c +++ b/drivers/video/pxafb.c | |||
@@ -232,9 +232,9 @@ static int pxafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) | |||
232 | if (var->yres < MIN_YRES) | 232 | if (var->yres < MIN_YRES) |
233 | var->yres = MIN_YRES; | 233 | var->yres = MIN_YRES; |
234 | if (var->xres > fbi->max_xres) | 234 | if (var->xres > fbi->max_xres) |
235 | var->xres = fbi->max_xres; | 235 | return -EINVAL; |
236 | if (var->yres > fbi->max_yres) | 236 | if (var->yres > fbi->max_yres) |
237 | var->yres = fbi->max_yres; | 237 | return -EINVAL; |
238 | var->xres_virtual = | 238 | var->xres_virtual = |
239 | max(var->xres_virtual, var->xres); | 239 | max(var->xres_virtual, var->xres); |
240 | var->yres_virtual = | 240 | var->yres_virtual = |
@@ -781,7 +781,7 @@ static void pxafb_disable_controller(struct pxafb_info *fbi) | |||
781 | LCCR0 &= ~LCCR0_LDM; /* Enable LCD Disable Done Interrupt */ | 781 | LCCR0 &= ~LCCR0_LDM; /* Enable LCD Disable Done Interrupt */ |
782 | LCCR0 |= LCCR0_DIS; /* Disable LCD Controller */ | 782 | LCCR0 |= LCCR0_DIS; /* Disable LCD Controller */ |
783 | 783 | ||
784 | schedule_timeout(20 * HZ / 1000); | 784 | schedule_timeout(200 * HZ / 1000); |
785 | remove_wait_queue(&fbi->ctrlr_wait, &wait); | 785 | remove_wait_queue(&fbi->ctrlr_wait, &wait); |
786 | 786 | ||
787 | /* disable LCD controller clock */ | 787 | /* disable LCD controller clock */ |
@@ -1274,7 +1274,7 @@ int __init pxafb_probe(struct platform_device *dev) | |||
1274 | struct pxafb_mach_info *inf; | 1274 | struct pxafb_mach_info *inf; |
1275 | int ret; | 1275 | int ret; |
1276 | 1276 | ||
1277 | dev_dbg(dev, "pxafb_probe\n"); | 1277 | dev_dbg(&dev->dev, "pxafb_probe\n"); |
1278 | 1278 | ||
1279 | inf = dev->dev.platform_data; | 1279 | inf = dev->dev.platform_data; |
1280 | ret = -ENOMEM; | 1280 | ret = -ENOMEM; |