fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / video / nvidia / nv_i2c.c
index bd9eca0..8454adf 100644 (file)
@@ -10,7 +10,6 @@
  * for more details.
  */
 
-#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/sched.h>
@@ -148,15 +147,15 @@ void nvidia_create_i2c_busses(struct nvidia_par *par)
 void nvidia_delete_i2c_busses(struct nvidia_par *par)
 {
        if (par->chan[0].par)
-               i2c_bit_del_bus(&par->chan[0].adapter);
+               i2c_del_adapter(&par->chan[0].adapter);
        par->chan[0].par = NULL;
 
        if (par->chan[1].par)
-               i2c_bit_del_bus(&par->chan[1].adapter);
+               i2c_del_adapter(&par->chan[1].adapter);
        par->chan[1].par = NULL;
 
        if (par->chan[2].par)
-               i2c_bit_del_bus(&par->chan[2].adapter);
+               i2c_del_adapter(&par->chan[2].adapter);
        par->chan[2].par = NULL;
 
 }
@@ -211,15 +210,11 @@ 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);
        }
 
-       if (out_edid)
-               *out_edid = edid;
+       *out_edid = edid;
 
        return (edid) ? 0 : 1;
 }