X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=drivers%2Fvideo%2Fnvidia%2Fnv_i2c.c;h=b8588973e400936eec3f3dccd2c3400affcf298b;hb=44a5085162f3d3231b359784319a207032e09523;hp=ace484fa61ce09fb00512d54d5e7eee2bcfc6a3d;hpb=094bb659f53b6d90aab6067268d6d14f1f352d30;p=safe%2Fjmp%2Flinux-2.6 diff --git a/drivers/video/nvidia/nv_i2c.c b/drivers/video/nvidia/nv_i2c.c index ace484f..b858897 100644 --- a/drivers/video/nvidia/nv_i2c.c +++ b/drivers/video/nvidia/nv_i2c.c @@ -10,10 +10,8 @@ * for more details. */ -#include #include #include -#include #include #include #include @@ -46,7 +44,7 @@ static void nvidia_gpio_setscl(void *data, int state) static void nvidia_gpio_setsda(void *data, int state) { - struct nvidia_i2c_chan *chan = (struct nvidia_i2c_chan *)data; + struct nvidia_i2c_chan *chan = data; struct nvidia_par *par = chan->par; u32 val; @@ -64,7 +62,7 @@ static void nvidia_gpio_setsda(void *data, int state) static int nvidia_gpio_getscl(void *data) { - struct nvidia_i2c_chan *chan = (struct nvidia_i2c_chan *)data; + struct nvidia_i2c_chan *chan = data; struct nvidia_par *par = chan->par; u32 val = 0; @@ -79,7 +77,7 @@ static int nvidia_gpio_getscl(void *data) static int nvidia_gpio_getsda(void *data) { - struct nvidia_i2c_chan *chan = (struct nvidia_i2c_chan *)data; + struct nvidia_i2c_chan *chan = data; struct nvidia_par *par = chan->par; u32 val = 0; @@ -136,27 +134,27 @@ void nvidia_create_i2c_busses(struct nvidia_par *par) par->chan[2].par = par; par->chan[0].ddc_base = 0x3e; - nvidia_setup_i2c_bus(&par->chan[0], "BUS1"); + nvidia_setup_i2c_bus(&par->chan[0], "nvidia #0"); par->chan[1].ddc_base = 0x36; - nvidia_setup_i2c_bus(&par->chan[1], "BUS2"); + nvidia_setup_i2c_bus(&par->chan[1], "nvidia #1"); par->chan[2].ddc_base = 0x50; - nvidia_setup_i2c_bus(&par->chan[2], "BUS3"); + nvidia_setup_i2c_bus(&par->chan[2], "nvidia #2"); } 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; } @@ -209,14 +207,13 @@ int nvidia_probe_i2c_connector(struct fb_info *info, int conn, u8 **out_edid) if (!edid && conn == 1) { /* try to get from firmware */ - edid = kmalloc(EDID_LENGTH, GFP_KERNEL); - if (edid) - memcpy(edid, fb_firmware_edid(info->device), - EDID_LENGTH); + const u8 *e = fb_firmware_edid(info->device); + + if (e != NULL) + edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL); } - if (out_edid) - *out_edid = edid; + *out_edid = edid; return (edid) ? 0 : 1; }