Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53ee1b5bbf937be29862ae8b3ea13af444af1f36
Commit:     53ee1b5bbf937be29862ae8b3ea13af444af1f36
Parent:     0b693eafc4be2bc9fceb318501930c66f38dbb10
Author:     Maciej W. Rozycki <[EMAIL PROTECTED]>
AuthorDate: Tue Oct 16 01:29:30 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Tue Oct 16 09:43:19 2007 -0700

    drivers/video/pmag-ba-fb.c: improve diagnostics
    
    Add error messages to the probe call.
    
    While they may rarely trigger, they may be useful when something weird is
    going on.  Also this is good style.
    
    [EMAIL PROTECTED]: remove unneeded initialisation]
    Signed-off-by: Maciej W. Rozycki <[EMAIL PROTECTED]>
    Cc: Mariusz Kozlowski <[EMAIL PROTECTED]>
    Cc: Ralf Baechle <[EMAIL PROTECTED]>
    Cc: "Antonino A. Daplas" <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 drivers/video/pmag-ba-fb.c |   34 +++++++++++++++++++++++++++-------
 1 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/drivers/video/pmag-ba-fb.c b/drivers/video/pmag-ba-fb.c
index 264d372..3a3f80f 100644
--- a/drivers/video/pmag-ba-fb.c
+++ b/drivers/video/pmag-ba-fb.c
@@ -147,16 +147,23 @@ static int __init pmagbafb_probe(struct device *dev)
        resource_size_t start, len;
        struct fb_info *info;
        struct pmagbafb_par *par;
+       int err;
 
        info = framebuffer_alloc(sizeof(struct pmagbafb_par), dev);
-       if (!info)
+       if (!info) {
+               printk(KERN_ERR "%s: Cannot allocate memory\n", dev->bus_id);
                return -ENOMEM;
+       }
 
        par = info->par;
        dev_set_drvdata(dev, info);
 
-       if (fb_alloc_cmap(&info->cmap, 256, 0) < 0)
+       if (fb_alloc_cmap(&info->cmap, 256, 0) < 0) {
+               printk(KERN_ERR "%s: Cannot allocate color map\n",
+                      dev->bus_id);
+               err = -ENOMEM;
                goto err_alloc;
+       }
 
        info->fbops = &pmagbafb_ops;
        info->fix = pmagbafb_fix;
@@ -166,28 +173,41 @@ static int __init pmagbafb_probe(struct device *dev)
        /* Request the I/O MEM resource.  */
        start = tdev->resource.start;
        len = tdev->resource.end - start + 1;
-       if (!request_mem_region(start, len, dev->bus_id))
+       if (!request_mem_region(start, len, dev->bus_id)) {
+               printk(KERN_ERR "%s: Cannot reserve FB region\n", dev->bus_id);
+               err = -EBUSY;
                goto err_cmap;
+       }
 
        /* MMIO mapping setup.  */
        info->fix.mmio_start = start;
        par->mmio = ioremap_nocache(info->fix.mmio_start, info->fix.mmio_len);
-       if (!par->mmio)
+       if (!par->mmio) {
+               printk(KERN_ERR "%s: Cannot map MMIO\n", dev->bus_id);
+               err = -ENOMEM;
                goto err_resource;
+       }
        par->dac = par->mmio + PMAG_BA_BT459;
 
        /* Frame buffer mapping setup.  */
        info->fix.smem_start = start + PMAG_BA_FBMEM;
        info->screen_base = ioremap_nocache(info->fix.smem_start,
                                            info->fix.smem_len);
-       if (!info->screen_base)
+       if (!info->screen_base) {
+               printk(KERN_ERR "%s: Cannot map FB\n", dev->bus_id);
+               err = -ENOMEM;
                goto err_mmio_map;
+       }
        info->screen_size = info->fix.smem_len;
 
        pmagbafb_erase_cursor(info);
 
-       if (register_framebuffer(info) < 0)
+       err = register_framebuffer(info);
+       if (err < 0) {
+               printk(KERN_ERR "%s: Cannot register framebuffer\n",
+                      dev->bus_id);
                goto err_smem_map;
+       }
 
        get_device(dev);
 
@@ -211,7 +231,7 @@ err_cmap:
 
 err_alloc:
        framebuffer_release(info);
-       return -ENXIO;
+       return err;
 }
 
 static int __exit pmagbafb_remove(struct device *dev)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to