xilinxfb: Don't bail if the xilinxfb platform device doesn't have any pdata

Lack of pdata is not a fatal omission.  The driver can still be used even
if we do not know the screen dimensions.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Cc: Andrei Konovalov <akonovalov@ru.mvista.com>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Grant Likely 2007-07-31 00:37:39 -07:00 committed by Linus Torvalds
parent 3f5b85d14e
commit f53161d108

View file

@ -212,11 +212,6 @@ xilinxfb_drv_probe(struct device *dev)
pdev = to_platform_device(dev);
pdata = pdev->dev.platform_data;
if (pdata == NULL) {
printk(KERN_ERR "Couldn't find platform data.\n");
return -EFAULT;
}
drvdata = kzalloc(sizeof(*drvdata), GFP_KERNEL);
if (!drvdata) {
printk(KERN_ERR "Couldn't allocate device private record\n");
@ -258,11 +253,9 @@ xilinxfb_drv_probe(struct device *dev)
xilinx_fb_out_be32(drvdata, REG_FB_ADDR, drvdata->fb_phys);
/* Turn on the display */
if (pdata->rotate_screen) {
drvdata->reg_ctrl_default = REG_CTRL_ENABLE | REG_CTRL_ROTATE;
} else {
drvdata->reg_ctrl_default = REG_CTRL_ENABLE;
}
drvdata->reg_ctrl_default = REG_CTRL_ENABLE;
if (pdata && pdata->rotate_screen)
drvdata->reg_ctrl_default |= REG_CTRL_ROTATE;
xilinx_fb_out_be32(drvdata, REG_CTRL, drvdata->reg_ctrl_default);
/* Fill struct fb_info */
@ -281,8 +274,10 @@ xilinxfb_drv_probe(struct device *dev)
}
drvdata->info.flags = FBINFO_DEFAULT;
xilinx_fb_var.height = pdata->screen_height_mm;
xilinx_fb_var.width = pdata->screen_width_mm;
if (pdata) {
xilinx_fb_var.height = pdata->screen_height_mm;
xilinx_fb_var.width = pdata->screen_width_mm;
}
drvdata->info.var = xilinx_fb_var;
/* Register new frame buffer */