Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}