X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fvideo%2Fpxafb.c;fp=drivers%2Fvideo%2Fpxafb.c;h=53ad61f1038c2026adc21c2ca867fa338bcec380;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=bbb07106cd54b1b50f2a3de7cf769590a7a56536;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c index bbb07106c..53ad61f10 100644 --- a/drivers/video/pxafb.c +++ b/drivers/video/pxafb.c @@ -22,6 +22,7 @@ * */ +#include #include #include #include @@ -231,9 +232,9 @@ static int pxafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) if (var->yres < MIN_YRES) var->yres = MIN_YRES; if (var->xres > fbi->max_xres) - return -EINVAL; + var->xres = fbi->max_xres; if (var->yres > fbi->max_yres) - return -EINVAL; + var->yres = fbi->max_yres; var->xres_virtual = max(var->xres_virtual, var->xres); var->yres_virtual = @@ -780,7 +781,7 @@ static void pxafb_disable_controller(struct pxafb_info *fbi) LCCR0 &= ~LCCR0_LDM; /* Enable LCD Disable Done Interrupt */ LCCR0 |= LCCR0_DIS; /* Disable LCD Controller */ - schedule_timeout(200 * HZ / 1000); + schedule_timeout(20 * HZ / 1000); remove_wait_queue(&fbi->ctrlr_wait, &wait); /* disable LCD controller clock */ @@ -1273,7 +1274,7 @@ int __init pxafb_probe(struct platform_device *dev) struct pxafb_mach_info *inf; int ret; - dev_dbg(&dev->dev, "pxafb_probe\n"); + dev_dbg(dev, "pxafb_probe\n"); inf = dev->dev.platform_data; ret = -ENOMEM; @@ -1334,7 +1335,7 @@ int __init pxafb_probe(struct platform_device *dev) goto failed; } - ret = request_irq(IRQ_LCD, pxafb_handle_irq, IRQF_DISABLED, "LCD", fbi); + ret = request_irq(IRQ_LCD, pxafb_handle_irq, SA_INTERRUPT, "LCD", fbi); if (ret) { dev_err(&dev->dev, "request_irq failed: %d\n", ret); ret = -EBUSY;