[PATCH] drivers/video/*: use kmemdup()
authorAlexey Dobriyan <adobriyan@gmail.com>
Fri, 8 Dec 2006 10:40:46 +0000 (02:40 -0800)
committerLinus Torvalds <torvalds@woody.osdl.org>
Fri, 8 Dec 2006 16:29:07 +0000 (08:29 -0800)
From: Eric Sesterhenn <snakebyte@gmx.de>

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/video/aty/radeon_monitor.c
drivers/video/i810/i810-i2c.c
drivers/video/intelfb/intelfbdrv.c
drivers/video/nvidia/nv_i2c.c
drivers/video/nvidia/nv_of.c
drivers/video/savage/savagefb-i2c.c

index ea531a6f45d1f6ec29854a88a452dc0bba8646f5..38c7dbf8c151a72747602eae0b38027445b8e89c 100644 (file)
@@ -104,10 +104,9 @@ static int __devinit radeon_parse_montype_prop(struct device_node *dp, u8 **out_
        if (pedid == NULL)
                return mt;
 
-       tmp = (u8 *)kmalloc(EDID_LENGTH, GFP_KERNEL);
+       tmp = kmemdup(pedid, EDID_LENGTH, GFP_KERNEL);
        if (!tmp)
                return mt;
-       memcpy(tmp, pedid, EDID_LENGTH);
        *out_EDID = tmp;
        return mt;
 }
index b38d805db3134673723716083703efa571c84c4a..b952e4504abeaf6fa11910c0b158dba09ce93397 100644 (file)
@@ -162,9 +162,7 @@ int i810_probe_i2c_connector(struct fb_info *info, u8 **out_edid, int conn)
 
                if (e != NULL) {
                        DPRINTK("i810-i2c: Getting EDID from BIOS\n");
-                       edid = kmalloc(EDID_LENGTH, GFP_KERNEL);
-                       if (edid)
-                               memcpy(edid, e, EDID_LENGTH);
+                       edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL);
                }
        }
 
index 6f9de04193d216d62f62511f7bbb0cd821d3c0df..664fc5cf962a42f6f18cda1c5dc9f87ee5c236d0 100644 (file)
@@ -1058,10 +1058,9 @@ intelfb_init_var(struct intelfb_info *dinfo)
                u8 *edid_d = NULL;
 
                if (edid_s) {
-                       edid_d = kmalloc(EDID_LENGTH, GFP_KERNEL);
+                       edid_d = kmemdup(edid_s, EDID_LENGTH, GFP_KERNEL);
 
                        if (edid_d) {
-                               memcpy(edid_d, edid_s, EDID_LENGTH);
                                fb_edid_to_monspecs(edid_d,
                                                    &dinfo->info->monspecs);
                                kfree(edid_d);
index 19eef3a090232854860ad993365993dc7e5f68f6..442e85328341d63847e85e56a7910547b32b9a28 100644 (file)
@@ -210,11 +210,8 @@ int nvidia_probe_i2c_connector(struct fb_info *info, int conn, u8 **out_edid)
                /* try to get from firmware */
                const u8 *e = fb_firmware_edid(info->device);
 
-               if (e != NULL) {
-                       edid = kmalloc(EDID_LENGTH, GFP_KERNEL);
-                       if (edid)
-                               memcpy(edid, e, EDID_LENGTH);
-               }
+               if (e != NULL)
+                       edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL);
        }
 
        *out_edid = edid;
index d9af88c2b580ec9b0cc5923151d506a4dc9ed0f0..181875fe35c662899e5964d52da76d7ca6a483ce 100644 (file)
@@ -72,10 +72,9 @@ int nvidia_probe_of_connector(struct fb_info *info, int conn, u8 **out_edid)
                }
        }
        if (pedid) {
-               *out_edid = kmalloc(EDID_LENGTH, GFP_KERNEL);
+               *out_edid = kmemdup(pedid, EDID_LENGTH, GFP_KERNEL);
                if (*out_edid == NULL)
                        return -1;
-               memcpy(*out_edid, pedid, EDID_LENGTH);
                printk(KERN_DEBUG "nvidiafb: Found OF EDID for head %d\n", conn);
                return 0;
        }
index 3f94223b7f0ca86c4b76a01553c6b89240c388e9..cef5bf591cdf26413daa85d74c20d1b197b2c8f0 100644 (file)
@@ -227,11 +227,8 @@ int savagefb_probe_i2c_connector(struct fb_info *info, u8 **out_edid)
                /* try to get from firmware */
                const u8 *e = fb_firmware_edid(info->device);
 
-               if (e) {
-                       edid = kmalloc(EDID_LENGTH, GFP_KERNEL);
-                       if (edid)
-                               memcpy(edid, e, EDID_LENGTH);
-               }
+               if (e)
+                       edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL);
        }
 
        *out_edid = edid;