int i810_probe_i2c_connector(struct fb_info *info, u8 **out_edid, int conn) { struct i810fb_par *par = info->par; u8 *edid = NULL; DPRINTK("i810-i2c: Probe DDC%i Bus\n", conn+1); if (conn < par->ddc_num) { edid = fb_ddc_read(&par->chan[conn].adapter); } else { const u8 *e = fb_firmware_edid(info->device); if (e != NULL) { DPRINTK("i810-i2c: Getting EDID from BIOS\n"); edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL); } } *out_edid = edid; return (edid) ? 0 : 1; }
int savagefb_probe_i2c_connector(struct fb_info *info, u8 **out_edid) { struct savagefb_par *par = info->par; u8 *edid; if (par->chan.par) edid = fb_ddc_read(&par->chan.adapter); else edid = NULL; if (!edid) { /* try to get from firmware */ const u8 *e = fb_firmware_edid(info->device); if (e) edid = kmemdup(e, EDID_LENGTH, GFP_KERNEL); } *out_edid = edid; return (edid) ? 0 : 1; }